「○○○は、Hello Worldを表示するプログラムだったんだよ!!」
「Ω ΩΩ<な、なんだってー!?」
本来プログラム言語といえばはじめに文法が決まっていて、そこに文法に従った文字列を入れると実行可能な何かができあがるというのが普通の流れです。
これを逆にしたらどうなるかと思ったのが今回の話題です。つまり、欲しい出力結果があって、適当な文字列があったとき、それをプログラム言語にするようなインタプリタを出力するプログラムを作ろう、というものです。メタプログラミングという用語をはじめて聞いたときに浮かんだ個人的イメージだったり。
もう少し動機を素直に言うと、Brainfu*kの仲間を見てふと思ったのです。Brainfu*k風のプログラム言語ってたくさんあるのですが、どれも本来の雰囲気を損なわないような入力文字列の例(だいたいHello World)を頑張って作っているじゃないですか。
名状しがたいプログラミング言語のようなもの
ジョジョ
長門有希
てってってー
プログラミング言語KQ
(ん、直書きで本来の雰囲気になっている場合も多い?)
でも、そこそこ長い文字列さえあれば、適当に文法を用意して勝手にプログラム言語にできるんじゃないかなと。