diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-01-31 03:15:33 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-01-31 03:15:33 +0000 |
| commit | 134ded84eac986fb0a89b34f59a851dfe08f58c9 (patch) | |
| tree | 7d2c78d56467677cf1787452c3e630229c9bf4bb /parse.y | |
| parent | aefab444d76a0baf9205299762a054bf3c51447c (diff) | |
| download | ruby-134ded84eac986fb0a89b34f59a851dfe08f58c9.tar.gz ruby-134ded84eac986fb0a89b34f59a851dfe08f58c9.tar.xz ruby-134ded84eac986fb0a89b34f59a851dfe08f58c9.zip | |
* parse.y (yylex): remove EXPR_CMDARG according to the RHG book.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@3425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
| -rw-r--r-- | parse.y | 25 |
1 files changed, 6 insertions, 19 deletions
@@ -68,7 +68,6 @@ static enum lex_state { EXPR_BEG, /* ignore newline, +/- is a sign. */ EXPR_END, /* newline significant, +/- is a operator. */ EXPR_ARG, /* newline significant, +/- is a operator. */ - EXPR_CMDARG, /* newline significant, +/- is a operator. */ EXPR_ENDARG, /* newline significant, +/- is a operator. */ EXPR_MID, /* newline significant, +/- is a operator. */ EXPR_FNAME, /* ignore newline, no reserved words. */ @@ -3240,7 +3239,7 @@ arg_ambiguous() rb_warning("ambiguous first argument; make sure"); } -#define IS_ARG() (lex_state == EXPR_ARG || lex_state == EXPR_CMDARG) +#define IS_ARG() (lex_state == EXPR_ARG) static int yylex() @@ -3464,10 +3463,7 @@ yylex() return c; } if (lex_state == EXPR_DOT) { - if (cmd_state) - lex_state = EXPR_CMDARG; - else - lex_state = EXPR_ARG; + lex_state = EXPR_ARG; return c; } lex_strterm = NEW_STRTERM(str_xquote, '`', 0); @@ -3998,10 +3994,7 @@ yylex() c = tLPAREN; } else if (space_seen) { - if (lex_state == EXPR_CMDARG) { - c = tLPAREN_ARG; - } - else if (lex_state == EXPR_ARG) { + if (lex_state == EXPR_ARG) { c = tLPAREN_ARG; yylval.id = last_id; } @@ -4350,7 +4343,7 @@ yylex() } if (kw->id[0] == kDO) { if (COND_P()) return kDO_COND; - if (CMDARG_P() && state != EXPR_CMDARG) + if (CMDARG_P()) return kDO_BLOCK; if (state == EXPR_ENDARG) return kDO_BLOCK; @@ -4369,14 +4362,8 @@ yylex() if (lex_state == EXPR_BEG || lex_state == EXPR_MID || lex_state == EXPR_DOT || - lex_state == EXPR_ARG || - lex_state == EXPR_CMDARG) { - if (cmd_state) { - lex_state = EXPR_CMDARG; - } - else { - lex_state = EXPR_ARG; - } + lex_state == EXPR_ARG) { + lex_state = EXPR_ARG; } else { lex_state = EXPR_END; |
