간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (18,810원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (13,860원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (15,840원)
(최대할인 4만원 / 2만원 이상 결제)
Close

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

원제 : 明快入門インタプリタ開發 基本技術から處理系の實裝まで
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 52
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

22,000원

  • 19,800 (10%할인)

    1,100P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
  • 4/4(화) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
  • 주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서

    • 상품권

    AD

    책소개

    만들면서 배우는『인터프리터』. 컴파일러 이론으로 나만의 스크립트 언어를 만들어볼 수 있도록 구성한 책이다. 인터프리터를 만들면서 컴파일러 이론을 배우고 인터프리터 작성 원리를 학습할 수 있도록 도와준다. 컴파일러 이론에 대해 관심이 많고 인터프리터를 만들어보고 싶은 개발자와 컴파일러 수업을 듣는 컴퓨터 공학과 2, 3학년 학생들이 활용할 수 있다.

    출판사 서평

    이 책이 제시하는 핵심 내용
    인터프리터를 만들면서 컴파일러 이론을 배우고 인터프리터 작성 원리를 학습한다.

    어떤 독자를 위한 책인가?
    ●컴파일러 이론에 대해 관심이 많고 인터프리터(스크립트 언어)를 만들어보고 싶은 개발자
    ●컴파일러 수업을 듣는 컴퓨터 공학과 2~3학년 학생

    도서 특징(책 표지 글)
    -. 컴파일러 학습과 인터프리터 제작을 한 번에 끝낸다

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

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

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

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

    지은이의 말
    이 책은 인터프리터를 스스로 개발하려는 사람을 위한 입문서로 순수하게 인터프리터 언어 개발 기법을 설명한다. 인터프리터는 컴파일러와 비교하여 어느 정도 부담 없이 개발할 수 있다. 그 이유는 컴파일러는 프로그램 실행에 관한 정보를 생성하는 출력 코드에 모두 반영해야 하지만 인터프리터는 실행에 관한 정보 대부분을 인터프리터 내부에서 관리하기 때문이다.
    하지만 큰 부담 없이 개발할 수 있다고 해도 인터프리터 개발이 그리 간단한 건 아니다. 컴파일러만큼은 아니라도 역시 깊이가 있으므로 아무 지식도 없는 사람이 의욕만 앞세워 개발하긴 어렵다. 역시 처음에는 관련 지식을 습득해둘 필요가 있다.
    인터프리터 개발은 기본적으로 컴파일러 개발과 같은 이론을 사용한다. 컴파일러 개발 기법에서 어휘 분석이나 구문 분석 분야는 잘 연구되어 있고 이론서도 많다. 이런 책은 이론을 자세히 설명하고 요점을 가르쳐주므로 인터프리터를 개발할 때도 컴파일러 이론서 한 권쯤은 읽어두는 것이 좋다.
    물론 이런 전문 서적을 읽는다고 인터프리터를 개발할 수 있느냐면 그렇게 간단하지 않다. 우선, 이론서는 어디까지나 이론에 대한 설명이므로 실제 개발, 즉 구현 방법에 대해서는 자세히 설명하지 않는 것이(설명할 페이지 수가 없는 것이) 보통이다. 또한, 이론의 적용 대상은 컴파일러라서 인터프리터 개발 기법을 설명하지 않는다. 아무래도 인터프리터는 이론 탐구의 본 주제로 다루기 어려운 부분이 있다. 이런 점에서 초보자가 인터프리터 개발 기법을 배우기는 쉽지 않으며 인터프리터 코드를 눈으로 볼 기회도 거의 없으리라 생각된다.
    이 책은 그런 입문자의 길잡이가 되도록 실용적이고 적절한 처리계(*역자주: 프로그램을 언어 사양에 기초해 구현하는 컴파일러나 인터프리터 같은 소프트웨어)를 실제로 개발하면서 인터프리터 이론과 개발 기법을 설명한다. 이때 모델로 개발할 언어는 BASIC이나 Ruby, C 등 사용자가 많은 언어의 지식이 통용되는 미니 기능판으로 하고 다음을 필수 조건으로 고려했다.

    ● 소스 프로그램은 완전한 버전이다(소스를 컴파일하면 제품이 만들어진다).
    ● 프로그램은 전체를 어려움 없이 살펴볼 수 있을 정도로 작다.
    ● 평이하게 설명할 수 있는 범위의 언어 기능이라야 전체를 파악하기 쉽다.
    ● 하지만 인터프리터의 본질적인 구조를 습득할 수 있을 만큼의 복잡함은 필요하다.

    이처럼 평이하고 작지 않으면, 혼란스럽지만 언어의 본질적인 구조를 회피한 간단한 인터프리터로는 의미가 없다는 생각에서 타협안을 고려했다.
    이 책은 인터프리터의 기본 구조를 친절하게 설명한다. 인터프리터의 기본 구조는 바로 이 책의 핵심이다. 그리고 필요에 따라 컴파일러일 때는 어떻게 한다는 관련 지식도 소개한다. 그 이유는 인터프리터를 컴파일러 관련 기술로 습득하는 편이 적절하다고 생각하기 때문이다. 또한, 인터프리터의 기능을 확장해 완성판으로 만들어 가는 데 도움이 되는 아이디어도 책의 곳곳에서 설명한다.
    인터프리터 개발서도 나름대로 어려운 내용이 되기 십상이지만 즐기면서 인터프리터를 개발할 수 있는 편안한 분위기가 되게끔 배려했다. 이 책에서 설명하는 것은 인터프리터 구현의 한 방법이므로 이론을 습득하고 나면 독자의 자유로운 발상대로 구현할 수 있다. 인터프리터 개발은 즐겁다. 기발한 구현 방법을 찾아내는 과정을 즐겨보라. 이 책을 읽고 난 독자가 ‘직접 인터프리터를 만들어보고 싶다. 이거라면 나도 인터프리터를 만들 수 있지 않을까?’라고 느낄 수 있게 되면 기쁘겠다.
    _2011년 12월 22일 하야시 하루히코

    옮긴이의 말
    번역할 책을 받아 들고 문득 어린 시절 컴퓨터를 배우던 때가 생각났습니다. 그때 처음 배웠던 언어는 BASIC이었는데, 화면에 원하던 결과가 표시되는 재미에 시간이 가는 줄도 모르고 한 줄 한 줄 코드를 입력하고 바꿔보고 시험하길 되풀이했습니다. 그러면서 한편으로는 내가 입력한 프로그램을 어떻게 컴퓨터가 알아듣고 실행해주는지 궁금했습니다.
    이처럼 프로그래밍을 접해본 사람이라면 한 번쯤 자신이 입력한 프로그램을 해석하고 실행해주는 ‘프로그래밍 언어’가 어떻게 만들어졌는지 궁금해한 적이 있을 겁니다. 그리고 자신이 만든 언어로 컴퓨터와 대화해보고 싶다는 생각을 해본 사람도 있을 겁니다. 이 책은 그런 분들을 위해 프로그래밍 언어 개발에 꼭 필요한 부분만을 추려내 설명함으로써 언어의 구조와 동작 방식을 이해할 수 있게 도와줍니다. 특히, 프로그래밍 언어 개발 서적 중에선 드물게 인터프리터 언어에 대해 다루고 있어, 컴파일러 방식 언어보다 고려해야 할 사항이 상대적으로 적어 수월하게 학습을 진행할 수 있다는 게 이 책의 특징입니다.
    또한, 실행 가능한 완전한 소스를 제공하고 개발에 필요한 사고 방식과 구현 방법을 설명하므로 소스 코드를 통해 전체적인 모습을 파악하면서 학습을 진행할 수 있습니다. 저자의 말처럼 이 책에서 만들어갈 언어는 단순한 사양이지만 기본적으로 필요한 기능들은 제대로 갖추고 있습니다. 학습 과정을 통해 프로그래밍 언어의 구조와 동작 방식을 이해한다면 좀 더 효율적인 응용 프로그램 작성에도 도움이 되리라 생각합니다.
    개인적으로는 지금까지 막연하게 ‘언젠가 공부해보고 싶다’고만 생각했지 어디서부터 시작해야 할지 몰랐던 프로그래밍 언어 개발을 이 책을 통해 간접적으로나마 체험해볼 수 있었던 것은 번역 과정에서 얻은 커다란 수확입니다. 평소에 프로그래밍 언어 개발에 관심을 가지고 있는 독자라면 자신만의 프로그래밍 언어 개발에 필요한 지식과 유익한 경험을 얻으실 수 있으리라 믿습니다. 끝으로 부족한 원고를 꼼꼼하게 교정하고 좋은 책으로 만드는데 수고해주신 모든 분들께 감사 드립니다.
    _2012년 9월 김성재

    관련 도서
    『컴파일러 구조와 원리』(한빛미디어, 2010)
    『IT EXPERT, 64비트 멀티코어 OS 원리와 구조 1,2』(한빛미디어, 2010)

    목차

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

    관련이미지

    저자소개

    하야시 하루히코 [저] 신작알림 SMS신청
    생년월일 -

    해당작가에 대한 소개가 없습니다.

    김성재 [역] 신작알림 SMS신청
    생년월일 -

    해당작가에 대한 소개가 없습니다.

    컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

      리뷰

      8.0 (총 0건)

      100자평

      작성시 유의사항

      평점
      0/100자
      등록하기

      100자평

      0.0
      (총 0건)

      판매자정보

      • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

      상호

      (주)교보문고

      대표자명

      안병현

      사업자등록번호

      102-81-11670

      연락처

      1544-1900

      전자우편주소

      callcenter@kyobobook.co.kr

      통신판매업신고번호

      01-0653

      영업소재지

      서울특별시 종로구 종로 1(종로1가,교보빌딩)

      교환/환불

      반품/교환 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

      반품/교환가능 기간

      변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
      단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

      반품/교환 비용

      변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
      상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

      반품/교환 불가 사유

      ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
      (단지 확인을 위한 포장 훼손은 제외)

      ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 화장품, 식품, 가전제품(악세서리 포함) 등

      ·복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

      ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

      ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

      상품 품절

      공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

      소비자 피해보상
      환불지연에 따른 배상

      ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

      ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

      (주) 인터파크커머스 안전결제시스템 (에스크로) 안내

      (주)인터파크커머스의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
      결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

      배송안내

      • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

      • 배송비는 업체 배송비 정책에 따릅니다.

      • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용