Frage

Viele Prolog-in-Schema-Implementierungen sind da draußen. Z.B. Kanren, Schelog.

Offenbar in "Paradigmen der AI-Programmierung" Norvig implementiert Prolog-to-Lisp-Compiler in Lisp, um Definite Clause Grammatiken zu verwenden.

Aber gibt es einen einfacheren sauberen Weg? Vielleicht zu vermeiden einiger geschickter Einsatz von amb einen vollständigen „Prolog“ zu implementieren? Was ist der einfachste Weg, DCG-basierte Analyse in Schema zu haben?

War es hilfreich?

Lösung

DCGs verwendet sowohl Vereinigung und Rückzieher, so dass es nicht zu vermeiden, die den Kern des Prologs zu implementieren. Das heißt, Sie irgendein reines Prolog-Programm als DCG darstellen kann die leere Liste Parsen.

Sie können es tun, wenn Sie nur über einige Spezialfall DCGs, wie diejenigen ohne Variablen (gut nur für die Erkennung, nicht Parsen) kümmern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top