본문 바로가기
잡담

번역 기법과 인터프리터 기법 비교, 차이점 13 가지

by PrintedLove 2020. 6. 26.

학교 과제로 오늘 제출한 내용을 올린다.

 

 

번역 기법과 인터프리터 기법

 

  인터프리터 기법과 번역 기법은 고급 언어로 작성된 프로그램을 실제 기계에서 작동시키게 만드는 방법들이다.

 번역 기법은 말 그대로 '번역기'를 사용하여 고급 프로그래밍 언어로 작성된 프로그램을 기계어로 변환해 실행시키는 방법이다.

 인터프리터 기법은 고급 언어를 기계어로 사용하는 컴퓨터를 정의헤 시뮬레이션하여 구성시키는 방법을 말한다.

 

 

비교

 

1. 처리 과정

번역 기법

인터프리터 기법

입력 프로그램의 매 문장을 입력된 순서대로 정확하게 한 번씩 처리한다.

입력 프로그램의 논리적 순서에 따라 문장들을 처리하기 때문에 순환 부분 등은 반복 처리한다.

 

 

2. 실행 방식 

번역 기법

인터프리터 기법

입력 받은 프로그램을 변환해 동일한 목적언어로 된 프로그램을 작성하고, 링킹 작업을 통해 실행한다.

입력받은 프로그램 자체를 번역-실행한다.

 

 

3. 실행 과정

번역 기법

인터프리터 기법

고급 언어 -> 컴파일러 -> 목적모듈 -> 링커-> 로드 모듈 -> 로더 -> 기계어 -> 실행결과

고급 언어 -> 인터프리터 -> 실행결과

 

 

4. 번역 단위

번역 기법

인터프리터 기법

 코드 전체를 통채로 번역한다.

한 줄 단위로 번역한다.

 

 

5. 목적 프로그램

번역 기법

인터프리터 기법

 실행 과정에서 생성한다.

생성하지 않는다.

 

 

6. 메모리 할당

번역 기법

인터프리터 기법

목적 프로그램을 생성할시 할당한다.

사용하지 않는다.

 

 

7. 실행 속도

번역 기법

인터프리터 기법

 번역과 실행과정을 거쳐야 하기 때문에 번역 과정이 번거롭고 상대적으로 느리다.

번역과 동시에 실행시키기 때문에 상대적으로 빠르다.

 

 

8. 전체 실행 속도

번역 기법

인터프리터 기법

 한 번 번역한 후에는 다시 번역할 필요가 없음으로 상대적으로 빠르다.

실행 시 매번 번역해야 하므로 상대적으로 느리다.

 

 

9. 필요 기억장치 용량

번역 기법

인터프리터 기법

 컴파일러는 컴파일 하는 단계별로 주 기억장치 안에 들어 올 수 있기 때문에 상대적으로 작다.

 

인터프리터의 크기는 대개 필요한 기능을 얼마나 많이 갖고 있느냐와 비례한다. 이것들은 프로그램 자체가 상당히 크기 때문에 큰 용량을 필요로 한다.

 

 

 

10. 생성 프로그램 크기

번역 기법

인터프리터 기법

 번역된 프로그램은 큰 기억장치를 필요로 한다.

 

언어 자체가 프로그램이기 때문에 용량이 작다.

 

 

 

11. 수정 및 보완

번역 기법

인터프리터 기법

 전체 컴파일후 문제점을 찾아 수정해야 한다. 한번 컴파일된 프로그램의 수정이 어렵다.

 

런타임에 직접 코드를 구동시키기 때문에 실시간 디버깅 및 코드 수정이 가능하다.

 

 

 

12. 플랫폼 자유도

번역 기법

인터프리터 기법

 컴파일 결과물이 바로 기계어로 전환되기 때문에 OS 및 빌드 환경에 종속적이다.

 

버츄얼 머신이 OS 환경들을 지원해줌으로써 인터프리터는 OS 및 플랫폼에 종속되지 않는다.

 

 

 

13. 언어 종류

번역 기법

인터프리터 기법

 C, C++, JAVA, C#, Fortran, Algol, PL/I, Pascal, Cobol, Ada 등

 

JavaScript, HTML, SQL, python, ruby, Lisp, Snobol 4, APL, Prolog 등

 

 

 

댓글