지난 포스트에서는 컴파일러의 필요성에 대하여 알아보았습니다. 이번 포스트에서는 번역기의 종류의 큰 틀을 설명하고 후에 세세한 설명과 예를 통해 풀어나갈 예정입니다.

 

번역기는 하나의 프로그래밍 언어로 작성된 프로그램을 그와 동등한 의미를 가진 다른 프로그래밍 언어로 된 프로그램으로 변환하는 프로그램입니다. 이때 입력되는 프로그램을 소스 프로그램(Source Program)이라 하고 소스 프로그램을 기술하는 언어를 소스 언어(Source Language)라고 부릅니다.

또한 출력되는 프로그램을 목적 프로그램(Object Program)이라 하고, 목적 프로그램이라 하고, 목적 프로그램을 기술하는 언어를 목적 언어(Object Language, Target Language)라 합니다.

 


 

번역기의 종류는 아래의 그림과 같이 어셈블러, 컴파일러, 프리프로세서(Preprocessor), 인터프리터(Interpretor)등이 있는데, 이 가운데 가장 대표적인 번역기는 바로 컴파일러입니다.

 

 

 

그림에서 보듯이 어셈블러는 어셈블리어로 작성된 소스 프로그램을 그에 대응하는 기계어로 번역된 목적 프로그램으로 변환해주는 번역기입니다. 그리고 컴파일러는 고급 언어인 C나 코볼로 작성된 소스 프로그램을 그에 대응하는 어셈블리어나 기계어로 번역된 목적 프로그램으로 변환해주는 번역기입니다.

이때 소스 언어가 C이면 C 컴파일러라 하고,소스 언어가 코볼이면 코볼 컴파일러라고 합니다. 마찬가지로 프리프로세서는 프로그래밍 언어에 유용한 기능을 추가하여 언어를 확장하는 역할을 하는 것으로, 소스 프로그램과 목적 프로그램이 모두 고급 언어인 번역기를 말합니다. 한편 인터프리터는 다른 번역기와 달리 문장 단위로 번역과 동시에 실행한 후 그 결과를 출력하는 번역기입니다.

 


 

※ 오늘은 '번역기의 종류'에 대하여 알아보았습니다.

이 포스트는 학부에서 제공하는 기본적인 강의와 책들을 토대로 알기 쉽게 내용을 작성하였습니다. 하지만 계속 더 유익하고 논문 및 전문 서적을 읽어가며 더 추가돼야 할 내용이 있으면 컴파일러 포스트와 콘텐츠들을 계속 고도화하는 방식으로 진행하려고 합니다.

#컴퓨터공학 #컴파일러 #컴파일러의필요성 #번역기의종류

'컴퓨터공학 > 컴파일러' 카테고리의 다른 글

[컴파일러] 프리 프로세서  (0) 2019.09.29
[컴파일러] 어셈블러  (0) 2019.09.29
[컴파일러] 컴파일러는 왜 필요할까?  (0) 2019.09.27

+ Recent posts