Rubyで作る奇妙なプログラミング言語 ~Esoteric Language~
奇妙。
例えば、'H'、'Q'、'9'、'+'の4つの命令しかなく、Hello Worldプログラムを1バイトで記述できる「HQ9+」言語や、8つの記号'>'、'<'、'+'、'-'、'.'、','、'['、']'のみで記述する「Brainf*ck」言語、半角スペース、タブ、改行のみで記述する「Whitespace」言語など、とにかく奇妙な言語たち。
でも、そのそれぞれの処理系の実装にあたり、Rubyの簡単な解説から、様々な実装方式の解説、チューリングマシンの解説など、話題がバラエティに富んでいて全く飽きない。
新しい言語を実装してみたいというつわものがどれだけいるのかわかりませんが、そういう人の入門書としては最良の本かもしれません。
奇妙。
例えば、'H'、'Q'、'9'、'+'の4つの命令しかなく、Hello Worldプログラムを1バイトで記述できる「HQ9+」言語や、8つの記号'>'、'<'、'+'、'-'、'.'、','、'['、']'のみで記述する「Brainf*ck」言語、半角スペース、タブ、改行のみで記述する「Whitespace」言語など、とにかく奇妙な言語たち。
でも、そのそれぞれの処理系の実装にあたり、Rubyの簡単な解説から、様々な実装方式の解説、チューリングマシンの解説など、話題がバラエティに富んでいて全く飽きない。
新しい言語を実装してみたいというつわものがどれだけいるのかわかりませんが、そういう人の入門書としては最良の本かもしれません。