인터프리터(interpreter)는 컴파일러처럼 고급 언어를 기계어로 번역해주는 역할을 수행한다. 단, 컴파일러는 원시 코드 전체를 읽은 다음 이를 기계어로 번역해주는 데 비하여 인터프리터는 원시 코드를 한 줄씩 읽어 들여 바로 실행한다. 프로그램 언어 베이직(BASIC)이 인터프리터를 사용하는 대표적인 프로그램이다. 따라서 인터프리터는 컴파일러에 비해 번역 속도가 느릴 수밖에 없지만, 프로그램을 작성할 때는 보다 융통성을 가질 수 있다. [표 7.3]은 컴파일러 방식과 인터프리터 방식을 비교한 표이다.

컴파일러는 한 번 컴파일한 후에는 수정이 없다면 매번 컴파일 할 필요 없이 빠른 시간 내에 프로그램 실행이 가능하다. 그러나 프로그램의 일부분이 수정되더라도 전체를 다시 컴파일해야 하는 번거로움이 있다. 이와는 다르게 인터프리터는 실행할 때마다 매번 기계어로 바꾸는 과정을 다시 수행해야 하므로 실행 속도가 느리다. 그러나 인터프리터 방식은 번역 과정이 비교적 간단하고 대화형 언어의 편리한 장점이 있다.

[ 표 7.3 ]