From e8e3f56b8174efde3262040d6095b535da0e3512 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 24 Jun 2002 15:18:00 +0000 Subject: * parse.y (string_dvar): allow back references in interpolation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ parse.y | 13 +++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8fa25cbf33..5e857f2b0d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Jun 25 00:14:07 2002 Nobuyoshi Nakada + + * parse.y (string_dvar): allow back references in interpolation. + Mon Jun 24 16:32:31 2002 Nobuyoshi Nakada * eval.c (rb_eval): NODE_EVSTR is no longer used. diff --git a/parse.y b/parse.y index 60c54a1500..e21eae0c22 100644 --- a/parse.y +++ b/parse.y @@ -235,11 +235,11 @@ static void top_local_setup(); %type command_args aref_args opt_block_arg block_arg var_ref var_lhs %type mrhs mrhs_basic 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 +%type assoc_list assocs assoc undef_list backref string_dvar %type block_var opt_block_var brace_block do_block lhs none %type mlhs mlhs_head mlhs_basic mlhs_entry mlhs_item mlhs_node %type fitem variable sym symbol operation operation2 operation3 -%type cname fname op f_rest_arg string_dvar +%type cname fname op f_rest_arg %type f_norm_arg f_arg term_push %token tUPLUS /* unary+ */ %token tUMINUS /* unary- */ @@ -1883,7 +1883,7 @@ string_content : tSTRING_CONTENT {$$ = NEW_STR($1);} { lex_strnest = $1; lex_strterm = $2; - $$ = gettable($3); + $$ = $3; } | tSTRING_DBEG term_push { @@ -1904,9 +1904,10 @@ string_content : tSTRING_CONTENT {$$ = NEW_STR($1);} } ; -string_dvar : tGVAR - | tIVAR - | tCVAR +string_dvar : tGVAR {$$ = NEW_GVAR($1);} + | tIVAR {$$ = NEW_IVAR($1);} + | tCVAR {$$ = NEW_CVAR($1);} + | backref ; term_push : /* */ -- cgit v1.2.3