From 410ba2bbeecb05c73f47bcabc85f8dddc5290da4 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 27 Sep 2011 21:03:09 -0700 Subject: * parser.y ('{', '}'): Bugfix: precedence of these terminals was causing @foo@foo to be parsed differently from @foo@{foo}. We need consecutive variables to be specially folded in the syntax under a single var_s node. --- ChangeLog | 8 ++++++++ parser.y | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 25868383..fe4ad2c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2011-09-27 Kaz Kylheku + + * parser.y ('{', '}'): Bugfix: precedence of these + terminals was causing @foo@foo to be parsed differently + from @foo@{foo}. We need consecutive variables to be + specially folded in the syntax under a single var_s + node. + 2011-09-27 Kaz Kylheku * match.c (match_files): One more fix to this, argh. diff --git a/parser.y b/parser.y index 2ad2d53f..74331810 100644 --- a/parser.y +++ b/parser.y @@ -77,8 +77,9 @@ static val parsed_spec; %nonassoc LOW /* used for precedence assertion */ %nonassoc ALL SOME NONE MAYBE CASES AND OR END COLLECT UNTIL COLL %nonassoc OUTPUT REPEAT REP FIRST LAST EMPTY DEFINE -%nonassoc '{' '}' '[' ']' '(' ')' +%nonassoc '[' ']' '(' ')' %right IDENT TEXT NUMBER +%nonassoc '{' '}' %left '-' %left '|' '/' %left '&' -- cgit v1.2.3