summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--parser.y16
2 files changed, 10 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 7a63e83d..f132e31b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-02-18 Kaz Kylheku <kaz@kylheku.com>
+
+ * parser.y (o_var): Remove productions from grammar by using exprs_opt.
+
2012-02-17 Kaz Kylheku <kaz@kylheku.com>
Reimplementation of how TXR decides whether to dump bindings
diff --git a/parser.y b/parser.y
index 24f38fb0..7dc5d67b 100644
--- a/parser.y
+++ b/parser.y
@@ -636,16 +636,12 @@ o_var : IDENT { $$ = list(var_s, intern(string_own($1), nil),
nao); }
| IDENT o_elem { $$ = list(var_s, intern(string_own($1), nil),
$2, nao); }
- | '{' IDENT '}' { $$ = list(var_s, intern(string_own($2), nil),
- nao); }
- | '{' IDENT '}' o_elem { $$ = list(var_s, intern(string_own($2), nil),
- $4, nao); }
- | '{' IDENT exprs '}' { $$ = list(var_s, intern(string_own($2), nil),
- nil, $3, nao); }
- | '{' IDENT exprs '}' o_elem { $$ = list(var_s,
- intern(string_own($2), nil),
- $5, $3, nao); }
- | IDENT error { $$ = nil;
+ | '{' IDENT exprs_opt '}' { $$ = list(var_s, intern(string_own($2), nil),
+ nil, $3, nao); }
+ | '{' IDENT exprs_opt '}' o_elem
+ { $$ = list(var_s, intern(string_own($2), nil),
+ $5, $3, nao); }
+ | IDENT error { $$ = nil;
yybadtoken(yychar, lit("variable spec")); }
;