YOSHINO日記

プログラミングに関すること

RubyでつくるRuby

インタプリタの実装は難しいものではない。そんなに

作者は、Rubyコミッターの、遠藤侑介さんです。

あとがきにも書いてありますが、

すでにRubyや他言語のプログラミングを知っている方に、「インタプリタの実装」というのはそんなに難しいものではない、ということを伝えることでした。

初心者というよりは、プログラミング言語がどのように解釈され、実行されるのかに興味がある方が対象読者のような気がします。

インタプリタとは?

この本では、minrubyという言語を”ターゲット言語”として、rubyを"ホスト言語"として、 インタプリタを作成しています。

例えば、minrubyの”if”を実装するのに、rubyの”if”をそのまま使います。

この部分に関して、すごく印象的な文章があったので引用します。

インタプリタの本質は、ターゲット言語の言語機能を、ホスト言語の言語機能に丸投げすることです。

何から何まで自分で用意する必要はないわけですね。

そんな訳で、そこまで難しくないのかもしれません。

Rubykaigi2018とからめて

Rubykaigi2018では、なんと、遠藤侑介さんのサイン会が行われておりました。

Rubykaigiでは、そんなイケているイベントも行われています。

僕がこの本と関連するし、おもしろいなあと思った発表は、"Goby"という言語に関する発表です。

Gobyは、ホスト言語にGoを用いて、Rubyのようなシンタックスを実行できます。

GitHub - goby-lang/goby: Goby - A new language helps you develop highly concurrent web application

Gobyの作者のRuby会議での発表資料はこちらです。

What would your own version of Ruby look like?

Goのインタプリタに関して、以下の書籍を発表で薦められていました。

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