인터프리터는 소스 코드 또는 바이트 코드를 실행하는 프로그램입니다: 그러나 인터프리터는 속도가 중요하지 않은 영역(예: 디버깅 및 교육)에서 유용성을 가지며 전체 인터프리터를 다른 ISA에서 사용할 수 있습니다. 이 경우 하드웨어 아키텍처 간에 작업할 때 컴파일러보다 이식성이 더 높습니다. 여러 가지 유형의 인터프리터가 있습니다: 구문 지향 인터프리터(예: 추상 구문 트리(AST) 인터프리터), 바이트코드 인터프리터 및 스레드 인터프리터(동시 처리 스레드와 혼동되지 않음), Just-In-Time(일종의 인터프리터) 하이브리드 인터프리터/컴파일러) 및 기타 몇 가지 인터프리터를 만드는 방법에 대한 지침은 웹에서 찾을 수 있습니다. [i] 인터프리터를 사용하는 프로그래밍 언어의 몇 가지 예는 파이썬, 루비, 펄 및 PHP입니다. 인터프리터 프로세서에서 코드를 실행하는 또 다른 방법은 컴파일러와 동일하지 않은 인터프리터를 사용하는 것입니다. 인터프리터는 컴파일러와 같은 코드를 번역하지만 코드를 읽고 해당 코드에서 즉시 실행되므로 처음에는 컴파일러보다 빠릅니다. 따라서 인터프리터는 한 번에 하나의 코드에서 실행할 수 있으므로 소프트웨어 개발 도구에서 디버깅 도구로 자주 사용됩니다. 컴파일러는 코드를 한 번에 번역하고 프로세서는 컴파일러가 생성한 컴퓨터 언어를 실행합니다. 컴파일 후 코드를 변경하는 경우 변경된 코드를 컴파일하고 컴파일된 코드에 추가해야 합니다(또는 전체 프로그램을 다시 컴파일해야 할 수도 있음). 그러나 인터프리터는 전체 프로그램의 컴파일 단계를 건너뛰고 시작하지만 완전히 컴파일된 동일한 프로그램보다 실행 속도가 훨씬 느립니다. 예를 들어 Java 컴파일러는 JVM(Java 가상 머신)에서 실행 가능한 Java 코드를 Java Bytecode로 변환합니다.

다른 예로는 JavaScript 코드를 기계 코드 또는 C, C ++, Objective-C와 같은 프로그래밍 언어로 작성된 코드를 변환 할 수있는 GCC로 변환하는 Google의 JavaScript 엔진인 V8이 있습니다. 파이썬: 고급 디자인 패턴의 일부인 이 비디오 인터프리터 예제에서 정우류와 함께 심도 있는 토론을 진행하세요. 컴파일러와 인터프리터는 프로그래밍 또는 스크립팅 언어로 작성된 프로그램을 실행하는 두 가지 방법입니다. 인터프리터와 컴파일러는 구조가 매우 유사합니다. 주요 차이점은 인터프리터가 소스 프로그래밍 언어로 직접 명령을 실행하는 반면 컴파일러는 이러한 명령을 효율적인 기계 코드로 변환한다는 것입니다. 인터프리터는 각 상위 수준의 프로그램 문을 기계 코드에 포함하는 컴퓨터 프로그램입니다. 여기에는 소스 코드, 미리 컴파일된 코드 및 스크립트가 포함됩니다. 컴파일러와 인터프리터는 모두 더 높은 수준의 프로그래밍 언어를 기계 코드로 변환하는 동일한 작업을 수행합니다.

Read all articles in Uncategorized