Simplified duplicate code
This commit is contained in:
parent
c99fb0f41e
commit
e663299a5f
22
parse.y
22
parse.y
@ -9311,15 +9311,9 @@ parser_yylex(struct parser_params *p)
|
|||||||
|
|
||||||
case '{':
|
case '{':
|
||||||
++p->lex.brace_nest;
|
++p->lex.brace_nest;
|
||||||
if (lambda_beginning_p()) {
|
if (lambda_beginning_p())
|
||||||
SET_LEX_STATE(EXPR_BEG);
|
c = tLAMBEG;
|
||||||
COND_PUSH(0);
|
else if (IS_lex_state(EXPR_LABELED))
|
||||||
CMDARG_PUSH(0);
|
|
||||||
p->lex.paren_nest++;
|
|
||||||
return tLAMBEG;
|
|
||||||
}
|
|
||||||
p->lex.paren_nest++;
|
|
||||||
if (IS_lex_state(EXPR_LABELED))
|
|
||||||
c = tLBRACE; /* hash */
|
c = tLBRACE; /* hash */
|
||||||
else if (IS_lex_state(EXPR_ARG_ANY | EXPR_END | EXPR_ENDFN))
|
else if (IS_lex_state(EXPR_ARG_ANY | EXPR_END | EXPR_ENDFN))
|
||||||
c = '{'; /* block (primary) */
|
c = '{'; /* block (primary) */
|
||||||
@ -9327,10 +9321,16 @@ parser_yylex(struct parser_params *p)
|
|||||||
c = tLBRACE_ARG; /* block (expr) */
|
c = tLBRACE_ARG; /* block (expr) */
|
||||||
else
|
else
|
||||||
c = tLBRACE; /* hash */
|
c = tLBRACE; /* hash */
|
||||||
|
if (c != tLBRACE) {
|
||||||
|
p->command_start = TRUE;
|
||||||
|
SET_LEX_STATE(EXPR_BEG);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
SET_LEX_STATE(EXPR_BEG|EXPR_LABEL);
|
||||||
|
}
|
||||||
|
++p->lex.paren_nest; /* after lambda_beginning_p() */
|
||||||
COND_PUSH(0);
|
COND_PUSH(0);
|
||||||
CMDARG_PUSH(0);
|
CMDARG_PUSH(0);
|
||||||
SET_LEX_STATE(c != tLBRACE ? EXPR_BEG : EXPR_BEG|EXPR_LABEL);
|
|
||||||
if (c != tLBRACE) p->command_start = TRUE;
|
|
||||||
return c;
|
return c;
|
||||||
|
|
||||||
case '\\':
|
case '\\':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user