나에게 필요한 지식과 기술을 검색해 보세요.

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

지은이

하야시 하루히코

옮긴이

김성재

출간일

2012.10.12

레벨

중고급

평점

2(2명)

정가

22,000

판매가

19,800

총 결제 금액

10%

19,800

적립 예정

990P

쪽수

304P

ISBN

9788979149043

브랜드

한빛미디어

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

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

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

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

저자

목차

지은이의 말옮긴이의 말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 함수명 목록

리뷰

전체 평점

2

오탈자

등록된 오탈자가 없어요

오탈자를 발견하셨다면 작성해주세요.

22,000

10%

19,800