밑바닥부터 만드는 컴파일러 in Go
Regular price
$32.67
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
맨땅에서 시작해 완전히 작동하는 컴파일러 구현까지
이 책은 《밑바닥부터 만드는 인터프리터 in Go》의 후속편입니다. 인터프리터와 컴파일러의 가장 큰 차이점은 중간코드, 즉 목적코드의 존재 유무에 있습니다. 전편에서 만들어둔 파싱 데이터를 바이트코드라는 목적코드로 변환하고, 이것을 스택 기반의 가상 머신으로 실행하고 확장하는 과정을 단계적으로 보여줍니다.
이 책은 전편처럼 테스트 주도 개발 방법을 이용해, 컴파일러의 작은 부품에서부터 시작하여 점차 고급 기능으로 확장해갑니다. 이런 전개의 장점은 컴파일러의 구조와 코드를 독자가 매우 쉽게 이해하게 된다는 점입니다. 레고 부품을 조립해 하나의 완성된 테마를 만들 때처럼, 구현물이 테스트를 통과할 때마다 컴파일러의 동작 원리를 깨치는 재미가 제법 쏠쏠합니다. 호스트 언어인 Go를 깊이 있게 다루는 경험도 이 책이 주는 또 하나의 선물입니다.
이 책은 《밑바닥부터 만드는 인터프리터 in Go》의 후속편입니다. 인터프리터와 컴파일러의 가장 큰 차이점은 중간코드, 즉 목적코드의 존재 유무에 있습니다. 전편에서 만들어둔 파싱 데이터를 바이트코드라는 목적코드로 변환하고, 이것을 스택 기반의 가상 머신으로 실행하고 확장하는 과정을 단계적으로 보여줍니다.
이 책은 전편처럼 테스트 주도 개발 방법을 이용해, 컴파일러의 작은 부품에서부터 시작하여 점차 고급 기능으로 확장해갑니다. 이런 전개의 장점은 컴파일러의 구조와 코드를 독자가 매우 쉽게 이해하게 된다는 점입니다. 레고 부품을 조립해 하나의 완성된 테마를 만들 때처럼, 구현물이 테스트를 통과할 때마다 컴파일러의 동작 원리를 깨치는 재미가 제법 쏠쏠합니다. 호스트 언어인 Go를 깊이 있게 다루는 경험도 이 책이 주는 또 하나의 선물입니다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
옮긴이의 글
감사의 말
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장 갈무리
더 읽을거리
참고문헌
감사의 말
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장 갈무리
더 읽을거리
참고문헌
저자
저자
토르슈텐 발
Thorsten Ball
단순함, 미니멀리즘, 있는 그대로의 모습, 정직함, 본질을 가치 있게 생각한다.
그리고 유머. 유머는 진지함만큼이나 중요한 가치로 여긴다.
Sourcegraph에서 소프트웨어 엔지니어로 일하고 있으며,
다양한 주제를 깊게 파고들기를 좋아해 이를 통해 더 깊은 이해를 얻고자 한다.
저자의 블로그: https://thorstenball.com/
단순함, 미니멀리즘, 있는 그대로의 모습, 정직함, 본질을 가치 있게 생각한다.
그리고 유머. 유머는 진지함만큼이나 중요한 가치로 여긴다.
Sourcegraph에서 소프트웨어 엔지니어로 일하고 있으며,
다양한 주제를 깊게 파고들기를 좋아해 이를 통해 더 깊은 이해를 얻고자 한다.
저자의 블로그: https://thorstenball.com/
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.
$99 이상 무료 배송
3% 리워드 크레딧 적립
Secure Payment

