From 6dcf9f16ccf2523e9473b10d8b8f308013913c57 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 13 Jul 2007 02:09:40 +0000 Subject: [PATCH] * parse.y (program, stmt, primary): reduced duplicated code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ parse.y | 16 ++++------------ 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2091367a49..51006c0d5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Jul 13 11:09:38 2007 Nobuyoshi Nakada + + * parse.y (program, stmt, primary): reduced duplicated code. + Fri Jul 13 10:33:29 2007 Nobuyoshi Nakada * array.c (rb_ary_flatten_bang): check argument if valid diff --git a/parse.y b/parse.y index bb39af8e30..23f2aef3d1 100644 --- a/parse.y +++ b/parse.y @@ -708,11 +708,10 @@ static void ripper_compile_error(struct parser_params*, const char *fmt, ...); %% program : { - /*%%%*/ lex_state = EXPR_BEG; + /*%%%*/ local_push(compile_for_eval); /*% - lex_state = EXPR_BEG; %*/ } compstmt @@ -926,15 +925,12 @@ stmt : keyword_alias fitem {lex_state = EXPR_FNAME;} fitem } | keyword_BEGIN { - /*%%%*/ if (in_def || in_single) { yyerror("BEGIN in method"); } + /*%%%*/ /* local_push(0); */ /*% - if (in_def || in_single) { - yyerror("BEGIN in method"); - } %*/ } '{' compstmt '}' @@ -2765,14 +2761,12 @@ primary : literal } | keyword_class cpath superclass { - /*%%%*/ if (in_def || in_single) yyerror("class definition in method body"); + /*%%%*/ local_push(0); $$ = ruby_sourceline; /*% - if (in_def || in_single) - yyerror("class definition in method body"); %*/ } bodystmt @@ -2823,14 +2817,12 @@ primary : literal } | keyword_module cpath { - /*%%%*/ if (in_def || in_single) yyerror("module definition in method body"); + /*%%%*/ local_push(0); $$ = ruby_sourceline; /*% - if (in_def || in_single) - yyerror("module definition in method body"); %*/ } bodystmt