「Go言語でつくるインタプリタ」を読了したのでまとめ。
読み始めた理由としては「Go言語の実装を学びたい」というのと「プログラムの基礎を学びたい」という思いから。
この本はどちらも満たしてくれた。
本書は「Monkey」という独自言語の開発を通してインタプリタの動作について学ぶ。
構文解析を行い、コードをトークンに分解し、それを評価し実行可能なものを実装していく。
言語仕様は非常にシンプルで簡単なものだが、適宜解説も入っているので理解しながら進めていくことができる。
ただし、Go言語に依存している部分もあり(GCなど)、本格的なインタプリタやコンパイラを学びたければ別の教材が必要になる。
実装方法としてはTDDが採用されており、テストを追加しこれから実装する機能の概要を説明してから進めていく。
非常な丁寧な進め方なので、途中で躓いたとしてもすぐに間違いに気がつくことができる。
ただし、Go言語の文法の説明などは殆ど無いため、「A Tour of Go」等で学習しておく必要がある。
全体的に丁寧な作りなので、サクサク進めることができた。
内容に関しても、インタプリタの入門としては非常に良かった。
ただし、実装する内容については同じことの繰り返しになるので(それが良かったのだが)、そこが合うかどうかだと思う。
参考
Go言語でつくるインタプリタ
posted with amazlet at 18.08.17