본문으로 건너뛰기
피드

컴파일러 만들고 싶으면 이 논문 두 편만 읽어라 (2008)

general 약 3분
vote
0
댓글
북마크

컴파일러 교재가 너무 어렵다는 통념을 깨는 2008년 글. Jack Crenshaw의 'Let's Build a Compiler!'와 Nanopass Framework 논문 두 편이면 실제로 동작하는 컴파일러를 만들 수 있다고 추천한다.

  • 1

    대부분의 컴파일러 교재는 범위가 너무 넓어 실제 구현까지 이어지지 않음

  • 2

    추천 1: Crenshaw의 시리즈 — 싱글패스, 파싱과 코드생성 혼합, 기초 최적화

  • 3

    추천 2: Nanopass Framework — 컴파일러 = 단순한 변환의 연쇄, 패스를 수십~수백 개로 쪼개라

  • 4

    드래곤북은 컴파일러 하나 만들어본 다음에 읽어도 됨

  • 컴파일러 교재 대부분은 범위가 너무 넓어서 다 읽어도 실제로 컴파일러를 만들기 어려움
    • 드래곤북 같은 유명 교재도 정규표현식→상태머신 변환, 문법 분류 등 이론이 두껍게 나옴
    • 이런 책들 때문에 "컴파일러는 어렵다"는 미신이 생김
  • 추천 1: Jack Crenshaw의 Let's Build a Compiler! (1988)
    • 터보 파스칼 수준의 싱글패스 컴파일러를 직접 만듦
    • 파싱과 코드 생성을 섞어서 처리하고, 기초 최적화만 적용함
    • 원래 Pascal이지만 C 버전, Forth 버전도 있음
    • 단점: AST 같은 내부 표현이 없음 — Python, Ruby, Lisp, Haskell처럼 트리 다루기 쉬운 언어라면 직접 추가해도 별로 어렵지 않음
  • 추천 2: A Nanopass Framework for Compiler Education (Sarkar, Waddell, Dybvig)
    • 핵심 아이디어: 컴파일러 = 내부 표현에 대한 단순한 변환의 연쇄
    • 변환을 합치지 말고, 수십~수백 개의 패스로 최대한 쪼개라
    • 각 패스의 입출력을 명세하는 프레임워크를 제공함 (Scheme 구현)
  • 컴파일러 한두 개 만들어본 다음에 드래곤북을 읽어도 늦지 않음 — 아예 필요 없을 수도 있음

18년 전 글이지만 '일단 만들어봐라'는 메시지는 여전히 유효하다. 특히 Nanopass 개념은 현대 컴파일러 설계에서도 핵심 패턴이다.

댓글

댓글

댓글을 불러오는 중...

general

폐쇄된 클라이밋닷거브, 공공 데이터 덕분에 클라이밋닷어스로 되살아나다

미국 정부의 기후 정보 사이트 Climate.gov가 예산 삭감으로 내려간 뒤, 전직 NOAA 관련자들이 Climate.us로 핵심 자료를 복원했어. 15년 넘게 쌓인 기후 지도, 교육 자료, 기후 지표 보고서, 삭제된 제5차 국가기후평가까지 되살린 배경에는 미국 정부 데이터가 법적으로 퍼블릭 도메인이라는 점이 있었어. 다만 운영은 기부에 의존하고 있어, 공공 인프라를 민간이 임시로 떠받치는 불안정한 구조도 같이 드러나.

general

AI 시대에도 인간 관리자가 남는 이유는 결국 ‘책임’ 때문임

생성형 AI가 기업 경영의 많은 판단을 도와도, 인간 관리자의 역할이 사라지지는 않는다는 주장이다. 글은 공감, 검증, 실행, 책임이라는 네 가지 영역에서 AI가 아직 인간 관리자를 대체하기 어렵다고 설명한다.

general

서로 1만 달러 주고받으면 매출 1만 달러? 스타트업 매출 놀이를 비꼰 풍자 사이트

LARP는 창업자끼리 같은 금액을 서로 주고받은 것처럼 장부에 기록해 매출을 만든다는 설정의 풍자 사이트다. 실제 제품, 고객, 현금 이동 없이도 연간 반복 매출(ARR)을 부풀릴 수 있다는 식으로, 스타트업의 매출 인정과 상호 거래 관행을 날카롭게 비꼰다.

general

뱅크오브아메리카, 소버린 클라우드 수요 보고 아이오노스에 매수 의견

뱅크오브아메리카가 유럽 웹 호스팅·도메인 기업 아이오노스에 매수 의견과 목표주가 37유로를 제시했다. 핵심 논리는 중소기업 대상 웹 서비스, AI 업셀링, 소버린 클라우드 수요가 맞물리며 2025년부터 2028년까지 매출과 이익이 성장할 수 있다는 것이다.

general

SDT·KT·스패로우까지, 국내 보안·클라우드·양자 업계 단신 모음

SDT는 양자 클라우드 플랫폼 큐레카에 양자내성암호를 적용하고 CUDA-Q 교육 모듈을 3개 국어로 제공하기로 했다. KT, 스패로우, 매스웍스, 아이씨티케이, 오케스트로 클라우드도 각각 메일보안, 앱 보안, 디지털 트윈, 양자보안, 공공 클라우드 전환 관련 소식을 냈다.