Compiler

From WaneDB
Revision as of 11:28, 28 May 2025 by Aeon (talk | contribs)
Compilers- Principles, Techniques, and Tools 2nd Edition (Dragon Book)
Compilers- Principles, Techniques, and Tools 2nd Edition

컴퓨터는 우리가 프로그래밍 언어로 작성한 코드를 직접 이해할 수 없습니다. 이 코드를 컴퓨터가 이해할 수 있는 형태로 바꾸어주는 소프트웨어가 필요한데, 그중 하나가 바로 컴파일러(Compiler) 입니다. 컴파일러는 특정 프로그래밍 언어, 즉 소스 언어(source language)로 작성된 프로그램을 다른 언어인 목표 언어(target language)로 번역하는 역할을 합니다. 목표 언어는 대부분 컴퓨터의 CPU가 직접 실행할 수 있는 기계어이거나, 자바(Java)의 경우처럼 가상 머신이 이해할 수 있는 중간 형태(intermediate form)인 바이트코드(bytecode)와 같은 형태일 수 있습니다.

본 문서에서는 컴파일러가 어떻게 소스 코드를 분석하고 목표 코드로 변환하는지에 대한 전반적인 과정을 Low-Level에서 상세하게 설명합니다. 주요 내용으로는 다음과 같은 주제들을 포함할 예정입니다:

  • 컴파일러의 전체적인 구조 (프론트엔드, 미들엔드, 백엔드)
  • 어휘 분석 (Lexical Analysis): 소스 코드를 토큰(token) 단위로 분해하는 과정
  • 구문 분석 (Syntax Analysis): 토큰 스트림을 바탕으로 프로그램의 문법적 구조를 파악하는 과정
  • (추후 추가 예정)

Compiler 문서는 Aeon이 관리하고 있습니다. 문의사항이 있을 경우 Aeon에게 연락주세요!

Index

주요 참고 자료