зеркало из https://github.com/github/ruby.git
parse.y: use SET_LEX_STATE
* 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:
Родитель
581be44ede
Коммит
f22345427a
9
parse.y
9
parse.y
|
@ -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;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче