이미 소장하고 있다면 판매해 보세요.
|
Chapter 01 컴파일러의 개요 015
01 컴파일러의 필요성 017 02 프로그래밍 언어 020 1 수치 계산용 언어 020 2 사무 처리용 언어 021 3 인공지능 언어 021 4 시스템 프로그래밍 언어 022 5 기타 언어 022 6 프로그래밍 언어의 기본 개념 024 03 번역기의 종류 030 Chapter 02 간단한 컴파일러의 구조 039 01 컴파일러의 논리적 구조 041 1 개요 041 2 논리적 구조 043 02 컴파일러의 물리적 구조 061 Chapter 03 형식 언어와 유한 오토마타 067 01 형식 언어 069 02 형식 문법 074 03 문법 표기법 086 1 정규 표현 086 2 문법 도표 089 3 BNF 표기법 091 4 EBNF 표기법 092 04 유한 오토마타 094 1 유한 오토마타 095 2 NFA에서 DFA로의 변환 108 3 DFA의 상태수 최소화 118 4 정규 문법, 정규 표현, 유한 오토마타의 동치 관계 122 Chapter 04 어휘 분석 133 01 어휘 분석의 개요 135 02 토큰의 인식 138 1 식별자의 인식 138 2 예약어의 인식 139 3 정수의 인식 139 4 실수 상수의 인식 139 5 주석 처리 140 03 어휘 분석기의 설계 및 구현 142 Chapter 05 문맥자유 문법과 푸시다운 오토마타 153 01 문맥자유 문법 155 02 파스 트리 156 03 모호한 문법 164 04 문법 변환 171 1 불필요한 생성 규칙의 제거 171 2 ε-생성 규칙의 제거 176 3 단일 생성 규칙의 제거 178 4 좌인수분해 181 5 좌재귀의 제거 182 05 푸시다운 오토마타 185 Chapter 06 구문 분석 193 01 구문 분석의 개요 195 02 하향식 구문 분석 197 1 FIRST와 FOLLOW 199 2 재귀적 하강 구문 분석 209 3 예측 구문 분석 212 03 상향식 구문 분석 217 1 이동-감축 구문 분석 219 2 연산자 우선순위 구문 분석 222 3 LR 구문 분석 226 04 모호한 문법의 사용과 에러 처리 루틴 258 Chapter 07 의미 분석과 형 검사 273 01 의미 분석의 개요 275 02 기호표 277 03 속성 문법 282 04 형 검사 286 1 자료형의 종류 286 2 형 시스템 288 3 형 변환 288 Chapter 08 중간 언어와 중간 코드 생성 293 01 중간 언어 295 1 중간 언어의 개념 295 2 중간 언어의 종류 297 02 구문 지시적 번역 308 03 중간 코드 생성 312 1 논리식 312 2 치환문 318 Chapter 09 구조적 자료형과 실행 시간 환경 325 01 구조적 자료형 327 1 레코드 327 2 배열 329 02 메모리 구성 332 03 메모리 할당 전략 339 1 정적 메모리 할당 339 2 스택 메모리 할당 341 3 힙 메모리 할당 345 04 매개변수 전달 방법 347 1 값 호출 347 2 참조 호출 348 3 이름 호출 349 4 값-결과 호출 350 Chapter 10 코드 최적화 355 01 코드 최적화 357 02 기본 블록과 흐름 그래프 360 1 기본 블록 360 2 제어 흐름 그래프와 DAG 363 3 흐름 분석 370 03 최적화 기법 372 1 핍홀 최적화 기법 372 2 지역 최적화 기법 375 3 루프 최적화 기법 378 4 전역 최적화 기법 382 5 기계 종속적 최적화 기법 384 Chapter 11 병렬성과 지역성을 위한 최적화 389 01 병렬 처리 391 1 병렬 처리 시스템 393 2 병렬 처리에 대한 여러 가지 개념 395 02 자료 종속과 자료 종속 분석 401 1 자료 종속 401 2 자료 종속 분석 405 03 루프 변환 410 1 루프 융합 410 2 루프 분리 412 3 루프 역순 414 4 루프 교환 415 5 루프 기울임 416 6 스트립 마이닝 418 7 루프 타일링 419 Chapter 12 목적 코드 생성 423 01 목적 코드 생성의 개념 425 02 트리-패턴 매칭 기법 428 03 목적 코드 생성 433 1 산술식에 대한 목적 코드 생성 433 2 논리식에 대한 목적 코드 생성 443 04 레지스터 할당과 배정 447 1 지역 레지스터 할당과 배정 448 2 전역 레지스터 할당과 배정 449 3 그래프 착색에 의한 레지스터 할당 450 Chapter 13 렉스와 야크 455 01 렉스와 야크 457 1 렉스 457 2 야크 458 02 렉스와 야크의 입력 파일 형식 459 1 렉스의 입력 파일 형식 459 2 야크의 입력 파일 형식 463 03 플렉스와 바이슨 설치 방법 466 04 플렉스 사용법 468 05 바이슨 사용법 47 |
|
도서 장점
? 방대한 컴파일러 이론 중 핵심만 추려 다룹니다. 컴파일러는 시스템 프로그램이기 때문에 시스템에 관련된 모든 내용을 알아야 하므로 난이도가 높은 편입니다. 하지만 이 책은 컴파일러 학습 관련 지식을 부분적으로 간단히 소개하여 쉽게 배울 수 있습니다. 총 13장으로 구성되어 있으며, 1~2장에서는 컴파일러의 개요를 훑고, 3장과 5장에서는 어휘 분석기와 구문 분석기를 설명하기 위해 형식 언어와 오토마타의 이론을, 4장과 6~12장에서는 컴파일러를 각 부분별로 다룹니다. 마지막으로 13장에서는 어휘 분석기 생성기인 렉스(플렉스)와 구문 분석기 생성기인 야크(바이슨)의 실제 사용법을 설명했습니다. ? 30년 이상 컴파일러를 강의해온 저자의 경험과 지식을 바탕으로 쉽게 설명합니다. 컴파일러의 구조나 동작에 대해 설명하기란 매우 어렵습니다. 저자 또한 30년 가까이 컴파일러를 강 의해왔지만, 어떻게 설명해야 컴파일러를 조금이라도 쉽게 이해시킬 수 있을지 고심하며 이 책을 집 필했습니다. 이 책을 통해 30년 이상 컴파일러를 강의해온 저자의 경험과 지식을 경험할 수 있을 것입니다. ? 기본 원리뿐만 아니라 실무에서 유용한 컴파일러 후단부 기술(실행 시간 환경과 최적화)도 다룹니다. -. 코드 최적화(10장) -. 병렬성과 지역성을 위한 최적화(11장) -. 목적 코드 생성(12장) -. 플렉스와 바이슨의 설치와 실제 사용법 설명(13장) |