Question

De nombreuses implémentations de Prolog-in-Scheme sont disponibles. Par exemple. Kanren, Schelog.

Apparemment dans "Les paradigmes de la programmation IA" Norvig implémente le compilateur Prolog-to-Lisp dans Lisp afin d’utiliser les grammaires de clause définie.

Mais existe-t-il un moyen de nettoyage plus simple? Peut-être utilisez-vous intelligemment amb pour éviter de mettre en place un "Prolog" complet? Quel est le moyen le plus simple d’avoir une analyse syntaxique basée sur le DCG dans Scheme?

Était-ce utile?

La solution

Les DCG utilisent à la fois l’unification et le retour en arrière, c’est pourquoi il est essentiel d’implémenter le noyau de Prolog. Autrement dit, vous pouvez représenter n’importe quel programme Prolog pur en tant que DCG analysant la liste vide.

Vous pouvez le faire si vous ne vous souciez que de quelques cas particuliers de DCG, comme ceux sans variables (bon seulement pour la reconnaissance, pas pour l'analyse).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top