Post-IT

컴파일러 Compiler 본문

컴파일러

컴파일러 Compiler

생각없는 개발자 2022. 9. 8. 18:20
컴파일러는 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어로 옮기는 언어 번역 프로그램을 말한다.

다음은 컴파일러에 대한 정의이다. 쉽게 설명하자면 우리가 아는 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