[Language] 컴파일러와 인터프리터란 무엇인가?

컴파일러와 인터프리터는 고급언어로 작성된 원시 프로그램(Source Program)을 목적 프로그램(Object Program)으로 번역하는 번역 프로그램이며, 프로그램 번역 방식에 따라 구분됩니다.

 

※ 원시프로그램

고급언어나 어셈블리어로 작성된 프로그램

 

컴파일러 

1. 컴파일러는 고급 언어로 작성된 프로그램 전체를 목적 프로그램으로 번역한 후, 링킹 작업을 통해 컴퓨터에서 실행 가능한 실행 프로그램을 생성합니다.

2. 번역 실행 과정을 거쳐야 하기 때문에 번역 과정이 번거롭고 번역 시간이 오래 걸리지만, 한번 번역한 후에는 다시 번역하지 않으므로 실행 속도가 빠릅니다.

3. 컴파일러를 사용하는 언어에는 C언어 Java 등이있습니다.

 

인터프리터 

1. 인터프리터는 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고, 번역과 동시에 프로그램을 한 줄 단위로 즉시 실행시키는 프로그램입니다.

2. 프로그램이 직접 실행되므로 목적 프로그램은 생성되지 않습니다.

3. 줄 단위로 번역, 실행되기 떄문에 시분할 시스템에 유용하며 원시 프로그램의 변화에 대한 반응이 빠릅니다.

4. 번역 속도는 빠르지만 프로그램 실행 시 매번 번역해야 하므로 실행 속도는 느립니다.

5. 인터프리터를 사용하는 언어에는 Python, BASIC, SNOBOL, LISP, APL등이 있습니다.

6. CPU의 사용시간의 낭비가 큽니다.

 

컴파일러와 인터프리터의 차이점

 구분  컴파일러   인터프리터 
 번역단위   전체   행(줄) 
 목적 프로그램   생성함   생성하지 않음 
실행속도    빠름   느림 
 번역속도   느림   빠름 
 관련언어   C, JAVA   Python, BASIC, LISP, APL, SNOBOL 



'Language' 카테고리의 다른 글

[Language] 프로그래밍 언어란 무엇인가?  (0) 2019.01.30

댓글

Designed by JB FACTORY