구성
프론트엔드(front end)
- 프로그램 텍스트를 해석해서 구문과 프로그래밍 언어 준수 여부 확인, 컴파일러의 중간 표현으로 변환하는 역할 수행
- 단계 : 어휘 분석(lexical analysis) -> 스캐닝(scanning)
- 문맥상 잘못된 토큰이 발견되면 컴파일러는 에러를 보고
(중간 표현(intermediate representation))
- 컴파일러가 입력 받은 하이레벨의 소스 코드를 검사하고 로우레벨로 변환 시키기 위해 이용하는 중간 형태의 표현
최적화기(optimizer)
- 원래 의미를 유지시키면서 프로그램 향상
- 예) 반복문의 재배치, 잉여 제거(제거 가능한 코드를 찾아내서 제거) 등
백엔드(back end) 또는 코드 생성기(code generator)
- 해당 플랫폼에 맞는 바이너리 생성(컴파일 과정에서 생성된 중간 단계의 코드로부터 특정 대상 코드 생성)
- (프로그램 가독성에 직접 영향을 미치는 최적화 작업도 함께 이뤄짐)
- 특정 플랫폼에 대한 최적화 수행을 위한 충분한 정보를 가지도록 함
'dev, tech' 카테고리의 다른 글
헤더 파일 찾는 알고리즘 (0) | 2010.11.08 |
---|---|
volatile 키워드 (0) | 2010.10.01 |
예약어 FAR (0) | 2009.12.18 |
자료형 최대값, 최소값 (0) | 2009.12.17 |
static을 이해하자 (0) | 2009.12.15 |
댓글