diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2011-09-27 21:03:09 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2011-09-27 21:03:09 -0700 |
commit | 410ba2bbeecb05c73f47bcabc85f8dddc5290da4 (patch) | |
tree | 4f5cfd5300854ea5cadf998ac3825b3b5e277838 | |
parent | c9de9a30bd682bd3d36f87e47f4b1dd9d5854dd9 (diff) | |
download | txr-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.
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | parser.y | 3 |
2 files changed, 10 insertions, 1 deletions
@@ -1,5 +1,13 @@ 2011-09-27 Kaz Kylheku <kaz@kylheku.com> + * 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 <kaz@kylheku.com> + * match.c (match_files): One more fix to this, argh. The test for !data should be done after matching, before incrementing to the next line. Then it is a true @@ -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 '&' |