> svn info Path: . URL: svn://svn.boo.codehaus.org/boo/scm/boo/trunk Repository UUID: 2c1201b4-01cd-e047-a400-b836ae1fbc61 Revision: 2022 Node Kind: directory Schedule: normal Last Changed Author: bamboo Last Changed Rev: 2022 Last Changed Date: 2005-11-27 09:42:42 -0800 (Sun, 27 Nov 2005) Properties Last Updated: 2005-11-26 10:38:46 -0800 (Sat, 26 Nov 2005) New file: tests\testcases\parser\roundtrip\and-or-1.boo: """ a = ((false and true) or true) b = (false or (true and true)) """ a = false and true or true b = false or true and true > svn di Index: src/Boo.Lang.Parser/wsaboo.g =================================================================== --- src/Boo.Lang.Parser/wsaboo.g (revision 2022) +++ src/Boo.Lang.Parser/wsaboo.g (working copy) @@ -1766,7 +1766,7 @@ e=boolean_term ( ot:OR - r=expression + r=boolean_term { BinaryExpression be = new BinaryExpression(ToLexicalInfo(ot)); be.Operator = BinaryOperatorType.Or; @@ -1788,7 +1788,7 @@ e=not_expression ( at:AND - r=expression + r=not_expression { BinaryExpression be = new BinaryExpression(ToLexicalInfo(at)); be.Operator = BinaryOperatorType.And; Index: src/Boo.Lang.Parser/boo.g =================================================================== --- src/Boo.Lang.Parser/boo.g (revision 2022) +++ src/Boo.Lang.Parser/boo.g (working copy) @@ -1837,7 +1837,7 @@ e=boolean_term ( ot:OR - r=expression + r=boolean_term { BinaryExpression be = new BinaryExpression(ToLexicalInfo(ot)); be.Operator = BinaryOperatorType.Or; @@ -1859,7 +1859,7 @@ e=not_expression ( at:AND - r=expression + r=not_expression { BinaryExpression be = new BinaryExpression(ToLexicalInfo(at)); be.Operator = BinaryOperatorType.And; Index: tests/testcases/parser/roundtrip/not-1.boo =================================================================== --- tests/testcases/parser/roundtrip/not-1.boo (revision 2022) +++ tests/testcases/parser/roundtrip/not-1.boo (working copy) @@ -1,7 +1,7 @@ """ a = (not (b is not null)) b = (not (c not in (1, 2, 3))) -c = ((not a) and (b or (c and (not d)))) +c = (((not a) and b) or (c and (not d))) d = ((not ((i + j) > 5)) and ((h + l) < 3)) e = (not (len([1]) == 0)) f = ((not a) and (len([1]) == 0))