繁体   English   中英

使用Scheme中的DCG进行解析(不使用Prolog)?

[英]Parsing with DCGs in Scheme (without Prolog)?

很多Prolog-in-Scheme实施都在那里。 例如Kanren,Schelog。

显然,在“AI编程的范例”中,Norvig在Lisp中实现了Prolog-to-Lisp编译器,以便使用Definite Clause Grammars。

但是有更简单的清洁方式吗? 也许一些聪明的使用amb来避免实施完整的“Prolog”? 在Scheme中进行基于DCG的解析的最简单方法是什么?

DCG使用统一和回溯,所以没有避免实现Prolog的核心。 也就是说,您可以将任何纯Prolog程序表示为解析空列表的DCG。

如果您只关心DCG的一些特殊情况,例如没有变量的DCG(仅适用于识别,而不是解析),您可以这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM