diff --git a/pyecoreocl/compiler.py b/pyecoreocl/compiler.py index 682061d..3c7b933 100644 --- a/pyecoreocl/compiler.py +++ b/pyecoreocl/compiler.py @@ -76,9 +76,11 @@ def visitBooleanBinaryOperation(self, ctx): self.visit(ctx.right) self.inline(")") return + self.inline("(") self.visit(ctx.left) self.inline(f" {operator} ") self.visit(ctx.right) + self.inline(")") def visitCallExpression(self, ctx): self.visit(ctx.expression) diff --git a/tests/test_expressions_strict.py b/tests/test_expressions_strict.py index 88cf008..3b772ba 100644 --- a/tests/test_expressions_strict.py +++ b/tests/test_expressions_strict.py @@ -45,11 +45,11 @@ def test__booleans(): assert !true! is True assert !false! is False - assert (!not true!) is False - assert (!not false!) is True + assert !not true! is False + assert !not false! is True assert !(true or true)! is True - assert !(true or false)! is True + assert !true or false! is True assert !(false or true)! is True assert !(false or false)! is False