用动态先例对比程序语言?

2024-04-26 03:43:59 发布

您现在位置:Python中文网/ 问答频道 /正文

正如您在Prolog中所知道的,您可以使用op/3动态地定义优先级。 我正在用Python实现Prolog。已经有了工作原型,但我仍然通过有限的python伪prolog更新DB。 我的下一步是实现解析器。我可以做静态语法,没有操作优先权。你知道吗

我的问题是优先权通常是如何实现的?有什么好形容的吗?你知道吗

它不必是完全动态的op/3,也就是说,即使在开始解析之前必须预加载op表,我也可以。 我想我可以事先通过字符串操作修改语法。你知道吗

如果有必要的话,我可能会使用LEPL:http://www.acooke.org/lepl/。你知道吗


Tags: 字符串http解析器db定义静态语法动态
1条回答
网友
1楼 · 发布于 2024-04-26 03:43:59

我通过堆栈实现了动态行为,通过“Reduce”操作进行扩展,该操作检查表达式何时“关闭”。工作细节here,和here的用法,但它是如此简单,我建议从头开始。。。你知道吗

My question how is precedence implemented in general ? Is there a word for it ?

我认为正确的说法是:优先权。正如我在编译器构造课程上的老师(很久以前)所建议的那样,由于动态定义并没有包含在有效解析的标准算法中,所以只要设计一种“即席”方法就可以了。这是我在链接源中所做的。。。你知道吗

相关问题 更多 >