diff --git a/sources/zweic/Parser.scala b/sources/zweic/Parser.scala index 3596627..0105d34 100755 --- a/sources/zweic/Parser.scala +++ b/sources/zweic/Parser.scala @@ -318,13 +318,15 @@ if ( token == ADD || token == SUB ) { return Binop(sumOp(), left, sumExpression()); } else { - if (check(OR)) { - return Unop(Operators.NOT, - Binop(Operators.AND, - Unop(Operators.NOT, left), - Unop(Operators.NOT, sumExpression()) - ) - ); + if (check(OR)) { + var right = sumExpression(); + left.brackets = true; + right.brackets = true; + var bol = Unop(Operators.NOT, left); + var bor = Unop(Operators.NOT, right); + var bo = Binop(Operators.AND, bol, bor); + bo.brackets = true; + return Unop(Operators.NOT, bo); } else { return left; }