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

한빛출판네트워크

만들면서 배우는 인터프리터: 컴파일러 이론으로 만드는 나만의 스크립트 언어

한빛미디어

번역서

절판

  • 저자 : 하야시 하루히코
  • 번역 : 김성재
  • 출간 : 2012-10-12
  • 페이지 : 304 쪽
  • ISBN : 9788979149043
  • 물류코드 :1904
  • 초급 초중급 중급 중고급 고급
2점 (2명)
좋아요 : 35

컴파일러 학습과 인터프리터 제작을 한 번에 끝낸다
C++ 언어를 이용해 BBI라는 인터프리터를 단계별로 완성한다. 인터프리터는 한 번에 번역하는 과정을 거치는 컴파일러와 달리, 사용자가 입력하는 코드를 실시간으로 한 줄씩 동시통역하는 언어처리 프로그램이다. 번역은 통역과 공통된 부분도 있지만, 다른 부분도 있다. 이 책에서는 문법 표현, 어휘 분석, 수식 분석과 같은 컴파일러 이론과 공통된 부분에서부터 인터프리터 처리에 특화된 부분까지 모두 설명하고 있다. 따라서 컴파일러 이론이 실제로 어떻게 구현되는지 학습하면서 자신만의 인터프리터를 만들어볼 수 있다.

BBI 인터프리터(Basic과 ruBy를 닮은 Interpreter)
이 책에서 모델로 개발할 BBI 인터프리터는 CCI-C 컴파일러의 앞 단계에 해당하는 처리계라는 의미도 있다. 전체를 파악할 수 있을 정도로 작지만 인터프리터의 기본 개념을 대부분 설명할 수 있을 정도로 충실한 언어 구현 모델이다. 초보자에게 필요한 것이 하나의 소스 프로그램에 충분히 채워져 있고 BASIC과 RUBY를 닮아 더욱 매력적인 BBI 인터프리터를 직접 만들어 볼 수 있다.

미니 전자 계산기 프로그램 만들기
재귀적 하향 구문 분석 루틴을 이용해 미니 전자 계산기 프로그램을 만든다. 이 프로그램은 인터프리터 기술에도 통용되는 것으로, 어휘 분석이나 식 분석의 기본이 되는 기법이 들어 있다. 머리에 쏙 들어올 정도로 간결한 소재이고 식 분석 방법을 이해할 수 있을 만큼 주요 기능을 포함하고 있다.

  • 문법 표현
  • 인터프리터의 구성
  • 가상 스택 머신
  • BBI 인터프리터 언어 사양
  • 어휘 분석과 토큰 추출
  • 역폴란드 표기법 프로그램
  • 전자 계산기 프로그램
  • 구문 분석과 구문 트리
  • 선언 처리와 심볼 테이블
  • 함수 호출과 함수 처리
  • 멀티 스테이트먼트
  • C++ 핵심 정리
  • BBI 인터프리터 전체 소스 코드
하야시 하루히코 저자

하야시 하루히코

일본에서는 명쾌입문, 실용 마스터 시리즈를 비롯해 다양한 책을 집필한 베스트셀러 저자다.

김성재 역자

김성재

기술 분야 전문 번역가. 관심 분야는 IT 기술과 일본어 교육 콘텐츠 등이다. 최근에는 업무에 필요한 맥 OS와 iOS 애플리케이션의 개발과 리뷰, 환경 구축에 관심이 있다. 번역서로는 『만들면서 배우는 기계 학습』, 『빅데이터의 충격』, 『C언어로 배우는 리눅스 프로그래밍』, 『구글 웹로그 분석』(이상 한빛미디어) 등이 있다.

 

지은이의 말옮긴이의 말01장 인터프리터의 기초   1.1 즐기면서 개발한다  1.2 컴파일러와 인터프리터  1.3 인터프리터 구성  1.4 이 책에서 가정한 실행 환경  1.5 이 책에서 개발할 처리계  1.6 BBI 인터프리터의 언어 사양02장 문법 표현  2.1 구문 도표 표기법  2.2 BNF 표기법  2.3 종료 기호와 비종료 기호  2.4 BNF 표기법의 다른 표현  2.5 확장 BNF 표기법  2.6 언어 사양 설계03장 어휘 분석  3.1 단어와 토큰  3.2 어휘 분석 루틴의 역할  3.3 주석 제거  3.4 문자 종류표 설정  3.5 열거 상수값 연구  3.6 토큰 추출04장 내부 코드 변환  4.1 토큰의 단축화  4.2 점프할 곳의 번호 가져오기  4.3 블록 구성  4.4 정적 구문 검사  4.5 내부 코드 저장  4.6 BBI 인터프리터의 오류 처리05장 식의 분석  5.1 식의 표현  5.2 연산자 순위표에 의한 구문 분석  5.3 재귀적 하향 구문 분석  5.4 분석 트리와 구문 트리06장 선언 처리와 심볼 테이블  6.1 심볼 테이블 작성  6.2 심볼 테이블에 등록  6.3 심볼 테이블 탐색  6.4 분석 처리 시작  6.5 변수 선언 처리  6.6 암묵적 변수 선언  6.7 암묵적 변수 선언 금지  6.8 함수 정의 처리07장 구문 검사  7.1 구문 검사의 타이밍  7.2 구문 검사 방법  7.3 구문 검사 지원08장 인터프리터 실행 관리  8.1 프로그램 실행  8.2 코드 추출  8.3 프로그램 종료09장 식의 실행  9.1 일차식 처리  9.2 단항 연산자 처리  9.3 이항 연산자 처리  9.4 상수 폴딩10장 문의 실행  10.1  문과 블록  10.2  블록  10.3  대입문  10.4  while 문  10.5  for 문  10.6  if 문  10.7  break 문  10.8  exit 문  10.9  return 문11장 함수 호출과 함수 처리  11.1  BBI 인터프리터의 함수  11.2  함수 호출 방법  11.3  환경 정보 저장  11.4  프레임 처리  11.5  오퍼랜드 스택과 실행 시간 스택  11.6  함수의 호출 처리  11.7  함수의 입구 처리  11.8  함수의 본체 처리  11.9  함수의 출구 처리12장 내장 함수  12.1  스테이트먼트와 내장 함수 준비  12.2  내장 함수 실행13장 기능 강화 방법  13.1  개요  13.2  데이터형 추가  13.3  문자열 형 처리  13.4  상수 표현  13.5  상수 계산  13.6  초기화 기능  13.7  연산자 추가  13.8  제어문 추가  13.9  표준 함수 추가  13.10 입출력 표준 함수  13.11 멀티 스테이트먼트14장 C++ 핵심 정리  14.1  함수의 다중 정의  14.2  디폴트 인수  14.3  vector 컨테이너  14.4  stack 컨테이너 어댑터  14.5  클래스  14.6  예외 처리15장 BBI 인터프리터 전체 소스 프로그램  15.1  파일 구성  15.2 개발 환경과 동작 확인  15.3 프로그램 코드에 대해서  15.4 함수명 목록

인터프리터 관련되어서는 이번에 처음으로 읽어보는거 같다.

책의 제목은
만들면서 배우는 인터프리터이지만
만들어가는 과정을 같이 따라가는 식은 아니고
이미 만들어놓은 인터프리터에 대해서
각 챕터별로 설명을 해놓은 구성인거 같다.

그러다보니
각 챕터별 연관성이 좀 약하다 볼 수 있다.
만들면서 따라가는 식으로 생각하고 책을 읽어가다가는
이게 무슨얘기인가 갸우뚱 할 수도 있다.

또한 인터프리터에 대한 기본적인 지식이 없다면
책을 읽으면서 이해가 안갈수도 있다.

책의 구성은 인터프리터에 대해서 어느정도 지식이 있는 상황에서
만들어놓은 인터프리터를 가지고 각 챕터별로
이런 구성은 이런 규칙으로 해서 이렇게 구성했다
라는 구성의 설명으로 이해가 된다.

해당 인터프리터 소스 자체가 분량이 적은 편이라
책을 보면서 공부한다면
인터프리터에 대해서 아는데 도움이 될 수 있을 것 같다.

제목이 주는 중압감에 비해서 책이 얇다. 겨우 300여 페이지. 게다가 판형도 작다. 그래서 부담 없이 읽을 수 있을 것 같나? 적어도 처음 몇 페이지는 그렇다. 인터프리터를 만들기 위한 컴파일러 이론에 대해 비교적 쉽게 설명한다. 딱 거기까지다. 그리고 그 설명이라는 게 쉽게 설명해서 쉽다기보다는, 설명하는 게 별로 없어서 쉬운 거에 더 가깝다.

이 책의 저자는 아주 간단한 스크립트를 만들었다. 그리고 그 코드를 책에 몽땅 적어놨다. 물론, 불친절한 주석이 책의 분량을 매꾼다. 더 최악인 것은, 저자는 C++을 사용한다고 주장하지만, 정작 모든 스타일은 완벽하게 C 스타일이다. 그럼에도 굳이 C++을 사용한 이유는 STL의 컨테이너를 쓰기 위함일 뿐이다. 그나마도, 저자의 코드는 간결함과도 거리가 멀다. 결국, 독자는 짧은 설명을 이해하기 위해 노력해야 하고, 동시에 레거시 코드를 분석하려는 마음가짐이 필요하다.

코드를 따라 치던 나는, 욕을 하며 그만뒀다.

장담컨대, 이 책은 잘 쳐줘도 50페이지 분량이면 충분한 내용을 몇 배로 뻥튀기 해 놓은 것에 불과하다. 상당수는 코드이고, 그도 모자라 상당부분은 사용하지도 않는 C++에 대한 설명을 부록으로 끼워 넣었다.

인터프리터를 만들고 싶은가? 그렇다면 이 책은 사지 말라.

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

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
만들면서 배우는 인터프리터: 컴파일러 이론으로 만드는 나만의 스크립트 언어
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
만들면서 배우는 인터프리터: 컴파일러 이론으로 만드는 나만의 스크립트 언어
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
만들면서 배우는 인터프리터: 컴파일러 이론으로 만드는 나만의 스크립트 언어
구입처*
구입일*
부가기호*
부가기호 안내

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

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

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

닫기

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

자료실

최근 본 책0