この書籍の内容

内容紹介

本書は、Go言語でプログラミング言語のインタプリタを作りながら、プログラミング言語とそのインタプリタについて学ぶ書籍です。

順を追ってコードを示し、C言語風の構文を持つ言語「Monkeyプログラミング言語」のインタプリタを組み立てていきます。

字句解析器、構文解析器、評価器を作りながら、ソースコードをトークン列に、トークン列を抽象構文木に変換し、その抽象構文木を評価し実行する方法を学びます。

さらに、インタプリタに新しいデータ型を導入し、組み込み関数を追加して、言語を拡張していきます。

付録では構文マクロシステムについても扱います。

本書では、Go言語標準のツールキット以外のサードパーティライブラリやフレームワークは使用せず、0行のコードからはじめて、完動するインタプリタができあがるところまでを体験します。

その過程を通じて、プログラミング言語とそのインタプリタの仕組みを実践的に学ぶことができます。

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

本書は、Go言語でプログラミング言語のインタプリタを作りながら、プログラミング言語とそのインタプリタについて学ぶ書籍です。

順を追ってコードを示し、C言語風の構文を持つ言語「Monkeyプログラミング言語」のインタプリタを組み立てていきます。

字句解析器、構文解析器、評価器を作りながら、ソースコードをトークン列に、トークン列を抽象構文木に変換し、その抽象構文木を評価し実行する方法を学びます。

さらに、インタプリタに新しいデータ型を導入し、組み込み関数を追加して、言語を拡張していきます。

付録では構文マクロシステムについても扱います。

本書では、Go言語標準のツールキット以外のサードパーティライブラリやフレームワークは使用せず、0行のコードからはじめて、完動するインタプリタができあがるところまでを体験します。

その過程を通じて、プログラミング言語とインタプリタの仕組みを実践的に学ぶことができます。

著者について

Thorsten Ball(トシュテン・ボール):ドイツ在住のプログラマ。

プロフェショナルのソフトウェア開発者として、ウェブ技術に携わる。

これまでRuby、JavaScript、Go、それにCで書いたソフトウェアも実戦投入している。

ブログ記事では、Rubyのガベージコレクタに関するもの、forkシステムコールに関するもの、マルチスレッド環境におけるプロセスのフォークに関するものが話題になった。

Unixソフトウェアやその他の話題についての講演もしており、講演をブログに書き起こした"Unicorn Unix Magic Tricks"は大きな話題になった。

Goでゼロからインタプリタを書くことは、プログラマとして経験したことの中で最も楽しく、夢中になれる体験の1つだった。

ウェブサイト:thorstenball.com

GitHub:mrnugget

Twitter:@thorstenball

著者略歴 (「BOOK著者紹介情報」より)

ボール,トシュテン

ドイツ在住のプログラマ。

プロフェショナルのソフトウェア開発者として、ウェブ技術に携わる。

これまでRuby、JavaScript、Go、それにCで書いたソフトウェアも実戦投入している

設樂/洋爾

1979年北海道札幌市生まれ。

札幌育ち。

2009年、北海道大学大学院情報科学研究科コンピュータサイエンス専攻博士後期課程を修了。

同年、株式会社えにしテックを設立(本データはこの書籍が刊行された当時に掲載されていたものです)

みんなのレビュー

まだレビューがありません