fix parse strings with new line

This commit is contained in:
Freya Murphy 2024-09-30 18:51:30 -04:00
parent 4b18ebe1a0
commit 121eda3464
Signed by: freya
GPG key ID: 744AB800E383AE52

View file

@ -101,6 +101,12 @@ static int lex_string(struct lexer *lexer,char text[MAX_LEX_LENGTH])
if (c == '"')
break;
// strings cannot span multiple lines
if (c == '\n') {
ERROR_POS(pos, "reached newline before end of string");
return M_ERROR;
}
// match escape character
if (c == '\\') {
switch (lex_peek(lexer)) {
@ -123,12 +129,6 @@ static int lex_string(struct lexer *lexer,char text[MAX_LEX_LENGTH])
}
}
// strings cannot span multiple lines
if (c == '\n') {
ERROR_POS(pos, "reached newline before end of string");
return M_ERROR;
}
if (len + 1 == MAX_LEX_LENGTH) {
ERROR_POS(pos, "string has max length of %d",
MAX_LEX_LENGTH);