컴파일러와 인터프리터
- 컴파일러(Compiler) : 번역기
- 고급언어를 바로 기계어로 변환
- 실행속도가 빠름
- 전체 소스코드를 보고 명령어를 수집, 재구성
- 인터프리터(Interpreter) : 통역기
- 고급언어를 기계어로 변환하는 과정 없이 한줄씩 해석하여 바로 명령어를 실행하는 것(번역 보다는 실행에 목적)
- 번역 속도는 빠르지만 프로그램 실행 시 매번 번역해야하므로 실행속도는 느림
- CPU의 사용시간 낭비가 큼
- 소스코드의 각 행을 연속적으로 분석하며 실행
자바의 번역과정(총 6단계)
1) 형태소 분석(기호를 모두 분해)
2) 구문 분석 (순서가 올바른지 분석)
3) 의미 분석 (어떤 연산인지 파악)
4) 중간코드 생성(=바이트 코드, 슈도 코드)
5) 최적화 (CPU에 종속)
6) 물리코드 생성 (기계어로 번역)
'Study > CS' 카테고리의 다른 글
[CS💻] 동기화, 비동기화 (0) | 2023.06.08 |
---|---|
[CS💻] 키코드, 문자코트, ASCII 코드, 유니코드 (0) | 2023.06.08 |
[CS💻] API, I/O, 함수, WORA (0) | 2023.06.08 |
[CS💻] 통합 개발 환경 IDE(Integrated Development Environment) (0) | 2023.06.08 |
[CS💻]프로그래머 vs 개발자, 플랫폼, CPU, 인터넷 (0) | 2023.06.01 |