From 0b55f60c77e181e61dd84bf6da3416bb88488116 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 2 Aug 2025 00:34:45 +0900 Subject: feat: implement multi-line comment --- preprocess.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'preprocess.c') diff --git a/preprocess.c b/preprocess.c index b43732b..36885ab 100644 --- a/preprocess.c +++ b/preprocess.c @@ -320,7 +320,18 @@ void pp_tokenize_all(Preprocessor* pp) { tok->raw.len = pp->pos - start; tok->raw.data = pp->src + pp->pos - tok->raw.len; } else if (pp->src[pp->pos] == '*') { - unimplemented(); + start = pp->pos - 1; + ++pp->pos; + while (pp->src[pp->pos]) { + if (pp->src[pp->pos] == '*' && pp->src[pp->pos + 1] == '/') { + pp->pos += 2; + break; + } + ++pp->pos; + } + tok->kind = PpTokenKind_whitespace; + tok->raw.len = pp->pos - start; + tok->raw.data = pp->src + pp->pos - tok->raw.len; } else { tok->kind = PpTokenKind_punctuator; tok->raw.len = 1; -- cgit v1.2.3-70-g09d2