ないんたんと Prolog

ないんたんを Prolog で書き換えようという計画が出ている.

現状,ないんたんは正規表現の塊として書かれている.しかし,文章を解析するには正規表現では少々非力である.そこで,独自の解釈系を書こうと思っていた.そんなところに研究室の輪講で Prolog を用いて「自然言語で書かれたコマンドを DOS コマンド (本の時代の古さが出ている) に変換して実行しよう」という話があった.ないんたんも似たルールで書けるのではないかと思い,実際に書いてみるとあら不思議さらさら書けるではないか.正規表現を書くかのように,文脈自由文法でのルールが書ける

現状,例えば以下のような解釈ができるようになった.

今日のにじゅうに時の天気は何?

→ 天気 ( 時間: ( 日: 今日 ) ( 時: ( 数式: ( 2 ) *10+ 2 ) ) )

「にじゅうに」がひらがなになっているのは実験のためである.当然のことながら 22 でも二十二でも何でも解釈できる.ここまで変換できれば,ないんたんが機械的に処理するのも容易なもの.次のないんたん本体のアップデートに期待がかかるところである.

ただ,ルールが増えたときの実行時間が気がかりなのだが…