컴파일
IT위키
더 많은 작업
Compile
- 사용자가 작성한 소스 프로그램을 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정
- 컴파일을 하면 기계어 코드로 변환된 목적 프로그램이 생성된다.
- 원시 언어로 된 프로그램으로부터 그와 동등한 일을 하는 목적 언어 프로그램을 생성하는 작업
- 프리 프로세싱, 매크로 처리, 어셈블 등 모든 종류의 언어처리 작업을 총칭
- 고수준 언어로 작성된 원시 프로그램을 어셈블리 언어나 기계어 등의 저수준 언어로 된 목적 프로그램으로 번역
원시 프로그램은 다음 단계를 거쳐 목적 프로그램이 된다. 넓은 의미의 컴파일에는 맨 앞의 전처리도 들어간다.
- 전처리(선행처리) : 매크로 확장, 헤더 파일 포함, 조건부 컴파일 → 전처리기
- 어휘 분석 : 원시 프로그램을 하나의 긴 문자열로 보고 문자 단위로 훑어(스캐닝) 문법적으로 의미 있는 최소 단위인 토큰으로 나눈다 → 어휘 분석
- 구문 분석 : 토큰 열이 문법에 맞는지 검사해 파스 트리를 만든다
- 의미 분석 : 자료형 검사, 선언 여부 확인
- 중간 코드 생성 → 코드 최적화 → 목적 코드 생성
문자를 토큰으로 나누는 일은 구문 분석이 아니라 어휘 분석이 한다.