diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-08-29 21:25:03 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-08-29 21:49:56 +0900 |
| commit | b678465c11517a5342b1ec5aa4fe21570f13a3ed (patch) | |
| tree | 6ef19e02b1cf18f5ac451e6104f6e20b475a6f52 /src/preprocess.c | |
| parent | 8f352553faec69a6f29854898b93be47604aff28 (diff) | |
| download | ducc-b678465c11517a5342b1ec5aa4fe21570f13a3ed.tar.gz ducc-b678465c11517a5342b1ec5aa4fe21570f13a3ed.tar.zst ducc-b678465c11517a5342b1ec5aa4fe21570f13a3ed.zip | |
feat: add utility function to dump any internal object as JSON
Diffstat (limited to 'src/preprocess.c')
| -rw-r--r-- | src/preprocess.c | 39 |
1 files changed, 3 insertions, 36 deletions
diff --git a/src/preprocess.c b/src/preprocess.c index 3c71a53..fdc64d9 100644 --- a/src/preprocess.c +++ b/src/preprocess.c @@ -77,22 +77,6 @@ static Macro* macros_push_new(MacroArray* macros) { return ¯os->data[macros->len++]; } -static void macros_dump(MacroArray* macros) { - fprintf(stderr, "MacroArray {\n"); - fprintf(stderr, " len = %zu\n", macros->len); - fprintf(stderr, " data = [\n"); - for (int i = 0; i < macros->len; ++i) { - Macro* m = ¯os->data[i]; - fprintf(stderr, " Macro {\n"); - fprintf(stderr, " kind = %s\n", macro_kind_stringify(m->kind)); - fprintf(stderr, " name = %s\n", m->name); - fprintf(stderr, " replacements = TODO\n"); - fprintf(stderr, " }\n"); - } - fprintf(stderr, " ]\n"); - fprintf(stderr, "}\n"); -} - static void add_predefined_macros(MacroArray* macros) { Macro* m; @@ -875,19 +859,11 @@ static BOOL preprocess_if_group_or_elif_group(Preprocessor* pp, int directive_to Token* macro_name; if (consume_pp_token_if(pp, TokenKind_paren_l)) { skip_whitespaces(pp); - macro_name = next_pp_token(pp); - if (macro_name->kind != TokenKind_ident) { - fatal_error("invalid defined"); - } + macro_name = expect_pp_token(pp, TokenKind_ident); skip_whitespaces(pp); - if (next_pp_token(pp)->kind != TokenKind_paren_r) { - fatal_error("invalid defined"); - } + expect_pp_token(pp, TokenKind_paren_r); } else { - macro_name = next_pp_token(pp); - if (macro_name->kind != TokenKind_ident) { - fatal_error("invalid defined"); - } + macro_name = expect_pp_token(pp, TokenKind_ident); } BOOL is_defined = find_macro(pp, macro_name->value.string) != -1; TokenArray defined_results; @@ -1249,15 +1225,6 @@ static void remove_pp_directives(Preprocessor* pp) { } } -static void pp_dump(Token* t, BOOL include_whitespace) { - for (; t->kind != TokenKind_eof; ++t) { - if (t->kind == TokenKind_whitespace && !include_whitespace) { - continue; - } - fprintf(stderr, "%s\n", token_stringify(t)); - } -} - static char* get_ducc_include_path() { const char* self_dir = get_self_dir(); char* buf = calloc(strlen(self_dir) + strlen("/../include") + 1, sizeof(char)); |
