テトさんのためのツールをJavaScriptで作ってる途中で、Prologで書いた方がいいんじゃないかと思える部分があったので、JavaScript実行環境内で動くPrologインタプリタを作ってみようと思いました(既にあるだろうとは思いましたが、自分で作って見たかったので)。
PrologでPrologをJavaScriptに変換するプログラムを書いて、そのプログラムで、そのプログラム自身を変換すれば、簡単にPrologインタプリタが作れそうだと思って作り始めましたが、どうにかこうにか、PrologをJavaScriptに変換するプログラムがProlog処理系上である程度動くようになったので、githubに公開しました。
それが TetoTetoProlog です。
このプログラムは、PrologをJavaScriptに変換するといっても、本当の意味でJavaScriptのプログラムに変換しているのではなくて、Prolog形式のデータをJavaSciptのオブジェクトに単純に置き換えているだけです。
実行は、JavaSciptのオブジェクトとして組み上げられた物をJavaSciptで作ったインタプリタで実行しています。
そのため、大変に処理速度が遅く、メモリ効率が悪いだろうと思います。
まだまだ目標には程遠いですが、簡単なPrologのプログラムはJavaScriptに変換して動くと思います。
動作確認はFirefoxの最新版だけでやってます(とはいっても、まだ、実装しただけで動かしてない所もいっぱいあります)。
詳細は、リンク先の”README.md”を見ていただければと思います。
ライセンスは、いろんな場面で使いやすいようにCreative Commons CC0 1.0 UniversalによるPublic Domain宣言にしました。
とはいっても、まだ、作りかけなので、あまり使えるものではないと思いますが…。
(公開を 4/1 のテト誕に合わせたかったのですが、間に合いませんでしたorz)