diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-05-04 20:32:14 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-05-04 20:32:14 +0900 |
| commit | c03e0c49cd3329e0bc3e111393956441aa5f8849 (patch) | |
| tree | 2494330b5b333a0f2a99b228d8dd7f7bf49b48c3 /main.c | |
| parent | ba4e8695a1b99c8fe1f165d2978a7da168007fbd (diff) | |
| download | P4Dcc-c03e0c49cd3329e0bc3e111393956441aa5f8849.tar.gz P4Dcc-c03e0c49cd3329e0bc3e111393956441aa5f8849.tar.zst P4Dcc-c03e0c49cd3329e0bc3e111393956441aa5f8849.zip | |
char literal
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -215,6 +215,21 @@ struct Token* tokenize(char* src, int len) { tok->kind = TK_GT; tok = tok + 1; } + } else if (c == '\'') { + pos = pos + 1; + int ch = src[pos]; + if (ch == '\\') { + pos = pos + 1; + ch = src[pos]; + if (ch == 'n') { + ch = '\n'; + } + } + pos = pos + 2; + tok->kind = TK_L_INT; + tok->value = calloc(4, sizeof(char)); + sprintf(tok->value, "%d", ch); + tok = tok + 1; } else if (c == '"') { pos = pos + 1; int start = pos; |
