0
C 언어 서브셋으로 셀프 컴파일링 컴파일러 만들기 — 64파트 실습 여정
general
요약
기사 전체 정리
C 언어 서브셋으로 셀프 컴파일링 컴파일러 만들기 — 64파트 실습 여정
Warren Toomey가 C 언어의 서브셋을 위한 셀프 컴파일링 컴파일러를 직접 만들어가는 과정을 64개 파트로 정리한 GitHub 저장소임. 이론보다는 실전 중심이라 따라 만들면서 배울 수 있는 구조
렉서(lexical scanning) → 파서(parsing) → 연산자 우선순위 → 실제 컴파일러 → 변수, 제어문, 함수, 타입, 포인터, 배열, 구조체/유니온/열거형, 전처리기까지 차근차근 진행됨. Part 60에서 **트리플 테스트(자기 자신을 컴파일하는 컴파일러가 다시 자기를 컴파일)**를 통과함
특히 인상적인 건 Part 14에서 ARM 어셈블리 코드 생성, Part 63에서 QBE 백엔드, Part 64에서 6809 CPU 백엔드까지 다룬다는 점. 단순 토이 프로젝트가 아니라 멀티 아키텍처까지 확장함
Nils M Holm의 SubC 컴파일러에서 코드와 아이디어를 빌려왔다고 밝히고 있고, 소스 코드는 GPL3, 문서는 CC BY-NC-SA 4.0 라이선스
저자는 이 프로젝트를 마치고 현재 alic이라는 새 언어를 처음부터 새로 만들고 있다고 함
팁
> 컴파일러에 관심 있지만 드래곤 북이 너무 무겁게 느껴졌다면, 이 저장소가 훨씬 실용적인 진입점이 될 수 있음. 64개 파트를 다 따라가면 셀프 컴파일링까지 도달함.
댓글
댓글
댓글을 불러오는 중...