* parse.y (f_arglist, parser_yylex): set lex_state via
  SET_LEX_STATE macro for yydebug messages.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2017-09-15 08:47:46 +00:00
Родитель 581be44ede
Коммит f22345427a
1 изменённых файлов: 4 добавлений и 5 удалений

Просмотреть файл

@ -4195,7 +4195,7 @@ f_arglist : '(' f_args rparen
| { | {
$<num>$ = parser->in_kwarg; $<num>$ = parser->in_kwarg;
parser->in_kwarg = 1; parser->in_kwarg = 1;
lex_state |= EXPR_LABEL; /* force for args */ SET_LEX_STATE(lex_state|EXPR_LABEL); /* force for args */
} }
f_args term f_args term
{ {
@ -8478,8 +8478,8 @@ parser_yylex(struct parser_params *parser)
case '[': case '[':
paren_nest++; paren_nest++;
if (IS_AFTER_OPERATOR()) { if (IS_AFTER_OPERATOR()) {
SET_LEX_STATE(EXPR_ARG);
if ((c = nextc()) == ']') { if ((c = nextc()) == ']') {
SET_LEX_STATE(EXPR_ARG);
if ((c = nextc()) == '=') { if ((c = nextc()) == '=') {
return tASET; return tASET;
} }
@ -8487,7 +8487,7 @@ parser_yylex(struct parser_params *parser)
return tAREF; return tAREF;
} }
pushback(c); pushback(c);
lex_state |= EXPR_LABEL; SET_LEX_STATE(EXPR_ARG|EXPR_LABEL);
return '['; return '[';
} }
else if (IS_BEG()) { else if (IS_BEG()) {
@ -8521,8 +8521,7 @@ parser_yylex(struct parser_params *parser)
c = tLBRACE; /* hash */ c = tLBRACE; /* hash */
COND_PUSH(0); COND_PUSH(0);
CMDARG_PUSH(0); CMDARG_PUSH(0);
SET_LEX_STATE(EXPR_BEG); SET_LEX_STATE(c == tLBRACE_ARG ? EXPR_BEG : EXPR_BEG|EXPR_LABEL);
if (c != tLBRACE_ARG) lex_state |= EXPR_LABEL;
if (c != tLBRACE) command_start = TRUE; if (c != tLBRACE) command_start = TRUE;
return c; return c;