diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | parser.y | 16 |
2 files changed, 10 insertions, 10 deletions
@@ -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 @@ -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")); } ; |