Skip to content

Commit

Permalink
"1.upto 2 {|i| p i }" should be syntax errore
Browse files Browse the repository at this point in the history
  • Loading branch information
Watson1978 committed Jan 13, 2012
1 parent 24b7572 commit b1ebfa7
Showing 1 changed file with 13 additions and 15 deletions.
28 changes: 13 additions & 15 deletions parse.y
Expand Up @@ -4104,10 +4104,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);
%*/
}
Expand All @@ -4122,7 +4122,7 @@ sym : fname
dsym : tSYMBEG xstring_contents tSTRING_END
{
/*%%%*/
lex_state = EXPR_ENDARG;
lex_state = EXPR_END;
if (!($$ = $2)) {
$$ = NEW_LIT(ID2SYM(rb_intern("")));
}
Expand All @@ -4144,7 +4144,7 @@ dsym : tSYMBEG xstring_contents tSTRING_END
}
}
/*%
lex_state = EXPR_ENDARG;
lex_state = EXPR_END;
$$ = dispatch1(dyna_symbol, $2);
%*/
}
Expand Down Expand Up @@ -6373,15 +6373,15 @@ 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 {
token = parse_string(lex_strterm);
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;
Expand Down Expand Up @@ -6676,8 +6676,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 '?';
}
Expand Down Expand Up @@ -6748,7 +6747,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 '&':
Expand Down Expand Up @@ -6897,7 +6896,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);
Expand Down Expand Up @@ -7131,8 +7130,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 ':';
Expand Down Expand Up @@ -7375,7 +7373,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) {
Expand Down Expand Up @@ -7540,11 +7538,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
Expand Down

0 comments on commit b1ebfa7

Please sign in to comment.