私はPrologで行った言語翻訳にとても満足していますが、ずっと前です。私は現在汎用プログラミングのためにPythonを使用しています。この領域はDNAシーケンシングのデータ処理ですが、その点以外にもあります。PythonにきれいにインターフェースするPrologの実装がサポートされていますか?
私はターゲット言語に翻訳するためにDCG(明確な句文法)を使用することに興味があります。 (DCGはProlog述語のセットに非常に近く、DCGからPrologへの解釈レイヤはほとんどありません)。私が使用した方法は、入力言語を解析すると同時に入力を解析することでした表現のより深いモデルを表現するネットワーク構造を構築する。別の文法は、そのモデルを目標言語の有効な表現にするために役立った。
今回は、後半で、内部モデル(Pythonオブジェクトのネットワーク内)をとり、それらをターゲット言語に翻訳することを検討しています。 (この目標言語は、偶然にもワークフロー構成言語であり、オブジェクトネットワークは、私が放棄したいと思っている、あまり一般的でないワークフローエンジンによって使用されるものです)。
したがって、現代的にサポートされているPrologの実装それはきれいにPythonにインターフェイスする?あなたはそれを試してみたい場合は
http://www.dcc.fc.up.pt/~vsc/yap/
が、私はお勧め、あなたが使用して開始し、現在のgitのバージョンがで発見:
https://github.com/vscosta/yap-6.3
一部
最近のPrologの実装と同様に、PythonはCと完全にインターフェイスします。しかし、多くのデータをシフトしていないのであれば、JSONやSGMLなどの標準的なデータ交換フォーマットを使用すれば十分でしょう。 –
PS:SWI-Prologは少なくともJSONとXML/SGMLの両方に良いライブラリを持っています。他のより普及した実装でもそうでなければ、私は非常に驚くでしょう。 –