학교 과제로 오늘 제출한 내용을 올린다.
• 번역 기법과 인터프리터 기법
인터프리터 기법과 번역 기법은 고급 언어로 작성된 프로그램을 실제 기계에서 작동시키게 만드는 방법들이다.
번역 기법은 말 그대로 '번역기'를 사용하여 고급 프로그래밍 언어로 작성된 프로그램을 기계어로 변환해 실행시키는 방법이다.
인터프리터 기법은 고급 언어를 기계어로 사용하는 컴퓨터를 정의헤 시뮬레이션하여 구성시키는 방법을 말한다.
• 비교
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 등
|
'잡담' 카테고리의 다른 글
디자이너's 게임 캐릭터 디자인 & 모바일 게임 컨셉아트 디자인 (0) | 2020.08.18 |
---|---|
BIC Make Play Jam 2020 게임잼 기념품 상자 언박싱 (0) | 2020.08.14 |
구글의 Go에 대하여. (0) | 2020.06.26 |
지리산 산청 덕산 버스정류장 시간표. 운행시간 (1) | 2020.05.20 |
창원 상남동 도쿄 스테이크 (0) | 2020.05.12 |
댓글