add escape sequences

This commit is contained in:
2026-06-25 16:50:13 +10:00
parent fc8c513dce
commit 7f74aabe18
2 changed files with 57 additions and 1 deletions

View File

@@ -319,6 +319,60 @@ ResultType(CometToken, ErrorMessage) lexerParseString(CometLexer* lexer, char st
while (lexer->currentChar != startingQuote && lexer->pos < lexer->sourceLen) {
char current = lexer->currentChar;
// escape sequences
if (current == '\\') {
switch (lexer->source[lexer->pos+1]) {
case '\\': {
current = '\\';
break;
}
case 'n': {
current = '\n';
break;
}
case 't': {
current = '\t';
break;
}
case 'r': {
current = '\r';
break;
}
case '0': {
current = 0;
break;
}
case 'a': {
current = '\a';
break;
}
case 'b': {
current = '\b';
break;
}
case 'v': {
current = '\v';
break;
}
case 'f': {
current = '\f';
break;
}
case '"': {
current = '"';
break;
}
case '\'': {
current = '\'';
break;
}
default: {
break;
}
}
lexer->pos++;
}
buffer[bufferPos] = current;
bufferPos++;

View File

@@ -1,4 +1,6 @@
import io
func main() -> int {
int[*] someArray
io.print("You look...\n\n \"silly\"\n")
return 0
}