컴파일러와 인터프리터

  • 컴파일러(Compiler) : 번역기
    - 고급언어를 바로 기계어로 변환
    - 실행속도가 빠름
    - 전체 소스코드를 보고 명령어를 수집, 재구성

 

  • 인터프리터(Interpreter) : 통역기
    - 고급언어를 기계어로 변환하는 과정 없이 한줄씩 해석하여 바로 명령어를 실행하는 것(번역 보다는 실행에 목적)
    - 번역 속도는 빠르지만 프로그램 실행 시 매번 번역해야하므로 실행속도는 느림
    - CPU의 사용시간 낭비가 큼
    - 소스코드의 각 행을 연속적으로 분석하며 실행





자바의 번역과정(총 6단계)

 

   

 

1) 형태소 분석(기호를 모두 분해)

2) 구문 분석 (순서가 올바른지 분석)

3) 의미 분석 (어떤 연산인지 파악)

4) 중간코드 생성(=바이트 코드, 슈도 코드)

5) 최적화 (CPU에 종속)

6) 물리코드 생성 (기계어로 번역)

 

+ Recent posts