컴파일러 (실습개념으로 구성)

컴파일러 (실습개념으로 구성)

$47.57
Description
이 책은 컴파일러에 대해 다룬 도서입니다. 기초적이고 전반적인 내용을 학습할 수 있습니다.
저자

김상욱

목차

CHAPTER01프로그래밍언어와번역
1.1자동번역기
1.2프로그래밍언어의진화
1.2.11950년대
1.2.21960년대
1.2.31970년대
1.2.41980년대
1.2.51990년대
1.2.62000년대
1.2.72010년대
1.3몇언어의구문구조와특성
1.3.1포트란
1.3.2알골
1.3.3코볼
1.3.4에이피엘
1.3.5리스프
1.3.6프롤로그
1.3.7스몰톡
1.3.8파이썬
1.4프로그래밍언어의실행

CHAPTER02컴파일러개요
2.1고급프로그래밍언어와컴퓨터시스템의연결
2.2컴파일러구성
2.2.1어휘분석:프로그램문장에서어휘를분류하기
2.2.2구문분석:프로그램에있는문장을문법과대조하기
2.2.3의미분석:선언한변수에자료형과속성을할당하고중간코드생성하기
2.2.4전역코드최적화
2.2.5코드생성
2.2.6지역코드최적화
2.3컴파일러설계와개발
2.3.1혼자서설계하고구현하기
2.3.2컴파일러-컴파일러도구로설계하고구현하기

CHAPTER03언어를표현하는방법
3.1형식언어
3.2정규수식
3.2.1결합
3.2.2접속
3.2.3반복
3.3유한상태기계
3.3.1상태기계
3.3.2상태전이다이어그램
3.3.3상태전이테이블

CHAPTER04언어와문법
4.1문법표현
4.1.1문법
4.1.2문법의분류
4.2문맥-자유문법으로프로그래밍언어표현하기
4.3문법의불명확성
4.3.1불명확한문법을명확한문법으로재구성하기
4.3.2불명확한if문구조
4.4푸시다운기계와번역기
4.4.1푸시다운기계
4.4.2언어의등급과인식기계

CHAPTER05어휘분석
5.1유한상태기계의구현
5.1.1유한상태기계구성개요
5.1.2어휘분석에의적용
5.1.3유한상태기계의동작구현
5.2토큰:프로그램을단어로분리하기
5.2.1예약어
5.2.2식별자
5.2.3연산자
5.2.4숫자상수
5.2.5문자형상수
5.2.6특수문자
5.2.7할당기호
5.2.8주석
5.2.9빈칸
5.3심볼테이블
5.3.1심볼테이블구성:속성과값
5.3.2부가기능추가

CHAPTER06Lex사용하기:어휘분석기
6.1Lex
6.1.1Lex구조와원시코드
6.1.2Lex원시프로그램예
6.2Lex실행하기
6.3윈도우즈용Flex로실습하기

CHAPTER07구문분석
7.1파스트리와신택스트리
7.2하향식파싱개념
7.3상향식파싱개념

CHAPTER08하향식파싱
8.1리커시브디센트파싱
8.1.1리커시브디센트파서
8.1.2결정터미널집합
8.2LL(1)문법
8.3예측파싱
8.3.1예측파싱을위한자동기계모델
8.3.2예측파서와구조와동작
8.3.3예측파서의파싱테이블만들기
8.4불명확한문법의예측파싱
8.5예측파싱에서에러처리

CHAPTER09상향식파싱
9.1이동-환원파싱
9.2LR문법
9.2.1이동/환원충돌
9.2.2환원/환원충돌
9.2.3충돌해결

CHAPTER10FIRST와FOLLOW터미널집합구하기
10.1FIRST터미널집합구하기
10.2FOLLOW터미널집합구하기

CHAPTER11LR파서
11.1LR파서개념
11.2LR파싱테이블
11.3LR파싱드라이버
11.4LR파싱테이블만들기
11.4.1LR(0)아이텀의캐노니컬모음구하기
11.4.2LR(0)아이텀에서단순LR파싱테이블구성하기
11.5캐노니컬LR파싱
11.6미리보기LR파싱

CHAPTER12Yacc사용하기:파서생성기
12.1Yacc개요
12.2Yacc스펙
12.2.1선언부
12.2.2규칙기술부
12.2.3지원루틴부
12.2.4Yacc스펙예
12.3Yacc실행하는방법
12.4Yacc실습하기

CHAPTER13의미분석과속성문법
13.1의미분석개요
13.2구문-직접번역
13.2.1액션루틴을결합한리커시브디센트파서구현
13.2.2액션루틴을결합한LR파서구현
13.3속성문법
13.3.1합성속성
13.3.2상속속성
13.4선언문의의미분석
13.5레코드와객체
13.5.1레코드자료형
13.5.2객체자료형
13.6자료형검사
13.6.1자료형검사의의미표현
13.6.2자료형검사구현
13.6.3연산자오버로딩과다형성

CHAPTER14중간코드생성
14.1중간코드
14.2산술연산수식의3-주소코드생성
14.3제어구조의3-주소코드생성
14.3.1if문의3-주소코드
14.3.2불리언수식
14.3.3while문의3-주소코드
14.3.4for문의3-주소코드
14.4함수호출의3-주소코드생성
14.5배열원소의주소지정

CHAPTER15기계어코드생성
15.1기계어코드와인스트럭션
15.1.1기계어코드
15.1.2인스트럭션형식
15.2기계어코드로변환
15.2.1주소직접지정
15.2.2주소상대적으로지정
15.3점프주소지정
15.3.1단일단계방법
15.3.2두단계방법
15.4레지스터할당

CHAPTER16코드최적화
16.1기본블록과제어흐름그래프
16.2전역코드최적화
16.2.1실행하지않는코드제거
16.2.2죽은코드제거
16.2.3순환몸체에서변하지않는코드이동
16.2.4상수접기
16.2.5강세감소
16.2.6대수적변환
16.3지역코드최적화
16.3.1로드/저장최적화
16.3.2점프최적화
16.3.3대수적최적화

CHAPTER17실행환경지원
17.1실행환경
17.1.1함수정의와값전달
17.1.2함수호출과반환
17.1.3인자전달방식
17.2실행프로그램의메모리할당
17.2.1정적공간할당
17.2.2스택공간할당
17.2.3힙공간할당
17.3활성레코드와활성트리
17.3.1활성레코드
17.3.2활성트리
17.4자료사용하기
17.4.1블록과자료
17.4.2범위규칙
17.4.3지역자료사용
17.4.4전역자료사용
17.5엑세스링크

CHAPTER18인터프리터
18.1인터프리터개요
18.2재귀적인터프리터
18.3반복적인터프리터
18.4리커시브디센트파서에의한인터프리터
18.5인터프리터와컴파일러의결합:Just-In-Time컴파일

CHAPTER19기계어코드실행시뮬레이션
19.1개요
19.2간단한컴퓨터구조
19.2.1메모리표현
19.2.2처리기표현
19.2.3인스트럭션실행표현
19.2.4산술/논리연산장치표현
19.2.5기계주기표현
19.2.6주소지정방식표현
19.2.7입력과출력표현
19.31-주소컴퓨터구조의시뮬레이션구현
19.3.1내부구조
19.3.2인스트럭션셋
19.2.3시뮬레이터에서실행할프로그램
19.2.4단일누산기컴퓨터시뮬레이터

■참고및인용문헌
■용어