목차
제1장 컴파일러 개요
1.1 컴퓨터 시스템과 컴파일러 = 1
1.2 컴파일러 구조 = 11
1.3 컴파일러 설계와 개발 = 28
제2장 어휘분석
2.1 형식 언어 = 31
2.2 토큰 = 56
2.3 심볼 테이블 = 60
2.4 유한 상태 기계의 구현 = 62
제3장 Lex 사용하기
3.1 Lex를 사용하여 어휘 분석기 만들기 = 75
3.2 Lex 실행하기 = 87
제4장 구문 분석
4.1 구문 분석 개념 = 91
4.2 문법과 언어 = 94
4.3 문법의 불명확성 = 112
4.4 푸시다운 기계와 번역기 = 121
제5장 하향식 파싱
5.1 하향식 파싱 개념 = 129
5.2 리커시브 디센트 파싱 = 133
5.3 LL(1) 문법 = 144
5.4 예측 파싱 = 146
5.5 FIRST와 FOLLOW 집합 구하기 = 159
5.6 예측 파싱에서 고려할 사항 = 171
5.7 예측 파싱에서 에러 처리 = 175
제6장 상향식 파싱
6.1 상향식 파싱 개념 = 179
6.2 이동-환원 파싱 알고리즘 = 185
6.3 LR 문법 = 190
제7장 LR 파서
7.1 LR 파싱 개념 = 199
7.2 LR 파싱 테이블 = 202
7.3 LR 파싱 드라이버 =204
7.4 LR 파싱 테이블 만들기 = 213
제8장 파서 생성기 YACC 사용하기
8.1 YACC 개요 = 235
8.2 YACC 스팩 = 238
8.3 YACC 실행하는 방법 = 248
8.4 YACC 실습하기 = 253
제9장 의미 분석과 중간 코드 생성
9.1 의미 분석 개념 = 263
9.2 구문-직접 번역 = 267
9.3 속성 문법 = 276
9.4 중간 코드 생성 = 285
9.5 타입 검사 = 320
제10장 코드 생성
10.1 코스 생성의 개요 = 325
10.2 기계어 인스트럭션으로 변환 = 329
10.3 점프 주소 지정 = 337
10.4 레지스터 할당 = 344
제11장 코드 최적화
11.1 기본 블록과 DAG = 348
11.2 전역 코드 최적화 = 358
11.3 지역 코드 최적화 = 367
제12장 실행 환경 지원
12.1 실행 환경 지원 = 373
12.2 실행 프로그램의 메모리 할당 = 384
12.3 활성 레코드와 활성 트리 = 393
12.4 데이터 사용하기 = 397
12.5 엑세스 링크 = 408