
컴파일러의 이해
Description
책소개
컴파일러는 시스템 프로그램이기 때문에 시스템에 관련된 모든 내용을 알아야 하므로 난이도가 높은 편이다.
하지만 이 책은 컴파일러 학습 관련 지식을 부분적으로 간단히 소개하여 쉽게 배울 수 있다.
총 13장으로 구성되어 있으며, 1~2장에서는 컴파일러의 개요를 훑고, 3장과 5장에서는 어휘 분석기와 구문 분석기를 설명하기 위해 형식 언어와 오토마타의 이론을, 4장과 6~12장에서는 컴파일러를 각 부분별로 다룬다.
마지막으로 13장에서는 어휘 분석기 생성기인 렉스(플렉스)와 구문 분석기 생성기인 야크(바이슨)의 실제 사용법을 설명했다.
※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.
하지만 이 책은 컴파일러 학습 관련 지식을 부분적으로 간단히 소개하여 쉽게 배울 수 있다.
총 13장으로 구성되어 있으며, 1~2장에서는 컴파일러의 개요를 훑고, 3장과 5장에서는 어휘 분석기와 구문 분석기를 설명하기 위해 형식 언어와 오토마타의 이론을, 4장과 6~12장에서는 컴파일러를 각 부분별로 다룬다.
마지막으로 13장에서는 어휘 분석기 생성기인 렉스(플렉스)와 구문 분석기 생성기인 야크(바이슨)의 실제 사용법을 설명했다.
※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.
- 책의 일부 내용을 미리 읽어보실 수 있습니다.
미리보기
목차
Chapter 01 컴파일러의 개요
01 컴파일러의 필요성
02 프로그래밍 언어
1 수치 계산용 언어
2 사무 처리용 언어
3 인공지능 언어
4 시스템 프로그래밍 언어
5 기타 언어
6 프로그래밍 언어의 기본 개념
03 번역기의 종류
Chapter 02 간단한 컴파일러의 구조
01 컴파일러의 논리적 구조
1 개요
2 논리적 구조
02 컴파일러의 물리적 구조
Chapter 03 형식 언어와 유한 오토마타
01 형식 언어
02 형식 문법
03 문법 표기법
1 정규 표현
2 문법 도표
3 BNF 표기법
4 EBNF 표기법
04 유한 오토마타
1 유한 오토마타
2 NFA에서 DFA로의 변환
3 DFA의 상태수 최소화
4 정규 문법, 정규 표현, 유한 오토마타의 동치 관계
Chapter 04 어휘 분석
01 어휘 분석의 개요
02 토큰의 인식
1 식별자의 인식
2 예약어의 인식
3 정수의 인식
4 실수 상수의 인식
5 주석 처리
03 어휘 분석기의 설계 및 구현
Chapter 05 문맥자유 문법과 푸시다운 오토마타
01 문맥자유 문법
02 파스 트리
03 모호한 문법
04 문법 변환
1 불필요한 생성 규칙의 제거
2 ε-생성 규칙의 제거
3 단일 생성 규칙의 제거
4 좌인수분해
5 좌재귀의 제거
05 푸시다운 오토마타
Chapter 06 구문 분석
01 구문 분석의 개요
02 하향식 구문 분석
1 FIRST와 FOLLOW
2 재귀적 하강 구문 분석
3 예측 구문 분석
03 상향식 구문 분석
1 이동-감축 구문 분석
2 연산자 우선순위 구문 분석
3 LR 구문 분석
04 모호한 문법의 사용과 에러 처리 루틴
Chapter 07 의미 분석과 형 검사
01 의미 분석의 개요
02 기호표
03 속성 문법
04 형 검사
1 자료형의 종류
2 형 시스템
3 형 변환
Chapter 08 중간 언어와 중간 코드 생성
01 중간 언어
1 중간 언어의 개념
2 중간 언어의 종류
02 구문 지시적 번역
03 중간 코드 생성
1 논리식
2 치환문
Chapter 09 구조적 자료형과 실행 시간 환경
01 구조적 자료형
1 레코드
2 배열
02 메모리 구성
03 메모리 할당 전략
1 정적 메모리 할당
2 스택 메모리 할당
3 힙 메모리 할당
04 매개변수 전달 방법
1 값 호출
2 참조 호출
3 이름 호출
4 값-결과 호출
Chapter 10 코드 최적화
01 코드 최적화
02 기본 블록과 흐름 그래프
1 기본 블록
2 제어 흐름 그래프와 DAG
3 흐름 분석
03 최적화 기법
1 핍홀 최적화 기법
2 지역 최적화 기법
3 루프 최적화 기법
4 전역 최적화 기법
5 기계 종속적 최적화 기법
Chapter 11 병렬성과 지역성을 위한 최적화
01 병렬 처리
1 병렬 처리 시스템
2 병렬 처리에 대한 여러 가지 개념
02 자료 종속과 자료 종속 분석
1 자료 종속
2 자료 종속 분석
03 루프 변환
1 루프 융합
2 루프 분리
3 루프 역순
4 루프 교환
5 루프 기울임
6 스트립 마이닝
7 루프 타일링
Chapter 12 목적 코드 생성
01 목적 코드 생성의 개념
02 트리-패턴 매칭 기법
03 목적 코드 생성
1 산술식에 대한 목적 코드 생성
2 논리식에 대한 목적 코드 생성
04 레지스터 할당과 배정
1 지역 레지스터 할당과 배정
2 전역 레지스터 할당과 배정
3 그래프 착색에 의한 레지스터 할당
Chapter 13 렉스와 야크
01 렉스와 야크
1 렉스
2 야크
02 렉스와 야크의 입력 파일 형식
1 렉스의 입력 파일 형식
2 야크의 입력 파일 형식
03 플렉스와 바이슨 설치 방법
04 플렉스 사용법
05 바이슨 사용법
01 컴파일러의 필요성
02 프로그래밍 언어
1 수치 계산용 언어
2 사무 처리용 언어
3 인공지능 언어
4 시스템 프로그래밍 언어
5 기타 언어
6 프로그래밍 언어의 기본 개념
03 번역기의 종류
Chapter 02 간단한 컴파일러의 구조
01 컴파일러의 논리적 구조
1 개요
2 논리적 구조
02 컴파일러의 물리적 구조
Chapter 03 형식 언어와 유한 오토마타
01 형식 언어
02 형식 문법
03 문법 표기법
1 정규 표현
2 문법 도표
3 BNF 표기법
4 EBNF 표기법
04 유한 오토마타
1 유한 오토마타
2 NFA에서 DFA로의 변환
3 DFA의 상태수 최소화
4 정규 문법, 정규 표현, 유한 오토마타의 동치 관계
Chapter 04 어휘 분석
01 어휘 분석의 개요
02 토큰의 인식
1 식별자의 인식
2 예약어의 인식
3 정수의 인식
4 실수 상수의 인식
5 주석 처리
03 어휘 분석기의 설계 및 구현
Chapter 05 문맥자유 문법과 푸시다운 오토마타
01 문맥자유 문법
02 파스 트리
03 모호한 문법
04 문법 변환
1 불필요한 생성 규칙의 제거
2 ε-생성 규칙의 제거
3 단일 생성 규칙의 제거
4 좌인수분해
5 좌재귀의 제거
05 푸시다운 오토마타
Chapter 06 구문 분석
01 구문 분석의 개요
02 하향식 구문 분석
1 FIRST와 FOLLOW
2 재귀적 하강 구문 분석
3 예측 구문 분석
03 상향식 구문 분석
1 이동-감축 구문 분석
2 연산자 우선순위 구문 분석
3 LR 구문 분석
04 모호한 문법의 사용과 에러 처리 루틴
Chapter 07 의미 분석과 형 검사
01 의미 분석의 개요
02 기호표
03 속성 문법
04 형 검사
1 자료형의 종류
2 형 시스템
3 형 변환
Chapter 08 중간 언어와 중간 코드 생성
01 중간 언어
1 중간 언어의 개념
2 중간 언어의 종류
02 구문 지시적 번역
03 중간 코드 생성
1 논리식
2 치환문
Chapter 09 구조적 자료형과 실행 시간 환경
01 구조적 자료형
1 레코드
2 배열
02 메모리 구성
03 메모리 할당 전략
1 정적 메모리 할당
2 스택 메모리 할당
3 힙 메모리 할당
04 매개변수 전달 방법
1 값 호출
2 참조 호출
3 이름 호출
4 값-결과 호출
Chapter 10 코드 최적화
01 코드 최적화
02 기본 블록과 흐름 그래프
1 기본 블록
2 제어 흐름 그래프와 DAG
3 흐름 분석
03 최적화 기법
1 핍홀 최적화 기법
2 지역 최적화 기법
3 루프 최적화 기법
4 전역 최적화 기법
5 기계 종속적 최적화 기법
Chapter 11 병렬성과 지역성을 위한 최적화
01 병렬 처리
1 병렬 처리 시스템
2 병렬 처리에 대한 여러 가지 개념
02 자료 종속과 자료 종속 분석
1 자료 종속
2 자료 종속 분석
03 루프 변환
1 루프 융합
2 루프 분리
3 루프 역순
4 루프 교환
5 루프 기울임
6 스트립 마이닝
7 루프 타일링
Chapter 12 목적 코드 생성
01 목적 코드 생성의 개념
02 트리-패턴 매칭 기법
03 목적 코드 생성
1 산술식에 대한 목적 코드 생성
2 논리식에 대한 목적 코드 생성
04 레지스터 할당과 배정
1 지역 레지스터 할당과 배정
2 전역 레지스터 할당과 배정
3 그래프 착색에 의한 레지스터 할당
Chapter 13 렉스와 야크
01 렉스와 야크
1 렉스
2 야크
02 렉스와 야크의 입력 파일 형식
1 렉스의 입력 파일 형식
2 야크의 입력 파일 형식
03 플렉스와 바이슨 설치 방법
04 플렉스 사용법
05 바이슨 사용법
상세 이미지
출판사 리뷰
* 방대한 컴파일러 이론 중 핵심만 추려 다룹니다.
컴파일러는 시스템 프로그램이기 때문에 시스템에 관련된 모든 내용을 알아야 하므로 난이도가 높은 편입니다.
하지만 이 책은 컴파일러 학습 관련 지식을 부분적으로 간단히 소개하여 쉽게 배울 수 있습니다.
총 13장으로 구성되어 있으며, 1~2장에서는 컴파일러의 개요를 훑고, 3장과 5장에서는 어휘 분석기와 구문 분석기를 설명하기 위해 형식 언어와 오토마타의 이론을, 4장과 6~12장에서는 컴파일러를 각 부분별로 다룹니다.
마지막으로 13장에서는 어휘 분석기 생성기인 렉스(플렉스)와 구문 분석기 생성기인 야크(바이슨)의 실제 사용법을 설명했습니다.
* 30년 이상 컴파일러를 강의해온 저자의 경험과 지식을 바탕으로 쉽게 설명합니다.
컴파일러의 구조나 동작에 대해 설명하기란 매우 어렵습니다.
저자 또한 30년 가까이 컴파일러를 강의해왔지만, 어떻게 설명해야 컴파일러를 조금이라도 쉽게 이해시킬 수 있을지 고심하며 이 책을 집필했습니다.
이 책을 통해 30년 이상 컴파일러를 강의해온 저자의 경험과 지식을 경험할 수 있을 것입니다.
* 기본 원리뿐만 아니라 실무에서 유용한 컴파일러 후단부 기술(실행 시간 환경과 최적화)도 다룹니다.
-.
코드 최적화(10장)
-.
병렬성과 지역성을 위한 최적화(11장)
-.
목적 코드 생성(12장)
-.
플렉스와 바이슨의 설치와 실제 사용법 설명(13장)
컴파일러는 시스템 프로그램이기 때문에 시스템에 관련된 모든 내용을 알아야 하므로 난이도가 높은 편입니다.
하지만 이 책은 컴파일러 학습 관련 지식을 부분적으로 간단히 소개하여 쉽게 배울 수 있습니다.
총 13장으로 구성되어 있으며, 1~2장에서는 컴파일러의 개요를 훑고, 3장과 5장에서는 어휘 분석기와 구문 분석기를 설명하기 위해 형식 언어와 오토마타의 이론을, 4장과 6~12장에서는 컴파일러를 각 부분별로 다룹니다.
마지막으로 13장에서는 어휘 분석기 생성기인 렉스(플렉스)와 구문 분석기 생성기인 야크(바이슨)의 실제 사용법을 설명했습니다.
* 30년 이상 컴파일러를 강의해온 저자의 경험과 지식을 바탕으로 쉽게 설명합니다.
컴파일러의 구조나 동작에 대해 설명하기란 매우 어렵습니다.
저자 또한 30년 가까이 컴파일러를 강의해왔지만, 어떻게 설명해야 컴파일러를 조금이라도 쉽게 이해시킬 수 있을지 고심하며 이 책을 집필했습니다.
이 책을 통해 30년 이상 컴파일러를 강의해온 저자의 경험과 지식을 경험할 수 있을 것입니다.
* 기본 원리뿐만 아니라 실무에서 유용한 컴파일러 후단부 기술(실행 시간 환경과 최적화)도 다룹니다.
-.
코드 최적화(10장)
-.
병렬성과 지역성을 위한 최적화(11장)
-.
목적 코드 생성(12장)
-.
플렉스와 바이슨의 설치와 실제 사용법 설명(13장)
GOODS SPECIFICS
- 발행일 : 2020년 02월 20일
- 쪽수, 무게, 크기 : 508쪽 | 188*257*35mm
- ISBN13 : 9791156644835
- ISBN10 : 1156644836
You may also like
카테고리
한국어
한국어