0

当使用用户定义的运算符时,Prolog 有时会自动添加/删除涉及这些运算符的表达式的括号。有没有办法控制这个?

非常感谢

4

2 回答 2

3

括号只是通过描绘添加。它们不是代码内部表示的一部分。您可以覆盖描绘以更改事物的打印方式。见描绘文本

于 2013-03-03T01:33:55.183 回答
1

运算符定义如下:

:- op(Precedence, Associativity, Operator).

This answer to a similar question解释了这一点,但简短的回答是该Associativity选项控制它;xfy使运算符左结合yfx并使运算符右结合。告诉 Prolog在Precedence看到多个运算符时如何决定哪个运算符是子表达式。

于 2013-03-02T17:36:30.277 回答