Skip to content

Commit c07c63d

Browse files
committed
Lexer: Don't try to lex parameter expansions
A future update will attempt more fully to lex/parse parameter expansions For now, just treat them as black boxes to copy from [notest]
1 parent 3c42c96 commit c07c63d

1 file changed

Lines changed: 10 additions & 19 deletions

File tree

src/flexbison/lexer.l

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -404,8 +404,6 @@ ANGLEBRACKET_INCLUDE_PATH <([^>])+>
404404

405405
%s BLOCK_MODE
406406

407-
%s PARAMETER_EXPANSION_MODE
408-
409407
%s HEREDOC_MODE
410408

411409
%s BASH_CASE_MODE
@@ -1407,52 +1405,52 @@ function/[ \t]+[a-zA-Z_][a-zA-Z_0-9]* {
14071405
}
14081406

14091407
":" {
1410-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1408+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14111409
emit(EXPANSION_BEGIN, tokenText);
14121410
}
14131411

14141412
"@" {
1415-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1413+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14161414
emit(EXPANSION_BEGIN, tokenText);
14171415
}
14181416

14191417
"%" {
1420-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1418+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14211419
emit(EXPANSION_BEGIN, tokenText);
14221420
}
14231421

14241422
"-" {
1425-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1423+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14261424
emit(EXPANSION_BEGIN, tokenText);
14271425
}
14281426

14291427
"+" {
1430-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1428+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14311429
emit(EXPANSION_BEGIN, tokenText);
14321430
}
14331431

14341432
"=" {
1435-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1433+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14361434
emit(EXPANSION_BEGIN, tokenText);
14371435
}
14381436

14391437
"?" {
1440-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1438+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14411439
emit(EXPANSION_BEGIN, tokenText);
14421440
}
14431441

14441442
"\*" {
1445-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1443+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14461444
emit(EXPANSION_BEGIN, tokenText);
14471445
}
14481446

14491447
"##" {
1450-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1448+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14511449
emit(EXPANSION_BEGIN, tokenText);
14521450
}
14531451

14541452
"#" {
1455-
thisModeStack.push(PARAMETER_EXPANSION_MODE);
1453+
thisModeStack.push(UNLEXED_PARAMETER_EXPANSION_MODE);
14561454
emit(EXPANSION_BEGIN, tokenText);
14571455
}
14581456

@@ -1477,13 +1475,6 @@ function/[ \t]+[a-zA-Z_][a-zA-Z_0-9]* {
14771475
}
14781476
}
14791477

1480-
<PARAMETER_EXPANSION_MODE>{
1481-
"}" {
1482-
thisModeStack.pop();
1483-
reconsume_token();
1484-
}
1485-
}
1486-
14871478
<UNLEXED_PARAMETER_EXPANSION_MODE>{
14881479
[^}]+ {
14891480
emit(PARAMETER_EXPANSION_CONTENT, tokenText);

0 commit comments

Comments
 (0)