From df8846173b672e66177aea6b3fe37ec4af5428e9 Mon Sep 17 00:00:00 2001 From: s-over-4 Date: Tue, 13 Jun 2023 17:31:21 -0400 Subject: ok --- src/token.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'src/token.c') diff --git a/src/token.c b/src/token.c index 6bba2b9..079a59f 100644 --- a/src/token.c +++ b/src/token.c @@ -12,6 +12,70 @@ token_t* token_init(int type, char* val) { return token; } +char* token_get_type(int type) { + switch (type) { + case TOKEN_KEYWORD: + return "TOKEN_KEYWORD"; + break; + case TOKEN_PRIM_STR: + return "TOKEN_PRIM_STR"; + break; + case TOKEN_PRIM_INT: + return "TOKEN_PRIM_INT"; + break; + case TOKEN_COMM: + return "TOKEN_COMM"; + break; + case TOKEN_EXPR_END: + return "TOKEN_EXPR_END"; + break; + case TOKEN_LGROUP: + return "TOKEN_LGROUP"; + break; + case TOKEN_RGROUP: + return "TOKEN_RGROUP"; + break; + case TOKEN_DIRECTIVE: + return "TOKEN_DIRECTIVE"; + break; + case TOKEN_FN_APPLY: + return "TOKEN_FN_APPLY"; + break; + case TOKEN_LIST_DELIM: + return "TOKEN_LIST_DELIM"; + break; + case TOKEN_DEF_TAG: + return "TOKEN_DEF_TAG"; + break; + case TOKEN_BLOCK_START: + return "TOKEN_BLOCK_START"; + break; + case TOKEN_BLOCK_END: + return "TOKEN_BLOCK_END"; + break; + case TOKEN_NAMESPACE_DELIM: + return "TOKEN_NAMESPACE_DELIM"; + break; + case TOKEN_ARRAY_START: + return "TOKEN_ARRAY_START"; + break; + case TOKEN_ARRAY_END: + return "TOKEN_ARRAY_END"; + break; + case TOKEN_DEF_SET: + return "TOKEN_DEF_SET"; + break; + case TOKEN_UNKNOWN: + return "TOKEN_UNKNOWN"; + break; + case TOKEN_EOF: + return "TOKEN_EOF"; + break; + default: + return "???"; + } +} + int char_could_start_keyword(char* character) { for (int i = 0; i < TOKEN_DEFNAME_FIRST_CHAR_ALLOWED_CHARS_LEN; ++ i) { if (TOKEN_DEFNAME_FIRST_CHAR_ALLOWED_CHARS[i] == *character) { -- cgit v1.2.3