質問

Prolog-in-Schemeの実装はたくさんあります。例えば。 Kanren、Schelog。

「パラダイムオブAIプログラミング」にあるようです。 Norvigは、定節文法を使用するために、LispにProlog-to-Lispコンパイラを実装しています。

しかし、よりシンプルでクリーンな方法はありますか?たぶん、完全な「プロローグ」の実装を回避するためのambの巧妙な使用でしょうか? SchemeでDCGベースの解析を行う最も簡単な方法は何ですか?

役に立ちましたか?

解決

DCGは統合とバックトラッキングの両方を使用するため、Prologのコアを実装することを避けることはできません。つまり、空のリストを解析するDCGとして純粋なPrologプログラムを表すことができます。

DCGの特殊なケース、たとえば変数のないもの(認識ではなく、解析ではない)のみに関心がある場合に、それを行うことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top