증분 컴파일러 과정: OCaml을 사용한 Tiger에서 x86-64 어셈블리까지

2025-04-05

고급 언어인 Tiger를 x86-64 기계 코드로 컴파일하는 컴파일러를 구축하는 것을 목표로 하는 매우 실용적인 컴파일러 과정입니다. 이 과정에서는 OCaml을 사용하며, 테스트 주도 개발, 버전 관리, 코드 재사용을 중시합니다. 언어와 컴파일러 기능을 단계적으로 확장하는 반복적인 증분 개발 방식을 채택하며, 확장성을 높이기 위해 tagless-final 스타일을 최대한 활용합니다. 이 과정에서는 구문 분석, 형식 검사, 최적화, 어셈블리 생성 등 컴파일러 과정의 표준적인 주제를 다루지만, 비전통적인 방식으로 접근합니다.

개발 증분 개발