본문/내용
1. 이중 패스 어셈블러 개요
이중 패스 어셈블러는 소스 코드 또는 고급 언어로 작성된 프로그램을 기계어로 번역하는 과정에서 필수적인 컴파일러의 한 구성 요소이다. 이 방법은 두 단계의 패스로 구성되어 있는데, 첫 번째 패스(prass 1)는 소스 코드를 읽어들여서 중간 표현(Intermediate Representation, IR)을 생성하고, 두 번째 패스(prass 2)는 이 IR을 바탕으로 최종 목적 코드(머신 코드)를 생성하는 구조를 갖추고 있다. 이러한 이중 패스 구조는 복잡한 언어의 문법과 다양한 최적화 작업을 효과적으로 수행할 수 있도록 설계되었으며, 특히 복잡한 오류 검출과 효율적인 코드 생성에 유리하다. 이중 패스 어셈블러는 컴파일 과정에서 상수, 변수, 함수 호출, 제어 구조(조건문, 반복문 등)를 분석하며, 이 과정에서 발생하는 중간 표현은 높은 수준의 추상화된 구조를 갖추고 있기 때문에 이후 최적화 과정이 용이하다. 예를 들어, 최초의 패스에서는 소스 코드에서 명령과 변수들을 분석하여 기호 테이블(Symbol Table)과 중간 코드를 생성하는데, 이때 주석, 불필요한 공백, 형식적 오류 등을 제거한다. 두 번째 패스는 이 중간 표현을 분석하여 기계어 명…