Today I Learned

[TIL] 컴파일러와 인터프리터

mhko411 2021. 11. 23. 00:02
728x90

번역기

컴파일러와 인터프리터는 고급 언어로 작성된 프로그램을 실행이 가능한 프로그램으로 번역하는 번역기이다. 즉 고급 언어로 작성된 프로그램이 CPU, 메모리 상에서 실행되기 위해서는 컴퓨터가 알 수 있는 언어로 번역하는 과정이 필요한데 이때 사용할 수 있는 것이 컴파일러와 인터프리터이다.

어떻게 번역하는지에 따라 컴파일러와 인터프리터를 구분한다.


컴파일러

  • 컴파일러는 고급 언어로 작성된 프로그램 전체를 목적 프로그램으로 번역하고 링킹 작업을 통해 컴퓨터에서 실행 가능한 실행 프로그램을 생성한다.
  • 번역하는 과정을 거쳐야하기 때문에 시간이 오래 걸리지만 한 번 번역하면 다시 번역하지 않아도되기 때문에 실행 속도가 빠르다.
  • 대표적으로 C, JAVA는 컴파일러를 사용한다.

 

인터프리터

  • 인터프리터는 고급 언어로 작성된 프로그램을 한 줄 단위로 받아들여 번역하고, 동시에 즉시 실행시키는 프로그램이다.
  • 프로그램이 직접 실행되고 목적 프로그램을 생성하지 않는다.
  • 번역 속도는 빠르지만 프로그램을 실행할 때마다 번역해야하기 때문에 실행 속도는 느리다.
  • 대표적으로 Python, Javascript, BASIC, LISP 등이 있다.