컴파일러(Compiler)란?
프로그래밍 언어로 작성된 소스 코드(.java)를 컴퓨터가 이해할 수 있는 기계어(.class)로 변환하는 소프트웨어 도구 를 의미한다.
컴파일 주요기능
- 사람이 작성한 code를(high-level language)를 기계어(low-level language)로 바꿔주는 과정
- Verifying syntax: 문법 검사(문장 끝에 세미콜론(;)을 붙였냐 하는걸 검사하는듯..?)
- Semantics of source code: 변수의 정의와 사용, 함수 호출 등을 분석
- Code optimizations: 최적화, 시간이 많이 소요되는 작업
- Generate machine code
Compilation vs Interpretion
interpretation
- 파이썬, 자바스크립트
- 실시간으로 에러를 알 수 있음
- compilation보다 느림
compilation
출처
https://devparker.tistory.com/110