mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
Avoid two peek(1) calls when lexing """multi-line strings"""
This commit is contained in:
@@ -1457,9 +1457,14 @@ static void readString(void)
|
|||||||
case '"':
|
case '"':
|
||||||
if (multiline) {
|
if (multiline) {
|
||||||
// Only """ ends a multi-line string
|
// Only """ ends a multi-line string
|
||||||
if (peek(0) != '"' || peek(1) != '"')
|
if (peek(0) != '"')
|
||||||
break;
|
break;
|
||||||
shiftChars(2);
|
shiftChars(1);
|
||||||
|
if (peek(0) != '"') {
|
||||||
|
append_yylval_tzString('"');
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
shiftChars(1);
|
||||||
}
|
}
|
||||||
goto finish;
|
goto finish;
|
||||||
|
|
||||||
@@ -1604,11 +1609,14 @@ static size_t appendStringLiteral(size_t i)
|
|||||||
case '"':
|
case '"':
|
||||||
if (multiline) {
|
if (multiline) {
|
||||||
// Only """ ends a multi-line string
|
// Only """ ends a multi-line string
|
||||||
if (peek(0) != '"' || peek(1) != '"')
|
if (peek(0) != '"')
|
||||||
break;
|
break;
|
||||||
append_yylval_tzString('"');
|
append_yylval_tzString('"');
|
||||||
|
shiftChars(1);
|
||||||
|
if (peek(0) != '"')
|
||||||
|
break;
|
||||||
append_yylval_tzString('"');
|
append_yylval_tzString('"');
|
||||||
shiftChars(2);
|
shiftChars(1);
|
||||||
}
|
}
|
||||||
append_yylval_tzString('"');
|
append_yylval_tzString('"');
|
||||||
goto finish;
|
goto finish;
|
||||||
|
|||||||
Reference in New Issue
Block a user