-
- int token_symbols_len = TP_LAST_TOKEN;
- if (token_kind < 0 || token_kind >= token_symbols_len) {
- fputs("invalid token", f);
- return;
- }
-
- const symbol_t *symbol = pp_token_symbols[token_kind];
- if (symbol != NULL) {
- fputs(symbol->string, f);
- } else {
- if(token_kind >= 0 && token_kind < 256) {
- fputc(token_kind, f);
- return;
- }
- fputs("unknown token", f);
- }
-}
-
-void print_pp_token(FILE *f, const token_t *token)
-{
- switch((preprocessor_token_kind_t) token->kind) {
- case TP_IDENTIFIER:
- fprintf(f, "identifier '%s'", token->base.symbol->string);
- break;
- case TP_NUMBER:
- fprintf(f, "number '%s'", token->number.number.begin);
- break;
- case TP_STRING_LITERAL:
- fprintf(f, "string \"%s\"", token->string.string.begin);
- break;
- default:
- print_pp_token_kind(f, (preprocessor_token_kind_t) token->kind);
- break;