- 고급 언어로 작성된 프로그램이 실행되도록 처리하는 방법
- 컴파일 기법, 해석 기법, 하이브리드 기법
- 컴파일 기법
- 고급 언어로 작성된 프로그램을 컴퓨터가 바로 실행할 수 있는 프로그램으로 변환하는 방식
- 컴파일러(Compiler) : 컴파일 하는 프로그램
- 번역이 완료되면 빠르게 프로그램을 실행시킬 수 있는 장점이 있다.
- 원시 프로그램
- -> 컴파일러(컴파일 단계 : 어휘 분석 -> 구문 분석 -> 중간 코드 생성 -> 최적화 -> 코드 생성)
- 어휘 분석 단계 : 원시 프로그램을 토큰 단위로 자르고, 토큰과 관련된 관련 정보를 구문 분석 단계로 전달
- 구문 분석 단계 : 어휘 분석 단계에서 전달받은 토큰들이 문법적으로 옳은지를 검사하고, 오류가 없으면 파스 트리라 불리는 구조를 생성
- 파스 트리
- 중간 코드 생성 단계
- 기계어는 아니지만 어느 기계에도 의존적이지 않으면서도 기계어에 가까운 중간 코드로 된 프로그램을 생성
- 문법적인 오류가 아닌 의미적인 오류를 검사
- 최적화 단계 : 중간 코드에서 불필요한 코드를 제거하거나 더 효율적인 코드로 개선하여 중간 코드의 크기를 줄이고 실행 속도를 빠르게 한다.
- 코드 생성 단계 : 최적화된 중간 코드로부터 해당 컴퓨터가 인식할 수 있는 목적 프로그램을 생성한다.
- 어휘 분석 단계 : 원시 프로그램을 토큰 단위로 자르고, 토큰과 관련된 관련 정보를 구문 분석 단계로 전달
- -> 목적 프로그램 -> 컴퓨터 + 입력 -> 결과
- 해석 기법
- 고급 언어로 작성된 프로그램을 바로 실행
- 인터프리터(Interpreter) : 해석하는 프로그램
- 고급 언어를 자신의 기계어로 취급하는 컴퓨터를 시뮬레이션한 것
- Scheme Interpreter
- 원시 프로그램 + 입력 -> 인터프리터 -> 결과
- 인터프리터(Interpreter) : 해석하는 프로그램
- 고급 언어로 작성된 프로그램을 바로 실행
- 하이브리드 기법
- 컴파일 기법과 해석 기법을 혼합한 형태
- 고급 언어로 작성된 프로그램을 쉽게 해석할 수 있도록 중간 코드 형태로 번역 -> 번역된 중간 코드 형태의 프로그램을 해석하여 실행
- 원시 프로그램 -> 어휘 분석 -> 구문 분석 -> 중간 코드 생성 + 입력 -> 인터프리터 -> 결과
- 예 : Java
- Byte Code라고 하는 중간 코드로 번역
- 운영체제마다 별도로 존재하는 자바 가상 기계(JVM)가 바이트 코드를 실행
- 컴파일 기법과 해석 기법을 혼합한 형태
Program Processing Method
Apr 15, 2019