aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/token.c
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-08-28 00:15:17 +0900
committernsfisis <nsfisis@gmail.com>2025-08-28 00:15:17 +0900
commit7c1f940960c3548b788b089c02e4dfd8277bf8fa (patch)
treed426643b97856003310909fd91bc5e982fee39d7 /src/token.c
parent82198e776761a6f3f16373d7be2be432b0e76854 (diff)
downloadducc-7c1f940960c3548b788b089c02e4dfd8277bf8fa.tar.gz
ducc-7c1f940960c3548b788b089c02e4dfd8277bf8fa.tar.zst
ducc-7c1f940960c3548b788b089c02e4dfd8277bf8fa.zip
refactor: remove pp directives in separate phase
Diffstat (limited to 'src/token.c')
-rw-r--r--src/token.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/token.c b/src/token.c
index e08e07f..70e4a41 100644
--- a/src/token.c
+++ b/src/token.c
@@ -272,6 +272,17 @@ const char* token_kind_stringify(TokenKind k) {
unreachable();
}
+BOOL is_pp_directive(TokenKind k) {
+ return k == TokenKind_pp_directive_define || k == TokenKind_pp_directive_elif ||
+ k == TokenKind_pp_directive_elifdef || k == TokenKind_pp_directive_elifndef ||
+ k == TokenKind_pp_directive_else || k == TokenKind_pp_directive_embed || k == TokenKind_pp_directive_endif ||
+ k == TokenKind_pp_directive_error || k == TokenKind_pp_directive_if || k == TokenKind_pp_directive_ifdef ||
+ k == TokenKind_pp_directive_ifndef || k == TokenKind_pp_directive_include ||
+ k == TokenKind_pp_directive_line || k == TokenKind_pp_directive_non_directive ||
+ k == TokenKind_pp_directive_nop || k == TokenKind_pp_directive_pragma || k == TokenKind_pp_directive_undef ||
+ k == TokenKind_pp_directive_warning;
+}
+
const char* token_stringify(Token* t) {
TokenKind k = t->kind;
if (k == TokenKind_pp_directive_non_directive) {