From 5e7a785b405eb533f1a52f1bbf057bbbe89fa6ee Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 26 Dec 2005 13:33:14 +0000 Subject: * eval.c (rb_eval), gc.c (gc_mark_children), node.h (NEW_ALIAS, NEW_VALIAS), parse.y (fitem): allow dynamic symbols to NODE_UNDEF and NODE_ALIAS. backported from trunk. fixed: [ruby-dev:28105] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 2fc0fcc61..0fc91b0d5 100644 --- a/parse.y +++ b/parse.y @@ -277,9 +277,9 @@ static void top_local_setup(); %type mrhs superclass block_call block_command %type f_arglist f_args f_optarg f_opt f_block_arg opt_f_block_arg %type assoc_list assocs assoc undef_list backref string_dvar -%type block_var opt_block_var brace_block cmd_brace_block do_block lhs none +%type block_var opt_block_var brace_block cmd_brace_block do_block lhs none fitem %type mlhs mlhs_head mlhs_basic mlhs_entry mlhs_item mlhs_node -%type fitem variable sym symbol operation operation2 operation3 +%type fsym variable sym symbol operation operation2 operation3 %type cname fname op f_rest_arg %type f_norm_arg f_arg %token tUPLUS /* unary+ */ @@ -916,10 +916,17 @@ fname : tIDENTIFIER } ; -fitem : fname +fsym : fname | symbol ; +fitem : fsym + { + $$ = NEW_LIT(ID2SYM($1)); + } + | dsym + ; + undef_list : fitem { $$ = NEW_UNDEF($1); -- cgit