From a93fcf03efbe2ce56bfd649447247bb8daf2e463 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 5 Sep 2025 04:12:13 +0900 Subject: feat: improve pp-number tokenization --- src/preprocess.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src/preprocess.c') diff --git a/src/preprocess.c b/src/preprocess.c index 1d5a42a..385a43e 100644 --- a/src/preprocess.c +++ b/src/preprocess.c @@ -498,16 +498,13 @@ static void pplexer_tokenize_all(PpLexer* ppl) { tok->kind = TokenKind_literal_str; tok->value.string = builder.buf; } else if (isdigit(c)) { + // TODO: implement tokenization of pp-number. StrBuilder builder; strbuilder_init(&builder); - while (isdigit(infile_peek_char(ppl->src))) { + while (isalnum(infile_peek_char(ppl->src))) { strbuilder_append_char(&builder, infile_peek_char(ppl->src)); infile_next_char(ppl->src); } - // Skip integer suffix. - while (isalpha(infile_peek_char(ppl->src))) { - infile_next_char(ppl->src); - } tok->kind = TokenKind_literal_int; tok->value.integer = atoi(builder.buf); } else if (isalpha(c) || c == '_') { -- cgit v1.2.3-70-g09d2