Files
smallprojects/meta_gen.c
2026-05-10 14:35:52 +02:00

168 lines
3.7 KiB
C

// auto generated by meta.c
typedef enum {
TOK_EOF,
TOK_ERROR,
TOK_IDENT,
TOK_KEYWORD,
TOK_INT,
TOK_FLOAT,
TOK_CHAR,
TOK_STRING,
TOK_LPAREN,
TOK_RPAREN,
TOK_LBRACKET,
TOK_RBRACKET,
TOK_LBRACE,
TOK_RBRACE,
TOK_COMMA,
TOK_DOT,
TOK_ARROW,
TOK_ELLIPSIS,
TOK_COLON,
TOK_SEMICOLON,
TOK_QUESTION,
TOK_HASH,
TOK_HASHHASH,
TOK_PLUS,
TOK_MINUS,
TOK_STAR,
TOK_SLASH,
TOK_PERCENT,
TOK_INC,
TOK_DEC,
TOK_ASSIGN,
TOK_PLUS_ASSIGN,
TOK_MINUS_ASSIGN,
TOK_MUL_ASSIGN,
TOK_DIV_ASSIGN,
TOK_MOD_ASSIGN,
TOK_LSHIFT_ASSIGN,
TOK_RSHIFT_ASSIGN,
TOK_AND_ASSIGN,
TOK_XOR_ASSIGN,
TOK_OR_ASSIGN,
TOK_EQ,
TOK_NEQ,
TOK_LT,
TOK_LEQ,
TOK_GT,
TOK_GEQ,
TOK_NOT,
TOK_BITNOT,
TOK_BITAND,
TOK_BITOR,
TOK_BITXOR,
TOK_AND,
TOK_OR,
TOK_LSHIFT,
TOK_RSHIFT,
} Token_Kind;
char *token_to_op[] = {
[TOK_LPAREN] = "(",
[TOK_RPAREN] = ")",
[TOK_LBRACKET] = "[",
[TOK_RBRACKET] = "]",
[TOK_LBRACE] = "{",
[TOK_RBRACE] = "}",
[TOK_COMMA] = ",",
[TOK_DOT] = ".",
[TOK_ARROW] = "->",
[TOK_ELLIPSIS] = "...",
[TOK_COLON] = ":",
[TOK_SEMICOLON] = ";",
[TOK_QUESTION] = "?",
[TOK_HASH] = "#",
[TOK_HASHHASH] = "##",
[TOK_PLUS] = "+",
[TOK_MINUS] = "-",
[TOK_STAR] = "*",
[TOK_SLASH] = "/",
[TOK_PERCENT] = "%",
[TOK_INC] = "++",
[TOK_DEC] = "--",
[TOK_ASSIGN] = "=",
[TOK_PLUS_ASSIGN] = "+=",
[TOK_MINUS_ASSIGN] = "-=",
[TOK_MUL_ASSIGN] = "*=",
[TOK_DIV_ASSIGN] = "/=",
[TOK_MOD_ASSIGN] = "%=",
[TOK_LSHIFT_ASSIGN] = "<<=",
[TOK_RSHIFT_ASSIGN] = ">>=",
[TOK_AND_ASSIGN] = "&=",
[TOK_XOR_ASSIGN] = "^=",
[TOK_OR_ASSIGN] = "|=",
[TOK_EQ] = "==",
[TOK_NEQ] = "!=",
[TOK_LT] = "<",
[TOK_LEQ] = "<=",
[TOK_GT] = ">",
[TOK_GEQ] = ">=",
[TOK_NOT] = "!",
[TOK_BITNOT] = "~",
[TOK_BITAND] = "&",
[TOK_BITOR] = "|",
[TOK_BITXOR] = "^",
[TOK_AND] = "&&",
[TOK_OR] = "||",
[TOK_LSHIFT] = "<<",
[TOK_RSHIFT] = ">>",
};
char *token_to_name[] = {
[TOK_EOF] = "EOF",
[TOK_ERROR] = "ERROR",
[TOK_IDENT] = "IDENT",
[TOK_KEYWORD] = "KEYWORD",
[TOK_INT] = "INT",
[TOK_FLOAT] = "FLOAT",
[TOK_CHAR] = "CHAR",
[TOK_STRING] = "STRING",
[TOK_LPAREN] = "LPAREN",
[TOK_RPAREN] = "RPAREN",
[TOK_LBRACKET] = "LBRACKET",
[TOK_RBRACKET] = "RBRACKET",
[TOK_LBRACE] = "LBRACE",
[TOK_RBRACE] = "RBRACE",
[TOK_COMMA] = "COMMA",
[TOK_DOT] = "DOT",
[TOK_ARROW] = "ARROW",
[TOK_ELLIPSIS] = "ELLIPSIS",
[TOK_COLON] = "COLON",
[TOK_SEMICOLON] = "SEMICOLON",
[TOK_QUESTION] = "QUESTION",
[TOK_HASH] = "HASH",
[TOK_HASHHASH] = "HASHHASH",
[TOK_PLUS] = "PLUS",
[TOK_MINUS] = "MINUS",
[TOK_STAR] = "STAR",
[TOK_SLASH] = "SLASH",
[TOK_PERCENT] = "PERCENT",
[TOK_INC] = "INC",
[TOK_DEC] = "DEC",
[TOK_ASSIGN] = "ASSIGN",
[TOK_PLUS_ASSIGN] = "PLUS_ASSIGN",
[TOK_MINUS_ASSIGN] = "MINUS_ASSIGN",
[TOK_MUL_ASSIGN] = "MUL_ASSIGN",
[TOK_DIV_ASSIGN] = "DIV_ASSIGN",
[TOK_MOD_ASSIGN] = "MOD_ASSIGN",
[TOK_LSHIFT_ASSIGN] = "LSHIFT_ASSIGN",
[TOK_RSHIFT_ASSIGN] = "RSHIFT_ASSIGN",
[TOK_AND_ASSIGN] = "AND_ASSIGN",
[TOK_XOR_ASSIGN] = "XOR_ASSIGN",
[TOK_OR_ASSIGN] = "OR_ASSIGN",
[TOK_EQ] = "EQ",
[TOK_NEQ] = "NEQ",
[TOK_LT] = "LT",
[TOK_LEQ] = "LEQ",
[TOK_GT] = "GT",
[TOK_GEQ] = "GEQ",
[TOK_NOT] = "NOT",
[TOK_BITNOT] = "BITNOT",
[TOK_BITAND] = "BITAND",
[TOK_BITOR] = "BITOR",
[TOK_BITXOR] = "BITXOR",
[TOK_AND] = "AND",
[TOK_OR] = "OR",
[TOK_LSHIFT] = "LSHIFT",
[TOK_RSHIFT] = "RSHIFT",
};