로버트 나이스트롬의 인터프리터 in Java, C > 프로그래밍/언어

본문 바로가기
쇼핑몰 검색
  • 회원가입
    2000

    로그인

    다양한 서비스와 이벤트 혜택을 누리실 수 있습니다.

    아이디 비밀번호
로버트 나이스트롬의 인터프리터 in Java, C > 프로그래밍/언어

로버트 나이스트롬의 인터프리터 in Java, C 요약정보 및 구매

기본설명

상품 선택옵션 0 개, 추가옵션 0 개

제조사 길벗
원산지 국내산
브랜드 길벗
시중가격 55,000원
판매가격 55,000원
배송비결제 주문시 결제
최소구매수량 1 개
최대구매수량 999 개

선택된 옵션

  • 로버트 나이스트롬의 인터프리터 in Java, C
    +0원
위시리스트

관련상품

등록된 상품이 없습니다.

  • 상품정보
  • 사용후기 0
  • 상품문의 0
  • 배송정보
  • 교환정보
  • 상품정보

    상품 기본설명

    기본설명

    상품 상세설명

    로버트 나이스트롬의 인터프리터 in Java, C

    9791140707386.jpg

    도서명:로버트 나이스트롬의 인터프리터 in Java, C
    저자/출판사:로버트 나이스트롬/길벗
    쪽수:816쪽
    출판일:2023-11-30
    ISBN:9791140707386

    목차
    1부 | 환영한다!

    1장 들어가기
    __1.1 왜 이런 걸 배우는가?
    ____1.1.1 미니 언어는 곳곳에 있다
    ____1.1.2 언어는 훌륭한 연습이다
    ____1.1.3 한 가지 더
    __1.2 이 책의 구성
    ____1.2.1 코드
    ____1.2.2 스니펫
    ____1.2.3 어사이드
    ____1.2.4 연습 문제
    ____1.2.5 디자인 노트
    __1.3 첫 번째 인터프리터
    __1.4 두 번째 인터프리터
    연습 문제
    디자인 노트 | 언어 이름 짓기

    2장 인터프리터 원정대
    __2.1 언어의 구성 요소
    ____2.1.1 스캐닝
    ____2.1.2 파싱
    ____2.1.3 정적 분석
    ____2.1.4 중간 표현
    ____2.1.5 최적화
    ____2.1.6 코드 생성
    ____2.1.7 가상 머신
    ____2.1.8 런타임
    __2.2 지름길과 대체 경로
    ____2.2.1 싱글 패스 컴파일러
    ____2.2.2 트리 탐색 인터프리터
    ____2.2.3 트랜스파일러
    ____2.2.4 JIT 컴파일
    __2.3 컴파일러와 인터프리터
    __2.4 여행을 떠나자!
    연습 문제

    3장 록스 언어
    __3.1 안녕, 록스
    __3.2 하이레벨 언어
    ____3.2.1 동적 타이핑
    ____3.2.2 자동 메모리 관리
    __3.3 데이터 타입
    __3.4 표현식
    ____3.4.1 산술
    ____3.4.2 비교와 동등성
    ____3.4.3 논리 연산자
    ____3.4.4 우선순위와 그룹핑
    __3.5 문장
    __3.6 변수
    __3.7 제어 흐름
    __3.8 함수
    ____3.8.1 클로저
    __3.9 클래스
    ____3.9.1 객체 지향 언어를 추구해야 할 이유가 있을까?
    ____3.9.2 록스는 왜 객체 지향 언어로 만들었나?
    ____3.9.3 클래스냐 프로토타입이냐
    ____3.9.4 록스의 클래스
    ____3.9.5 인스턴스화 및 초기화
    ____3.9.6 상속
    __3.10 표준 라이브러리
    연습 문제
    디자인 노트 | 표현식과 문장

    2부 | 트리 탐색 인터프리터

    4장 스캐닝
    __4.1 인터프리터 프레임워크
    ____4.1.1 에러 처리
    __4.2 렉심과 토큰
    ____4.2.1 토큰 타입
    ____4.2.2 리터럴 값
    ____4.2.3 위치 정보
    __4.3 정규 언어와 표현식
    __4.4 스캐너 클래스
    __4.5 렉심 식별하기
    ____4.5.1 렉시컬 에러 090
    ____4.5.2 연산자 091
    __4.6 길이가 긴 렉심
    ____4.6.1 문자열 리터럴
    ____4.6.2 숫자 리터럴
    __4.7 예약어와 식별자
    연습 문제
    디자인 노트 | 암묵적 세미콜론

    5장 코드 표현
    __5.1 컨텍스트 자유 문법
    ____5.1.1 문법 규칙
    ____5.1.2 표기법 개선
    ____5.1.3 록스 표현식 문법
    __5.2 구문 트리 구현
    ____5.2.1 무지향성 객체
    ____5.2.2 트리 메타프로그래밍
    __5.3 트리 다루기
    ____5.3.1 표현식 문제
    ____5.3.2 비지터 패턴
    ____5.3.3 표현식에 비지터를 적용
    __5.4 (적당히) 예쁜 출력기
    연습 문제

    6장 표현식 파싱
    __6.1 모호함과 파싱 게임
    __6.2 재귀 하향 파싱
    ____6.2.1 파서 클래스
    __6.3 구문 에러
    ____6.3.1 패닉 모드 에러 복구
    ____6.3.2 패닉 모드 진입
    ____6.3.3 재귀 하향 파서 동기화
    __6.4 파서 연결
    연습 문제
    디자인 노트 | 로직 vs 역사

    7장 표현식 평가
    __7.1 값을 표현하기
    __7.2 표현식 평가
    ____7.2.1 리터럴 평가
    ____7.2.2 괄호 평가
    ____7.2.3 단항식 평가
    ____7.2.4 참과 거짓
    ____7.2.5 이항 연산자 평가
    __7.3 런타임 에러
    ____7.3.1 런타임 에러 감지
    __7.4 인터프리터 연결
    ____7.4.1 런타임 에러 리포팅
    ____7.4.2 인터프리터 실행
    연습 문제
    디자인 노트 | 정적 타이핑과 동적 타이핑

    8장 문장과 상태
    __8.1 문장
    ____8.1.1 문장 구문 트리
    ____8.1.2 문장 파싱
    ____8.1.3 문장 실행
    __8.2 글로벌 변수
    ____8.2.1 변수 구문
    ____8.2.2 변수 파싱
    __8.3 환경
    ____8.3.1 글로벌 변수의 인터프리팅
    __8.4 할당
    ____8.4.1 할당 구문
    ____8.4.2 할당 시맨틱
    __8.5 스코프
    ____8.5.1 중첩과 섀도잉
    ____8.5.2 블록 구문과 시맨틱
    연습 문제
    디자인 노트 | 암묵적 변수 선언

    9장 제어 흐름
    __9.1 튜링 기계(개요)
    __9.2 조건부 실행
    __9.3 논리 연산자
    __9.4 while 루프
    __9.5 for 루프
    ____9.5.1 디슈가링
    연습 문제
    디자인 노트 | 구문 슈가 범벅

    10장 함수
    __10.1 함수 호출
    ____10.1.1 최대 인수 개수
    ____10.1.2 함수 호출 인터프리팅
    ____10.1.3 호출 타입 에러
    ____10.1.4 애리티 체크
    __10.2 네이티브 함수
    ____10.2.1 시간 측정
    __10.3 함수 선언
    __10.4 함수 객체
    ____10.4.1 함수 선언 인터프리팅
    __10.5 리턴문
    ____10.5.1 호출에서 리턴
    __10.6 로컬 함수와 클로저
    연습 문제

    11장 리졸빙과 바인딩
    __11.1 정적 스코프
    ____11.1.1 스코프와 가변 환경
    ____11.1.2 영속적 환경
    __11.2 시맨틱 분석
    ____11.2.1 변수 레졸루션 패스
    __11.3 리졸버 클래스
    ____11.3.1 블록 리졸빙
    ____11.3.2 변수 선언 리졸빙
    ____11.3.3 변수식 리졸빙
    ____11.3.4 할당식 리졸빙
    ____11.3.5 함수 선언 리졸빙
    ____11.3.6 기타 구문 트리 노드의 리졸빙
    __11.4 리졸브된 변수의 인터프리팅
    ____11.4.1 리졸브된 변수 액세스
    ____11.4.2 리졸브된 변수 할당
    ____11.4.3 리졸버 실행
    __11.5 레졸루션 에러
    ____11.5.1 잘못된 리턴 에러
    연습 문제

    12장 클래스
    __12.1 OOP와 클래스
    __12.2 클래스 선언
    __12.3 인스턴스 생성
    __12.4 인스턴스 프로퍼티
    ____12.4.1 겟 표현식
    ____12.4.2 셋 표현식
    __12.5 클래스 메서드
    __12.6 this
    ____12.6.1 잘못된 this 용례
    __12.7 생성자와 초기자
    ____12.7.1 init() 직접 호출
    ____12.7.2 init()에서 리턴
    연습 문제
    디자인 노트 | 프로토타입과 파워

    13장 상속
    __13.1 수퍼클래스와 서브클래스
    __13.2 메서드 상속
    __13.3 수퍼클래스 메서드 호출
    ____13.3.1 구문
    ____13.3.2 시맨틱
    ____13.3.3 잘못된 super 용례
    __13.4 마무리
    연습 문제

    3부 | 바이트코드 가상 머신

    14장 바이트코드 청크
    __14.1 바이트코드란?
    ____14.1.1 AST 탐색의 문제점은?
    ____14.1.2 그냥 네이티브 코드로 컴파일하면?
    ____14.1.3 바이트코드란?
    __14.2 시작하기
    __14.3 명령어 청크
    ____14.3.1 동적 명령어 배열
    __14.4 청크 디셈블링
    __14.5 상수
    ____14.5.1 값 표현
    ____14.5.2 값 배열
    ____14.5.3 상수 명령어
    __14.6 줄 정보
    ____14.6.1 줄 정보 디셈블링
    연습 문제
    디자인 노트 | 개발 중인 언어를 테스트

    15장 가상 머신
    __15.1 명령어 실행 머신
    ____15.1.1 명령어 실행
    ____15.1.2 실행 추적
    __15.2 값 스택 조작기
    ____15.2.1 VM의 스택
    ____15.2.2 스택 트레이스
    __15.3 산술 계산기
    ____15.3.1 이항 연산자
    연습 문제
    디자인 노트 | 레지스터 기반의 바이트코드

    16장 온 디맨드 스캐닝
    __16.1 인터프리터 시동 걸기
    ____16.1.1 컴파일 파이프라인 열기
    ____16.1.2 스캐너의 스캐닝
    __16.2 한 번에 토큰 하나씩
    ____16.2.1 토큰 스캐닝
    __16.3 록스의 렉시컬 문법
    ____16.3.1 공백 문자
    ____16.3.2 주석
    ____16.3.3 리터럴 토큰
    __16.4 식별자와 키워드
    ____16.4.1 트라이와 상태 기계
    연습 문제

    17장 표현식 컴파일
    __17.1 싱글 패스 컴파일
    __17.2 토큰 파싱
    ____17.2.1 구문 에러 처리
    __17.3 바이트코드 내보내기
    __17.4 전위식 파싱
    ____17.4.1 토큰 파서
    ____17.4.2 괄호로 그룹핑
    ____17.4.3 단항 음수화
    __17.5 중위식 파싱
    __17.6 프랫 파서
    ____17.6.1 우선순위에 따라 파싱
    __17.7 청크 덤프
    연습 문제
    디자인 노트 | 파싱은 파싱일 뿐

    18장 값 타입
    __18.1 태그 있는 공용체
    __18.2 록스의 값과 C의 값
    __18.3 동적 타입 숫자
    ____18.3.1 단항 부정과 런타임 에러
    ____18.3.2 이항 산술 연산자
    __18.4 두 가지 새로운 타입
    ____18.4.1 논리 not과 거짓
    ____18.4.2 동등/비교 연산자
    연습 문제

    19장 문자열
    __19.1 값과 객체
    __19.2 구조체 상속
    __19.3 문자열
    __19.4 문자열 연산
    ____19.4.1 문자열 연결
    __19.5 객체 해제
    연습 문제
    디자인 노트 | 문자열 인코딩

    20장 해시 테이블
    __20.1 버킷 배열
    ____20.1.1 로드 팩터 및 래핑된 키
    __20.2 충돌 해결
    ____20.2.1 개별 체이닝
    ____20.2.2 오픈 어드레싱
    __20.3 해시 함수
    __20.4 해시 테이블
    ____20.4.1 문자열 해싱
    ____20.4.2 엔트리 삽입
    ____20.4.3 할당 및 크기 조정
    ____20.4.4 값 조회
    ____20.4.5 엔트리 삭제
    ____20.4.6 툼스톤 개수 세기
    __20.5 문자열 인터닝
    연습 문제

    21장 글로벌 변수
    __21.1 문장
    ____21.1.1 print 문
    ____21.1.2 표현문
    ____21.1.3 에러 동기화
    __21.2 변수 선언
    __21.3 변수 읽기
    __21.4 할당
    연습 문제

    22장 로컬 변수
    __22.1 로컬 변수 표현
    __22.2 블록문
    __22.3 로컬 변수 선언
    __22.4 로컬 변수 사용
    ____22.4.1 로컬 변수 해석
    ____22.4.2 다른 스코프 엣지 케이스
    연습 문제

    23장 진격과 후퇴
    __23.1 if 문
    ____23.1.1 else 절
    __23.2 논리 연산자
    ____23.2.1 논리 or 연산자
    __23.3 while 문
    __23.4 for 문
    ____23.4.1 초기자 절
    ____23.4.2 조건절
    ____23.4.3 증분절
    연습 문제
    디자인 노트 | goto가 그렇게 해로울까?

    24장 호출과 함수
    __24.1 함수 객체
    __24.2 함수 객체로 컴파일
    ____24.2.1 컴파일 타임에 함수 생성
    __24.3 호출 프레임
    ____24.3.1 로컬 변수 할당
    ____24.3.2 리턴 주소
    ____24.3.3 호출 스택
    __24.4 함수 선언
    ____24.4.1 컴파일러 스택
    ____24.4.2 함수 매개변수
    __24.5 함수 호출
    ____24.5.1 인수를 매개변수에 바인딩
    ____24.5.2 런타임 에러 체크
    ____24.5.3 스택 트레이스 출력
    ____24.5.4 함수에서 리턴
    __24.6 리턴문
    __24.7 네이티브 함수
    연습 문제

    25장 클로저
    __25.1 클로저 객체
    ____25.1.1 클로저 객체로 컴파일
    ____25.1.2 함수 선언 해석
    __25.2 업밸류
    ____25.2.1 업밸류 컴파일
    ____25.2.2 업밸류 플랫화
    __25.3 업밸류 객체
    ____25.3.1 클로저에서의 업밸류
    __25.4 클로즈드 업밸류
    ____25.4.1 값과 변수
    ____25.4.2 업밸류 클로징
    ____25.4.3 오픈 업밸류 추적
    ____25.4.4 런타임에 업밸류 클로징
    연습 문제
    디자인 노트 | 루프 변수 클로징

    26장 가비지 수집
    __26.1 도달성
    __26.2 마크-스윕 가비지 수집
    ____26.2.1 가비지 수집
    ____26.2.2 디버그 로깅
    __26.3 루트 마킹
    ____26.3.1 불분명한 루트
    __26.4 객체 참조 추적
    ____26.4.1 색 추상화
    ____26.4.2 회색 객체 워크리스트
    ____26.4.3 회색 객체 처리
    __26.5 미사용 객체 스위핑
    ____26.5.1****한 참조와 문자열 풀
    __26.6 수집은 언제 하나?
    ____26.6.1 레이턴시와 스루풋
    ____26.6.2 자동 조정 힙
    __26.7 가비지 수집 버그
    ____26.7.1 상수 테이블에 추가
    ____26.7.2 문자열 인터닝
    ____26.7.3 문자열 연결
    연습 문제
    디자인 노트 | 세대별 수집기

    27장 클래스와 인스턴스
    __27.1 클래스 객체
    __27.2 클래스 선언
    __27.3 클래스 인스턴스
    __27.4 겟/셋 표현식
    ____27.4.1 게터/세터 표현식 해석
    연습 문제

    28장 메서드와 초기자
    __28.1 메서드 선언
    ____28.1.1 메서드 표현
    ____28.1.2 메서드 선언 컴파일
    ____28.1.3 메서드 선언 실행
    __28.2 메서드 참조
    ____28.2.1 바운드 메서드
    ____28.2.2 메서드 액세스
    ____28.2.3 메서드 호출
    __28.3 this
    ____28.3.1 this 오용 사례
    __28.4 인스턴스 초기자
    ____28.4.1 초기자 호출
    ____28.4.2 초기자 리턴값
    ____28.4.3 잘못된 초기자 리턴
    __28.5 호출 최적화
    ____28.5.1 필드 호출
    연습 문제
    디자인 노트 | 참신성 예산

    29장 메서드와 초기자
    __29.1 메서드 상속
    ____29.1.1 상속 실행
    ____29.1.2 이상한 수퍼클래스
    __29.2 수퍼클래스 저장
    ____29.2.1 수퍼클래스의 로컬 변수
    __29.3 수퍼 호출
    ____29.3.1 수퍼 액세스 실행
    ____29.3.2 수퍼 호출을 더 빠르게
    __29.4 완전한 가상 머신
    연습 문제

    30장 최적화
    __30.1 성능 측정
    ____30.1.1 벤치마크
    ____30.1.2 프로파일링
    __30.2 해시 테이블 프로빙을 더 빠르게
    ____30.2.1 느린 키 래핑
    __30.3 NaN 박싱
    ____30.3.1 숫자는 무엇이고, 숫자가 아닌 것은 무엇인가?
    ____30.3.2 조건부 지원
    ____30.3.3 숫자
    ____30.3.4 nil과 true/false
    ____30.3.5 객체
    ____30.3.6 Value 함수
    ____30.3.7 성능 평가
    __30.4 다음 도착지는?
    연습 문제

    4부 | 부록

    A1장 록스의 전체 문법
    __A1.1 구문 문법
    ____A1.1.1 선언
    ____A1.1.2 문장
    ____A1.1.3 표현식
    ____A1.1.4 유틸리티 규칙
    __A1.2 렉시컬 문법

    A2장 제이록스의 AST 생성기로 만든 자바 클래스 목록
    __A2.1 표현식
    ____A2.1.1 할당 표현식
    ____A2.1.2 이항 표현식
    ____A2.1.3 호출 표현식
    ____A2.1.4 겟 표현식
    ____A2.1.5 그룹핑 표현식
    ____A2.1.6 리터럴 표현식
    ____A2.1.7 논리 표현식
    ____A2.1.8 셋 표현식
    ____A2.1.9 super 표현식
    ____A2.1.10 this 표현식
    ____A2.1.11 단항 표현식
    ____A2.1.12 변수 표현식
    __A2.2 문장
    ____A2.2.1 블록문
    ____A2.2.2 클래스 문장
    ____A2.2.3 표현문
    ____A2.2.4 함수 문장
    ____A2.2.5 If 문
    ____A2.2.6 print 문
    ____A2.2.7 return 문
    ____A2.2.8 변수 문장
    ____A2.2.9 while 문

    B장 예제 코드 실습 안내 by 옮긴이
    ____B.1.1 시스템 요구 사항
    ____B.1.2 압축 파일 해제
    ____B.1.3 환경 변수(PATH)에 컴파일러 경로 추가
    ____B.1.4 개발 환경(Eclipse) 실행
    ____B.1.5 맺음말

    찾아보기
    delivery.jpg
  • 사용후기

    등록된 사용후기

    사용후기가 없습니다.

  • 상품문의

    등록된 상품문의

    상품문의가 없습니다.

  • 배송정보

    배송정보

    배송업체 : 한진택배 (1588-0011)
     배송비
     2,500원 (25,000원 이상 구매 시 무료 배송/일부상품제외) 군부대 및 도서산간 지역은 추가 배송비가 발생할 수 있습니다.
     ◆배송기간
     : 평일 오전 7시 이전 주문 시 당일 발송 (2~3일 소요) : 단, 공휴일, 연휴, 천재지변 등으로 인해 발송이 지연될 수 있습니다.
     ◆배송추적
     : 당일 발송건에 한해 익일 오전 9시 이후 확인 가능합니다.


  • 교환정보

    교환/반품

     ◆반품/교환을 원하는 경우 반드시 고객센터로 연락 후 신청하시기 바랍니다.
     ◆반품/교환은 상품 수령일로 부터 7일 이내에만 가능합니다. 단, 상품이 훼손되지 않았거나, 속 비닐이 있는 경우 듣지 않았을    때 가능합니다.
     •고객님의 변심 또는 잘못 주문하신 경우에는 왕복 배송비는 고객님의 부담입니다.
     ◆오배송, 파본, 불량 상품에 대해서는 고객센터로 연락주시면 상담 후 교환해 드립니다.
     ◆오배송, 파본, 불량상품의 배송비는 환불처에서 부담합니다.
     교환/반품
     ◆환불은 상품이 환불에 도착 시 처리됩니다. (카드 취소는 3~5일이 소요될 수 있습니다.)

장바구니

오늘본상품

오늘 본 상품

  • 로버트 나이스트롬의 인터프리터 in Java, C
    로버트 나이스트롬의 55,000
  • 회사에서는 안 가르쳐주는 업무 센스
    회사에서는 안 가르 17,500
  • 세계 괴이 사전: 전설편
    세계 괴이 사전: 22,800
  • 올인원 스프링 프레임워크
    올인원 스프링 프레 30,000
  • 이것만 알면 프레젠테이션 전문가
    이것만 알면 프레젠 19,000
  • 클라우드 네이티브 Go
    클라우드 네이티브 35,000
  • 난생처음 자바 프로그래밍
    난생처음 자바 프로 29,000
  • 앵그리 보스
    앵그리 보스 16,800
  • 성과로 말하는 사람들
    성과로 말하는 사람 18,500
  • 리더의 언어사전
    리더의 언어사전 18,000
  • 모두가 할 수 있는 인공지능으로 그림 그리기 stable diffusion 완벽 활용 가이드
    모두가 할 수 있는 14,400
  • 일센스 99
    일센스 99 21,000

위시리스트

  • 보관 내역이 없습니다.
회사명 (주)꼭대기 주소 서울 특별시 마포구 연희로 11,5층 S-537호
사업자 등록번호 795-87-00429 대표 오주봉 전화 02-356-5779 팩스 02-356-5779
통신판매업신고번호 제2017-서울마포-0052호 개인정보 보호책임자 dhwnqhd

Copyright © 2001-2013 (주)꼭대기. All Rights Reserved.