메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT CookBook, 컴파일러의 이해 : 내공 있는 프로그래머로 길러주는 (증보판)

한빛아카데미

집필서

판매중

0점 (0명)
좋아요 : 15

세상에는 두 종류의 프로그래머가 있다. 

컴파일러를 아는 프로그래머와 

컴파일러를 모르는 프로그래머!

 

컴파일러 이론은 방대하고 난이도가 높아 많은 학생들이 포기하기 쉬운 주제이다.

하지만 내공 있는 프로그래머가 되려면 반드시 컴파일러의 구조와 동작을 이해해야 한다.

30년에 걸쳐 컴파일러를 강의한 저자의 경험과 노하우를 바탕으로 최대한 쉽게 설명하였으므로 수준 높은 프로그래머를 꿈꾸는 많은 독자들에게 꼭 필요한 컴파일러 기본서로 자리매김할 수 있을 것이다.

 

* 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.

 

무엇을 다루는가.jpg

 

 

도서 장점

 

➀ 방대한 컴파일러 이론 중 핵심만 추려 다룹니다.

컴파일러는 시스템 프로그램이기 때문에 시스템에 관련된 모든 내용을 알아야 하므로 난이도가 높은 편입니다. 하지만 이 책은 컴파일러 학습 관련 지식을 부분적으로 간단히 소개하여 쉽게 배울 수 있습니다. 총 13장으로 구성되어 있으며, 1~2장에서는 컴파일러의 개요를 훑고, 3장과 5장에서는 어휘 분석기와 구문 분석기를 설명하기 위해 형식 언어와 오토마타의 이론을, 4장과 6~12장에서는 컴파일러를 각 부분별로 다룹니다. 마지막으로 13장에서는 어휘 분석기 생성기인 렉스(플렉스)와 구문 분석기 생성기인 야크(바이슨)의 실제 사용법을 설명했습니다.

 

➁ 30년 이상 컴파일러를 강의해온 저자의 경험과 지식을 바탕으로 쉽게 설명합니다.

컴파일러의 구조나 동작에 대해 설명하기란 매우 어렵습니다. 저자 또한 30년 가까이 컴파일러를 강의해왔지만, 어떻게 설명해야 컴파일러를 조금이라도 쉽게 이해시킬 수 있을지 고심하며 이 책을 집필했습니다. 이 책을 통해 30년 이상 컴파일러를 강의해온 저자의 경험과 지식을 경험할 수 있을 것입니다. 

 

➂ 기본 원리뿐만 아니라 실무에서 유용한 컴파일러 후단부 기술(실행 시간 환경과 최적화)도 다룹니다.

-. 코드 최적화(10장)

-. 병렬성과 지역성을 위한 최적화(11장)

-. 목적 코드 생성(12장)

-. 플렉스와 바이슨의 설치와 실제 사용법 설명(13장)

박두순 저자

박두순

고려대학교 수학과를 졸업하였고, 동 대학교 대학원에서 병렬 컴파일러 개발 연구로 박사 학위를 취득하였다. 미국 일리노이대학교 어바나–샴페인의 슈퍼컴퓨터센터와 콜로라도대학교 덴버캠퍼스 컴퓨터학과, 고려대학교에서 객원교수를 지냈다. 1985년부터 2022년까지 순천향대학교 전산학과(현 컴퓨터 소프트웨어공학과) 교수로 재직하였고, 한국정보처리학회 회장, 순천향대학교 대학원장, 순천향대학교 도서관장, 공과대학 학장, 전산정보원 원장, 웰니스코칭 ITRC 센터장, 4단계 BK21 빅데이터 혁신인재 교육연구단 단장 등을 역임하였다. 현재는 순천향대학교 컴퓨터 소프트웨어공학과 석좌교수로 이산수학, 컴파일러 등을 강의하고 있으며, 국내외 컴퓨터 분야의 발전에 일조하고 있다. 관심 연구 분야는 빅데이터 컴퓨팅, 데이터 마이닝, 병렬처리, 컴파일러, 이산수학이다. 주요 저서로는 『이산수학 이해』(정익사, 2010), 『빅데이터 컴퓨팅 기술』(한빛아카데미, 2014), 『내공 있는 프로그래머로 길러주는 컴파일러의 이해(증보판)』(한빛아카데미, 2020), 『컴파일러구성』(한국방송통신대학교출판문화원, 2023) 등이 있다.

 

 

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 바이슨 사용법

  • 첫번째 리뷰어가 되어주세요.
  • 결제하기
    • 문화비 소득공제 가능

    도서구입 안내

    <한빛아카데미> 도서는 한빛 홈페이지에서 더 이상 판매를 하지 않습니다. 도서 구입은 인터넷 서점을 이용하시기 바랍니다. 양해바랍니다.

    리뷰쓰기

    닫기
    * 상품명 :
    IT CookBook, 컴파일러의 이해 : 내공 있는 프로그래머로 길러주는 (증보판)
    * 제목 :
    * 별점평가
    * 내용 :

    * 리뷰 작성시 유의사항

    글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

    1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
    2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

    오탈자 등록

    닫기
    * 도서명 :
    IT CookBook, 컴파일러의 이해 : 내공 있는 프로그래머로 길러주는 (증보판)
    * 구분 :
    * 상품 버전
    종이책 PDF ePub
    * 페이지 :
    * 위치정보 :
    * 내용 :

    도서 인증

    닫기
    도서명*
    IT CookBook, 컴파일러의 이해 : 내공 있는 프로그래머로 길러주는 (증보판)
    구입처*
    구입일*
    부가기호*
    부가기호 안내

    * 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

    * 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

    * 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

    닫기

    해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
    장바구니로 이동하시겠습니까?

    자료실

    최근 본 상품1