HOME > Detail View

Detail View

(밑바닥부터 만드는) 컴파일러 in Go

Material type
단행본
Personal Author
Ball, Thorsten 박재석, 역
Title Statement
(밑바닥부터 만드는) 컴파일러 in Go / 토르슈텐 발 지음 ; 박재석 옮김
Publication, Distribution, etc
서울 :   인사이트,   2021  
Physical Medium
xix, 436 p. ; 23 cm
Varied Title
Writing a compiler in Go
ISBN
9788966263172 9788966263189(세트)
Bibliography, Etc. Note
참고문헌: p. 434-436
000 00000cam c2200205 c 4500
001 000046105643
005 20220121145826
007 ta
008 220121s2021 ulk b 000c kor
020 ▼a 9788966263172 ▼g 94500
020 1 ▼a 9788966263189(세트)
035 ▼a (KERIS)BIB000015913814
040 ▼a 247009 ▼c 247009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.453 ▼2 23
085 ▼a 005.453 ▼2 DDCK
090 ▼a 005.453 ▼b 2021z2
100 1 ▼a Ball, Thorsten
245 2 0 ▼a (밑바닥부터 만드는) 컴파일러 in Go / ▼d 토르슈텐 발 지음 ; ▼e 박재석 옮김
246 1 9 ▼a Writing a compiler in Go
260 ▼a 서울 : ▼b 인사이트, ▼c 2021
300 ▼a xix, 436 p. ; ▼c 23 cm
504 ▼a 참고문헌: p. 434-436
700 1 ▼a 박재석, ▼e
900 1 0 ▼a 발, 토르슈텐, ▼e
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 005.453 2021z2 Accession No. 121258819 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

《밑바닥부터 만드는 인터프리터 in Go》의 후속편. 인터프리터와 컴파일러의 가장 큰 차이점은 중간코드, 즉 목적코드의 존재 유무에 있다. 전편처럼 테스트 주도 개발 방법을 이용해, 컴파일러의 작은 부품에서부터 시작하여 점차 고급 기능으로 확장해간다.

이런 전개의 장점은 컴파일러의 구조와 코드를 독자가 매우 쉽게 이해하게 된다는 점입니다. 레고 부품을 조립해 하나의 완성된 테마를 만들 때처럼, 구현물이 테스트를 통과할 때마다 컴파일러의 동작 원리를 깨치는 재미가 제법 쏠쏠하다.

맨땅에서 시작해 완전히 작동하는 컴파일러 구현까지

이 책은 《밑바닥부터 만드는 인터프리터 in Go》의 후속편입니다. 인터프리터와 컴파일러의 가장 큰 차이점은 중간코드, 즉 목적코드의 존재 유무에 있습니다. 전편에서 만들어둔 파싱 데이터를 바이트코드라는 목적코드로 변환하고, 이것을 스택 기반의 가상 머신으로 실행하고 확장하는 과정을 단계적으로 보여줍니다.

이 책은 전편처럼 테스트 주도 개발 방법을 이용해, 컴파일러의 작은 부품에서부터 시작하여 점차 고급 기능으로 확장해갑니다. 이런 전개의 장점은 컴파일러의 구조와 코드를 독자가 매우 쉽게 이해하게 된다는 점입니다. 레고 부품을 조립해 하나의 완성된 테마를 만들 때처럼, 구현물이 테스트를 통과할 때마다 컴파일러의 동작 원리를 깨치는 재미가 제법 쏠쏠합니다. 호스트 언어인 Go를 깊이 있게 다루는 경험도 이 책이 주는 또 하나의 선물입니다.


Information Provided By: : Aladin

Author Introduction

토르슈텐 발(지은이)

단순함, 미니멀리즘, 있는 그대로의 모습, 정직함, 본질을 가치 있게 생각한다. 그리고 유머. 유머는 진지함만큼이나 중요한 가치로 여긴다. Sourcegraph에서 소프트웨어 엔지니어로 일하고 있으며, 다양한 주제를 깊게 파고들기를 좋아해 이를 통해 더 깊은 이해를 얻고자 한다. 저자의 블로그: https://thorstenball.com/

박재석(옮긴이)

동대문 패션 플랫폼 스타트업인 '와이즈패션'에서 일하고 있다. 개발자로 은퇴하고 그 이후에도 계속 개발하면서 사는 것이 목표다.

Information Provided By: : Aladin

Table of Contents

옮긴이의 글
감사의 말
Introduction

1장 컴파일러와 가상 머신

1-1컴파일러
1-2가상 머신과 실제 머신
1-3앞으로 나아갈 방향, 가상 머신과 컴파일러의 쌍대성

2장 Hello Bytecode!

2-1첫 번째 명령어
2-2스택으로 덧셈하기
2-3 REPL 연동하기

3장 표현식 컴파일하기
3-1스택 정리하기
3-2중위 표현식
3-3불
3-4비교 연산자
3-5전위 표현식

4장 조건식
4-1점프
4-2조건식 컴파일하기
4-3점프 명령어 실행
4-4돌아왔구나, NULL!

5장 이름을 추적하는 방법
5-1구현 계획
5-2바인딩 컴파일하기

6장 문자열, 배열, 해시
6-1문자열
6-2배열
6-3해시
6-4인덱스 연산자 구현하기

7장 함수
7-1시작은 단순한 함수부터
7-2지역 바인딩
7-3함수 호출 인수

8장 내장 함수
8-1코드 변경은 간편하게
8-2코드 변경 계획
8-3내장 함수용 스코프
8-4 내장 함수 실행

9장 클로저
9-1근본적인 문제
9-2구현 계획
9-3모든 것을 클로저로
9-4 자유 변수 컴파일과 환원
9-5 런타임에서 클로저 만들기
9-6 재귀적 클로저

10장 갈무리

더 읽을거리
참고문헌

New Arrivals Books in Related Fields

Zumstein, Felix (2022)