ユーザー定義の演算子を使用する場合、Prolog はそれらの演算子を含む式に括弧を自動的に追加/削除することがあります。これを制御する方法はありますか?
どうもありがとう
括弧は描写によって追加されるだけです。それらは、コードの内部表現の一部ではありません。描写をオーバーライドして、印刷方法を変更できます。Portrait_text を参照
演算子は次のように定義されます。
:- op(Precedence, Associativity, Operator).
同様の質問に対するこの回答Associativity
はこれを説明していますが、簡単な回答は、オプションがこれを制御するということです。xfy
演算子を左結合にyfx
し、演算子を右結合にします。は、複数のPrecedence
演算子が見つかった場合にどの演算子が部分式であるかを決定する方法を Prolog に指示します。