diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-07 19:06:29 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-07 19:06:38 +0900 |
| commit | 0ae64ed2c00f66c7f3ddec8689169bacafff87ea (patch) | |
| tree | c72db385bca5de58910f2769168a7b0918309c21 /src/token.c | |
| parent | 7ba8a506a215846d14d71487807f5e525e9e5c16 (diff) | |
| download | ducc-0ae64ed2c00f66c7f3ddec8689169bacafff87ea.tar.gz ducc-0ae64ed2c00f66c7f3ddec8689169bacafff87ea.tar.zst ducc-0ae64ed2c00f66c7f3ddec8689169bacafff87ea.zip | |
feat: partially support float/double
Diffstat (limited to 'src/token.c')
| -rw-r--r-- | src/token.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/token.c b/src/token.c index a7b2afd..726a912 100644 --- a/src/token.c +++ b/src/token.c @@ -233,6 +233,8 @@ const char* token_kind_stringify(TokenKind k) { return "<="; else if (k == TokenKind_literal_int) return "<integer>"; + else if (k == TokenKind_literal_double) + return "<double>"; else if (k == TokenKind_literal_str) return "<string>"; else if (k == TokenKind_lshift) @@ -301,6 +303,10 @@ const char* token_stringify(Token* tok) { char* buf = calloc(10, sizeof(char)); sprintf(buf, "%d", tok->value.integer); return buf; + } else if (k == TokenKind_literal_double) { + char* buf = calloc(32, sizeof(char)); + sprintf(buf, "%g", tok->value.floating); + return buf; } else if (k == TokenKind_other || k == TokenKind_character_constant || k == TokenKind_ident || k == TokenKind_literal_str || k == TokenKind_header_name) { return tok->value.string; |
