diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-07-13 02:09:40 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-07-13 02:09:40 +0000 |
commit | 6dcf9f16ccf2523e9473b10d8b8f308013913c57 (patch) | |
tree | 73e9e67bb9ac088dd7044d9cf559625f9da07e89 /parse.y | |
parent | f64a557efdbc191f54721ec0a56c8f6a46c618fd (diff) | |
download | ruby-6dcf9f16ccf2523e9473b10d8b8f308013913c57.tar.gz |
* 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
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 16 |
1 files changed, 4 insertions, 12 deletions
@@ -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); $<num>$ = 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); $<num>$ = ruby_sourceline; /*% - if (in_def || in_single) - yyerror("module definition in method body"); %*/ } bodystmt |