diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-06 16:09:43 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-06 16:09:43 +0000 |
commit | 05edaf5090f86b98f3bfc6c927851379ce62f935 (patch) | |
tree | 0157a165ff3555e2462a966ddd6897da243c08e7 /parse.y | |
parent | 00759b00f829d0fcb93189c0f3515960d6d2f978 (diff) |
* parse.y (yylex): "1.upto 2 {|i| p i }" should be syntax error.
[ruby-dev:36008]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 28 |
1 files changed, 13 insertions, 15 deletions
@@ -3955,10 +3955,10 @@ string_dvar : tGVAR symbol : tSYMBEG sym { /*%%%*/ - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; $$ = $2; /*% - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; $$ = dispatch1(symbol, $2); %*/ } @@ -3973,7 +3973,7 @@ sym : fname dsym : tSYMBEG xstring_contents tSTRING_END { /*%%%*/ - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; if (!($$ = $2)) { $$ = NEW_LIT(ID2SYM(rb_intern(""))); } @@ -3995,7 +3995,7 @@ dsym : tSYMBEG xstring_contents tSTRING_END } } /*% - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; $$ = dispatch1(dyna_symbol, $2); %*/ } @@ -6191,7 +6191,7 @@ parser_yylex(struct parser_params *parser) token = here_document(lex_strterm); if (token == tSTRING_END) { lex_strterm = 0; - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; } } else { @@ -6199,7 +6199,7 @@ parser_yylex(struct parser_params *parser) if (token == tSTRING_END || token == tREGEXP_END) { rb_gc_force_recycle((VALUE)lex_strterm); lex_strterm = 0; - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; } } return token; @@ -6493,8 +6493,7 @@ parser_yylex(struct parser_params *parser) return tSTRING_BEG; case '?': - if (lex_state == EXPR_END || - lex_state == EXPR_ENDARG) { + if (lex_state == EXPR_END || lex_state == EXPR_ENDARG) { lex_state = EXPR_VALUE; return '?'; } @@ -6565,7 +6564,7 @@ parser_yylex(struct parser_params *parser) } tokfix(); set_yylval_str(STR_NEW3(tok(), toklen(), enc, 0)); - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; return tCHAR; case '&': @@ -6714,7 +6713,7 @@ parser_yylex(struct parser_params *parser) int is_float, seen_point, seen_e, nondigit; is_float = seen_point = seen_e = nondigit = 0; - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; newtok(); if (c == '-' || c == '+') { tokadd(c); @@ -6950,8 +6949,7 @@ parser_yylex(struct parser_params *parser) lex_state = EXPR_DOT; return tCOLON2; } - if (lex_state == EXPR_END || - lex_state == EXPR_ENDARG || ISSPACE(c)) { + if (lex_state == EXPR_END || lex_state == EXPR_ENDARG || ISSPACE(c)) { pushback(c); lex_state = EXPR_BEG; return ':'; @@ -7190,7 +7188,7 @@ parser_yylex(struct parser_params *parser) case '$': last_state = lex_state; - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; newtok(); c = nextc(); switch (c) { @@ -7351,11 +7349,11 @@ parser_yylex(struct parser_params *parser) last_state = lex_state; switch (tok()[0]) { case '$': - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; result = tGVAR; break; case '@': - lex_state = EXPR_ENDARG; + lex_state = EXPR_END; if (tok()[1] == '@') result = tCVAR; else |