책 소개
2020년 대한민국학술원 우수학술도서 선정도서
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
이 책은 하나의 프로그래밍 언어가 만들어질 때, 어떤 고민과 과정을 거쳐야 하는지 알려준다. 먼저 낱말 해석기 및 구문 해석기의 구현부터 시작해 파이프라인 형태의 프로세싱 규칙 만들기, 멀티스레드 구현, 큐 구현, 데이터 타입 설계, 소켓 프로그래밍, 그리고 난수 생성 라이브러리까지 프로그래밍 언어가 가져야 할 기능들을 새로운 언어 ’Streem’을 직접 설계하며 설명한다.
목차
목차
- 1장. 어떤 언어를 만들까?
- 1-1 언어를 직접 만든다는 것의 가치
- 1-2 언어 처리 시스템의 구조
- 1-3 가상 머신
- 1-4 언어 디자인 입문(전편)
- 1-5 언어 디자인 입문(후편)
- 2장. 새로운 언어 ‘Streem’의 설계와 구현
- 2-1 추상적 병행 프로그래밍
- 2-2 새로운 언어 ‘Streem’
- 2-3 문법 검사기 먼저 만들기
- 2-4 이벤트 루프
- 2-5 멀티스레드 객체
- 2-6 캐시와 심벌
- 2-7 추상 구문 트리(AST)로의 변환
- 2-8 지역 변수와 예외 처리
- 3장. 객체지향 기능 설계
- 3-1 여러 가지 객체지향
- 3-2 Streem의 객체지향
- 3-3 Streem 문법 재검토
- 3-4 패턴 매치
- 4장. Streem 객체 구현
- 4-1 소켓 프로그래밍
- 4-2 기본 데이터 구조
- 4-3 객체 표현과 NaN Boxing
- 4-4 가비지 컬렉션
- 4-5 락 프리 알고리즘
- 5장. 스트림 프로그래밍의 강화
- 5-1 파이프라인 프로그래밍
- 5-2 파이프라인 구성 요소
- 5-3 CSV 처리 기능
- 5-4 시간 표현
- 5-5 통계 기초의 기초
- 5-6 난수
- 5-7 스트림 그래프
- 마치면서