Post-IT
컴파일러 Compiler 본문
컴파일러는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 말한다.
다음은 컴파일러에 대한 정의이다. 쉽게 설명하자면 우리가 아는 C언어와 같은 High-Level Language를 실행 프로그램으로 만들기 위해 어셈블리언어, 기계어와 같은 Low-Level Language로 바꾸는 프로그램을 말한다.
컴파일러의 동작 방식을 살펴보면 다음과 같다.

1. 어휘 분석 : Lexical Analyzer
어휘 분석은 프로그래밍언어를 처리하는 최초의 단계로 lexer, Tokenizer, Scanner 라고 불린다. 어휘 분석 단계에서는 문장을 토큰 단위로 쪼개는 일을 한다.

token : 문법적으로 의미를 갖는 최소 단위
2. 구문 분석 : Syntax Analyzer
구문 분석의 일련의 과정을 파싱(Parsing)이라고도 부르며 전달 받은 토큰 스트림로 파스트리(Parse tree)를 생성하는 과정이다.

3. 중간 코드 : Intermediate Code Generator
중간코드는 구문 분석 단계에서 만들어진 구문트리를 이용하여, 한 문법 규칙이 감출될 때마다 구문 지시적 번역으로 생성된다. 즉, 문법적 오류가 없는지 검사를 진행한다.
4. 코드 최적화 : Code Optimizer
코드 최적화 단계에서는 비효율적인 code를 찾아서 효율적인 코드로 바꾸어 주는 기능을 한다. 다만 기존의 코드 의미는 변경되지 않는다.
5. 목적코드 생성 : Target Code Generator
중간 코드로부터 machine instruction을 생성한다.
'컴파일러' 카테고리의 다른 글
| 컴파일러의 작동 원리 (1) | 2025.06.28 | 
|---|---|
| 문법 : Grammer (1) | 2022.09.19 | 
| 형식 언어 : Formal Language (0) | 2022.09.19 | 
 
                  