logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

컴파일러 구조와 원리

컴파일러 구조와 원리

(컴파일러로 배우는 언어 처리 시스템)

아오키 미네로 (지은이), 이영희 (옮긴이)
한빛미디어
30,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
알라딘 로딩중
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

컴파일러 구조와 원리
eBook 미리보기

책 정보

· 제목 : 컴파일러 구조와 원리 (컴파일러로 배우는 언어 처리 시스템)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 프로그래밍 언어 기타
· ISBN : 9788979147681
· 쪽수 : 616쪽
· 출판일 : 2010-09-10

책 소개

일본을 대표하는 컴파일러의 권위자 중 한 명인 저자가 컴파일러를 실제로 구축하기 위한 과정을 설명한 책. 컴파일러의 이론을 다룬 이론서나 해설서가 아니고, 오로지 구축에 목적을 둔 책으로써 프로그램 언어로 쓰여진 소스 코드가 컴퓨터 안에서 어떻게 실행되는지를 순차적으로 설명하고 있다.

목차

1 컴파일러를 만들어 보자
1.1 이 책의 개요
1.2 컴파일 과정
1.3 C♭ 컴파일러로 컴파일하기

2 C♭과 cbc
2.1 C♭ 언어의 개요
2.2 C♭ 컴파일러 cbc의 구성


1부 소스 코드 해석
3 구문 해석의 개요
3.1 구문 해석 방법
3.2 파서 제너레이터
3.3 JavaCC의 개요

4 어휘 해석
4.1 JavaCC에 의한 스캐너 작성
4.2 구조가 없는 단어의 스캔
4.3 토큰을 생성하지 않는 단어의 스캔
4.4 구조를 포함한 단어의 스캔

5 JavaCC로 파서 작성하기
5.1 EBNF로 문법 작성하기
5.2 애매한 문법과 토큰 미리 보기

6 구문 해석
6.1 정의의 해석
6.2 문장의 해석
6.3 식의 해석
6.4 항의 해석


2부 추상 구문 트리와 중간 표현
7 JavaCC의 Action과 추상 구문 트리
7.1 JavaCC의 액션
7.2 추상 구문 트리와 노드

8 추상 구문 트리 작성
8.1 식의 추상 구문 트리
8.2 문장의 추상 구문 트리
8.3 선언의 추상 구문 트리
8.4 cbc 파서의 실행

9 의미 해석(1) 참조 해결
9.1 의미 해석의 개요
9.2 변수 참조의 해결
9.3 타입 참조의 해결

10 의미 해석(2) 정적 타입 체크
10.1 타입 정의 체크
10.2 식의 타당성 체크
10.3 정적 타입 체크

11 중간 표현의 변환
11.1 cbc의 중간 표현
11.2 IRGenerator 클래스의 개요
11.3 제어 구조의 변환
11.4 부작용이 없는 식의 변환
11.5 좌변값의 변환
11.6 부작용이 있는 식의 변환


3부 어셈블리 코드의 생성
12 x86 아키텍처의 개요
12.1 컴퓨터 구조
12.2 x86계 CPU의 역사
12.3 IA-32의 개요
12.4 데이터 표현과 배치

13 x86 어셈블러 프로그래밍
13.1 GNU 어셈블러에 의한 프로그래밍
13.2 GNU 어셈블러의 문법
13.3 전송 명령
13.4 산술 연산 명령
13.5 비트 연산 명령
13.6 연산의 제어

14 함수 호출과 변수
14.1 호출 규약
14.2 Linux/x86에서의 함수 호출
14.3 Linux/x86에서 함수 호출의 상세

15 식과 문의 컴파일
15.1 컴파일 결과 확인
15.2 x86 어셈블리의 오브젝트 표현과 DSL
15.3 cbc의 x86 어셈블리 DSL
15.4 CodeGenerator 클래스의 개요
15.5 단순한 식의 컴파일
15.6 2항 연산의 컴파일
15.7 변수 참조와 대입
15.8 점프문의 컴파일

16 스택 프레임 할당
16.1 머신 스택의 실행
16.2 인수와 로컬 변수의 메모리 참조 할당
16.3 가상 스택으로 임시 변수 할당
16.4 머신 스택 액세스의 오프셋 조정
16.5 프롤로그·에필로그의 생성
16.6 alloca의 구축

17 최적화 방법
17.1 최적화의 의미
17.2 최적화의 분류
17.3 cbc에서의 최적화
17.4 더욱 강력한 최적화


4부 링크와 로드
18 오브젝트 파일의 생성
18.1 ELF 파일의 구조
18.2 ELF 파일에서의 글로벌 변수 표현
18.3 글로벌 변수의 컴파일
18.4 오브젝트 파일의 생성

19 링크와 라이브러리
19.1 링크의 개요
19.2 링크
19.3 다이내믹 링크와 스태틱 링크
19.4 라이브러리의 작성

20 프로그램의 로드
20.1 ELF 세그먼트의 로드
20.2 다이내믹 링크의 과정
20.3 동적 로드
20.4 GNU ld에 의한 링크

21 위치 독립 코드의 생성
21.1 위치 독립 코드
21.2 글로벌 변수 참조의 구축
21.2 링커 호출의 구축
21.3 프로그램 해석부터 실행까지

22 이 책을 모두 읽고 나서
22.1 서적 소개
22.2 링크·로드에 대해
22.3 다양한 언어 기능

부록
A.1 참고 문헌
A.2 온라인 도큐먼트
A.3 소스 코드
찾아보기

저자소개

아오키 미네로 (지은이)    정보 더보기
운동을 좋아하는 프로그래머로 일본 최대의 요리법 공유 사이트인 ‘쿡패드’에서 전사 데이터 분석과 관련된 업무를 담당하고 있다. 저서로는 《10년간 활용할 수 있는 데이터 분석 입문》, 《Ruby 소스 코드 완전 해설》 등 10여 종이 있다.
펼치기
이영희 (옮긴이)    정보 더보기
노틸러스효성(=효성티앤에스)에서 IT 업무를 시작하였다. 현재 ㈜코나아이 R&D센터에서 품질 및 보안, 시스템 인프라 업무 등을 담당하고 있다. 번역서로는 , , <리눅스 커널 2.6 구조와 원리>, <다이어그램으로 쉽게 배우는 UML>, , <컴파일러 구조와 원리>, <구글 크롬 OS>, <시스템 장애는 왜 두 번 일어났을까?>, <컴퓨터는 어떻게 만들어졌나요?> 등이 있다.
펼치기

책속에서





이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책