【发布时间】:2018-08-18 14:05:26
【问题描述】:
正如您在 Prolog 中所知道的,您可以使用 op/3 动态定义优先级。 我正在用 Python 实现自己的 Prolog。已经有工作原型,但我仍然通过有限的 python 伪序言更新数据库。 我的下一步是实现解析器。我可以做没有 op-precedence 的静态语法。
我的问题一般是如何实现优先级的?有什么说法吗?
它不必是完全动态的 op/3,即我会没事的,即使我必须在开始解析之前预加载 op-table。 我想我可以事先通过字符串操作来修改语法。
如果重要的话,我可能会使用 LEPL:http://www.acooke.org/lepl/。
【问题讨论】:
标签: python parsing prolog operator-precedence lepl