При работе с пользовательскими операторами Prolog иногда добавляет/удаляет скобки в выражения, содержащие эти операторы автоматически. Есть ли способ контролировать это?Управление скобками во время работы с операторами
Большое спасибо
При работе с пользовательскими операторами Prolog иногда добавляет/удаляет скобки в выражения, содержащие эти операторы автоматически. Есть ли способ контролировать это?Управление скобками во время работы с операторами
Большое спасибо
Оператор определен следующим образом:
:- op(Precedence, Associativity, Operator).
This answer на подобный вопрос объясняет это, но короткий ответ, что Associativity
управления опционного это; xfy
делает оператор лево-ассоциативным и yfx
делает ассоциативный оператор ассоциативным. Precedence
сообщает Prolog, как решить, какой оператор является подвыражением, когда он видит более одного.
Parens только что добавлены изображением. Они не являются частью внутреннего представления кода. Вы можете переопределить изображение, чтобы изменить способ печати. см. portray_text
Спасибо за объяснение. То, о чем я не понимаю, - это, если я смогу удалить некоторые дополнительные paranthesis, добавленные Prolog, в мои выражения, или это значение по умолчанию? –
Я так не думаю. Это проблема или просто эстетическое недовольство? –
это эстетически неприятно, и мне было интересно, есть ли способ отменить это. –