본문/내용
1. 컴파일러의 논리적 구조 6단계를 자세히 설명하세요.
컴파일러는 고급 프로그래밍 언어로 작성된 소스 코드를 기계가 이해할 수 있는 저급 언어로 변환하는 프로그램이다. 이 과정은 단순한 번역이 아니라, 여러 단계의 분석과 변환을 거쳐 최적화된 목적 코드를 생성하는 복합적인 절차로 이루어진다. 컴파일러의 구조는 일반적으로 다음의 여섯 단계로 나뉜다.
1) 어휘 분석 (Lexical Analysis)
가장 먼저 수행되는 단계로, 소스 코드의 문자 흐름을 의미 있는 단위인 토큰으로 분리한다. 이 과정에서는 키워드, 식별자, 연산자, 구분자 등을 인식하며, 불필요한 공백이나 주석은 제거된다. 어휘 분석기는 종종 정규 표현과 유한 오토마타를 활용하여 토큰을 식별한다. 이 단계의 결과는 토큰 스트림이며, 이후 구문 분석기로 전달된다.1)1) 어휘 분석. 컴퓨터인터넷IT용어대사전 , 전산용어사전편찬위원회, 일진사, 2xxx
2) 구문 분석 (Syntax Analysis)
토큰 스트림을 기반으로 문법 구조를 분석하는 단계이다. 주어진 문법 규칙에 따라 파싱 트리를 생성하며, 소스 코드가 문법적으로 올바른지 판단한다. 이때 LL, LR 등의 파싱 기법이 사용되며, 문법 오류…