본문/내용
1. 컴파일러 논리적 구조 6단계를 간단히 설명하시오(10점)
컴파일러는 소스 프로그램을 기계어로 변환하는 중요한 소프트웨어이다. 컴파일러는 여러 단계로 구성되어 있으며, 이 과정은 일반적으로 여섯 가지 단계로 나누어 볼 수 있다. 각 단계는 소스 코드의 입력을 받아 적절한 처리를 거쳐 최종적으로 실행 가능한 기계어 코드를 생성하는 역할을 한다. 첫 번째 단계는 렉싱이다. 이 단계에서는 소스 코드에서의 문자 스트림을 읽어 들여 어휘 분석의 기본 단위인 토큰으로 변환한다. 토큰은 프로그램의 의미를 구성하는 기본적인 단위로, 키워드, 변수 이름, 숫자 상수 등을 포함한다. 이 과정에서 주석이나 공백과 같은 불필요한 요소들은 제거되며, 이로써 후속 단계에서의 처리 효율을 높힌다. 두 번째 단계는 구문 분석이다. 이 단계에서는 렉싱 단계에서 생성된 토큰을 가지고 소스 코드의 문법 구조를 분석한다. 이 과정은 주로 문법 규칙을 기반으로 하며, 파서라는 모듈이 각 토큰의 적절한 관계를 검사하여 구문 트리나 추상 구문 트리(Abstract Syntax Tree, AST)를 생성한다. 이 구문 트리는 프로그램의 구조와 의미를 명확하게 표현하며, 이후의 단계를 …