메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기
컴파일러 구조와 원리

컴파일러 구조와 원리

한빛미디어

번역서

절판

  • 저자 : 아오키 미네로우
  • 번역 : 이영희
  • 출간 : 2010-09-06
  • 페이지 : 616 쪽
  • ISBN : 9788979147681
  • 물류코드 :1768
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4점 (1명)
좋아요 : 36

책소개

컴파일러, 어셈블러, 링커, 하드웨어, 런타임 환경 등의 언어 처리 시스템의 동작원리를 해부한다.

C 언어를 축소한 C♭ 언어를 통해 컴파일러 구현 원리를 이해한다. C♭ 컴파일러를 중심으로 프로그래밍 언어의 실행 환경이 어떻게 구현되어 있는지 설명한다. 컴파일러, 어셈블러, 링커, 하드웨어, 런타임 환경에 대해 이해할 수 있다.

  • 어휘 해석
  • JavaCC로 파서를 작성
  • 구문 해석
  • x86 아키텍처
  • x86 어셈블러 프로그래밍
  • 함수 호출과 변수
  • 식과 문의 컴파일
  • 스택 프레임 할당
  • 최적화 방법
  • 오브젝트 파일의 생성
  • 링크와 라이브러리
  • 프로그램의 로드
  • 위치독립코드의 생성

저자소개

아오키 미네로우 저자

아오키 미네로우

문과계열을 전공한 소프트웨어 엔지니어. 주요 저서로는 『Ruby 소스 코드 완전 해설』 『Linux 프로그래밍』이 있다.
http://i.loveruby.net/

아오키 미네로우 역자

이영희

현재 노틸러스효성 주식회사 금융솔루션사업 본부의 부장으로 재직 중이며, 다년간 일본 히다찌 및 관련 계열사와의 SI프로젝트 및 패기지 개발에 주력하였다. 최근에는 효율적인 프로젝트 관리 및 품질 관리에 초점을 두고 국제 품질 인증 심사의 하나인 CMMI기반의 사내 품질경영시스템을 구축하고 있으며, 그와 관련 사내 제안 및 계약 프로세스의 표준화를 위해 활동하고 있다.

목차

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 소스 코드  
찾아보기

독자리뷰

오탈자 보기

부록/예제소스

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
컴파일러 구조와 원리
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
컴파일러 구조와 원리
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
컴파일러 구조와 원리
구입처*
구입일*
부가기호*
부가기호 안내

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

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

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

닫기

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