summaryrefslogtreecommitdiffstats
path: root/parser.y
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-09-27 21:03:09 -0700
committerKaz Kylheku <kaz@kylheku.com>2011-09-27 21:03:09 -0700
commit410ba2bbeecb05c73f47bcabc85f8dddc5290da4 (patch)
tree4f5cfd5300854ea5cadf998ac3825b3b5e277838 /parser.y
parentc9de9a30bd682bd3d36f87e47f4b1dd9d5854dd9 (diff)
downloadtxr-410ba2bbeecb05c73f47bcabc85f8dddc5290da4.tar.gz
txr-410ba2bbeecb05c73f47bcabc85f8dddc5290da4.tar.bz2
txr-410ba2bbeecb05c73f47bcabc85f8dddc5290da4.zip
* 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.
Diffstat (limited to 'parser.y')
-rw-r--r--parser.y3
1 files changed, 2 insertions, 1 deletions
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 '&'