summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parser.y3
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 97f24405..009873c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-11-17 Kaz Kylheku <kaz@kylheku.com>
+
+ * parser.y: Bugfix: precedence of { } must be low, close to that of
+ IDENT, otherwise @{var}@(foo) doesn't parse.
+
2011-11-16 Kaz Kylheku <kaz@kylheku.com>
Allow directives after variable to be a kind of negative match.
diff --git a/parser.y b/parser.y
index e546b086..b8ee0659 100644
--- a/parser.y
+++ b/parser.y
@@ -91,10 +91,11 @@ static val parsed_spec;
%nonassoc LOW /* used for precedence assertion */
%right IDENT
+%nonassoc '{' '}'
%right ALL SOME NONE MAYBE CASES CHOOSE AND OR END COLLECT UNTIL COLL
%right OUTPUT REPEAT REP FIRST LAST EMPTY DEFINE
%right SPACE TEXT NUMBER
-%nonassoc '[' ']' '{' '}' '(' ')'
+%nonassoc '[' ']' '(' ')'
%left '-'
%left '|' '/'
%left '&'