프로그래밍 언어론 · 3강

어휘 분석과 구문 분석

컴파일러가 소스를 읽는 앞 단계를 봅니다. 글자를 토큰으로 끊는 어휘 분석과, 토큰으로 파스 트리를 세우는 구문 분석입니다. 과정을 한 걸음씩 그림으로 따라가며 9편으로 나눴습니다.

  1. 1코드 읽기를 왜 둘로 나눌까?어휘 분석기와 파서, 나누는 이유
  2. 2글자는 어떻게 낱말이 될까?어휘 단위와 토큰, 패턴 매칭
  3. 3어디서 끊을지 어떻게 알까?상태 다이어그램, 문자 클래스, 예약어
  4. 4트리는 어느 쪽부터 세울까?파싱 문제, 하향식과 상향식
  5. 5규칙을 그대로 코드로 옮기면?재귀 하강 파싱
  6. 6옮길 수 없는 문법도 있을까?LL 문법, 좌측 재귀, 쌍별 서로소
  7. 7토큰에서 거꾸로 올라가면?상향식 파싱, 시프트와 리듀스, 핸들
  8. 8넣을지 줄일지 어떻게 정할까?LR 파서와 파싱 테이블
  9. 9하향식과 상향식, 어느 쪽을 쓸까?LR의 장점, 파서 생성 도구, 정리

내용과 예제는 Robert W. Sebesta의 《Concepts of Programming Languages》 12판 4장을 따랐습니다.