summaryrefslogtreecommitdiff
path: root/lexer.h
diff options
context:
space:
mode:
authorCarson Fleming <cflems@cflems.net>2026-07-30 22:54:31 -0400
committerCarson Fleming <cflems@cflems.net>2026-07-30 22:54:31 -0400
commit5adb568da4dfda6d5d9699ee4b92fe44b43fc4cf (patch)
tree0772ae3bf2f5bacfbeeece4eb69063cd20f92325 /lexer.h
parent65dd0651eb7d9e0434a88ec4118d64dfb119d74b (diff)
downloadccc-5adb568da4dfda6d5d9699ee4b92fe44b43fc4cf.tar.gz
token names
Diffstat (limited to 'lexer.h')
-rw-r--r--lexer.h101
1 files changed, 51 insertions, 50 deletions
diff --git a/lexer.h b/lexer.h
index f228b2a..6386c0c 100644
--- a/lexer.h
+++ b/lexer.h
@@ -4,57 +4,58 @@
#include "ccc.h"
enum token_type {
- TK_NOT_FOUND,
- TK_IDENT,
- TK_INT_LIT,
- TK_FLOAT_LIT,
- TK_CHAR_LIT,
- TK_STR_LIT,
- TK_HASHTAG,
- TK_LPAREN,
- TK_RPAREN,
- TK_LCURLY,
- TK_RCURLY,
- TK_LSQUARE,
- TK_RSQUARE,
- TK_COLON,
- TK_SEMI,
- TK_COMMA,
- TK_DOT,
- TK_QMARK,
- TK_NOT,
- TK_NEQ,
- TK_XOR,
- TK_XEQ,
- TK_AMP,
- TK_LOG_AND,
- TK_AND_EQ,
- TK_STAR,
- TK_MUL_EQ,
- TK_NEG,
- TK_NEG_EQ,
- TK_ARROW,
- TK_ASSIGN,
- TK_TEST_EQ,
- TK_PLUS,
- TK_PLUS_EQ,
- TK_BSLASH,
- TK_PIPE,
- TK_LOG_PIPE,
- TK_PIPE_EQ,
- TK_DIV,
- TK_DIV_EQ,
- TK_MOD,
- TK_MOD_EQ,
- TK_LT,
- TK_GT,
- TK_LEQ,
- TK_GEQ,
- TK_SHR,
- TK_SHR_EQ,
- TK_SHL,
- TK_SHL_EQ
+ TK_NOT_FOUND = 0,
+ TK_IDENT = 1,
+ TK_INT_LIT = 2,
+ TK_FLOAT_LIT = 3,
+ TK_CHAR_LIT = 4,
+ TK_STR_LIT = 5,
+ TK_HASHTAG = 6,
+ TK_LPAREN = 7,
+ TK_RPAREN = 8,
+ TK_LCURLY = 9,
+ TK_RCURLY = 10,
+ TK_LSQUARE = 11,
+ TK_RSQUARE = 12,
+ TK_COLON = 13,
+ TK_SEMI = 14,
+ TK_COMMA = 15,
+ TK_DOT = 16,
+ TK_QMARK = 17,
+ TK_NOT = 18,
+ TK_NEQ = 19,
+ TK_XOR = 20,
+ TK_XEQ = 21,
+ TK_AMP = 22,
+ TK_LOG_AND = 23,
+ TK_AND_EQ = 24,
+ TK_STAR = 25,
+ TK_MUL_EQ = 26,
+ TK_NEG = 27,
+ TK_NEG_EQ = 28,
+ TK_ARROW = 29,
+ TK_ASSIGN = 30,
+ TK_TEST_EQ = 31,
+ TK_PLUS = 32,
+ TK_PLUS_EQ = 33,
+ TK_BSLASH = 34,
+ TK_PIPE = 35,
+ TK_LOG_PIPE = 36,
+ TK_PIPE_EQ = 37,
+ TK_DIV = 38,
+ TK_DIV_EQ = 39,
+ TK_MOD = 40,
+ TK_MOD_EQ = 41,
+ TK_LT = 42,
+ TK_GT = 43,
+ TK_LEQ = 44,
+ TK_GEQ = 45,
+ TK_SHR = 46,
+ TK_SHR_EQ = 47,
+ TK_SHL = 48,
+ TK_SHL_EQ = 49,
};
+extern const char* token_labels[];
struct token {
enum token_type type;