Go言語でつくるインタプリタ

Thorsten Ball

基本情報

ジャンル
ISBN/カタログNo
ISBN 13 : 9784873118222
ISBN 10 : 4873118220
フォーマット
発行年月
2018年06月
日本
共著・訳者・掲載人物など
:
追加情報
:
296p;24

内容詳細

本書は、Go言語でプログラミング言語のインタプリタを作りながら、プログラミング言語とそのインタプリタについて学ぶ書籍です。順を追ってコードを示し、C言語風の構文を持つ言語「Monkeyプログラミング言語」のインタプリタを組み立てていきます。字句解析器、構文解析器、評価器を作りながら、ソースコードをトークン列に、トークン列を抽象構文木に変換し、その抽象構文木を評価し実行する方法を学びます。さらに、インタプリタに新しいデータ型を導入し、組み込み関数を追加して、言語を拡張していきます。付録では構文マクロシステムについても扱います。本書では、Go言語標準のツールキット以外のサードパーティライブラリやフレームワークは使用せず、0行のコードからはじめて、完動するインタプリタができあがるところまでを体験します。その過程を通じて、プログラミング言語とインタプリタの仕組みを実践的に学ぶことができます。

目次 : 1章 字句解析(字句解析/ トークンを定義する ほか)/ 2章 構文解析(構文解析器(パーサー)/ パーサージェネレータじゃないの? ほか)/ 3章 評価(シンボルに意味を与える/ 評価の戦略 ほか)/ 4章 インタプリタの拡張(データ型と関数/ 文字列 ほか)/ 付録 マクロシステム(マクロシステム/ Monkeyのためのマクロシステム ほか)

【著者紹介】
トシュテン・ボール : ドイツ在住のプログラマ。プロフェショナルのソフトウェア開発者として、ウェブ技術に携わる。これまでRuby、JavaScript、Go、それにCで書いたソフトウェアも実戦投入している

設樂洋爾 : 1979年北海道札幌市生まれ。札幌育ち。2009年、北海道大学大学院情報科学研究科コンピュータサイエンス専攻博士後期課程を修了。同年、株式会社えにしテックを設立(本データはこの書籍が刊行された当時に掲載されていたものです)

(「BOOK」データベースより)

ユーザーレビュー

総合評価

☆
☆
☆
☆
☆

0.0

★
★
★
★
★
 
0
★
★
★
★
☆
 
0
★
★
★
☆
☆
 
0
★
★
☆
☆
☆
 
0
★
☆
☆
☆
☆
 
0

読書メーターレビュー

こちらは読書メーターで書かれたレビューとなります。

powered by

  • Masahiro Oono さん

    これまでも自分で小さなインタプリタを書いてみようとしたことはあったが、字句解析止まりで「で、次どうすんの?」と詰んでしまっていたところ、本書のp75-85のPratt構文解析の仕組みの説明が非常に分かりやすく興味深く読むことができた(それでも該当ページを3回は読み直した)。今、別の資料を読んで(C言語でインタプリタを書いてみて)いるが、コードを読み解く上で本書の内容が確実に活きていると感じている。後年振り返ったとき、言語自作の心理的な壁を崩してくれた意味で、自分にとって良書だと呼べる本かもしれない。

  • HANA さん

    タイトル通り。Go言語の説明は一切なくひたすらインタプリタの実装を続ける内容。やるなら最低限ゴルーチン以外は知っておく必要がある気がする。インタプリタの作り方が少しずつ分かってくる感覚はなんか楽しい。SICPの影響を受けているような感じだったので読んだ後か一緒に読むと理解が深まると思う。

  • ほしみ さん

    いい本だったが Go の文法に慣れていないと最初戸惑う。「インタプリタ書ける人ってかっこいい」から「インタプリタっていっても結局ホスト言語機能におんぶにだっこやんけ!」という状態まで成長できた。 次はコンパイラが書きたいなと思っていたら著者が続編(Writing A compiler in Go)を出しているようで、次はこれを読もうと思う: https://compilerbook.com/

  • momotaro98 さん

    処理系作りの基礎が学べました。写経しながら楽しくできました。TDD形式で進むので自分でも少々頭を使いながらやれました。Go言語の特徴をたっぷり使っているとかでは無かったです。C言語やRustなどに置き換えても本書のmonkey言語は実装可能です。ただGoのガベージコレクションをそのまま利用していて、あくまでもレキサー、パーサ、エバリュエータの基礎の部分にフォーカスしています。パーサの2章が1番面白かったです。

  • Yuki Sumida さん

    Goは少し文法知ってるくらいの知識で2ヶ月くらいかけて写経しました。 全部理解できたとは言えないけど、だんだん言語っぽく進化していくのがとても楽しかったです。

レビューをもっと見る

(外部サイト)に移動します

建築・理工 に関連する商品情報

おすすめの商品