#pragma once #include #include typedef enum { LBRACK, RBRACK, LCURLY, RCURLY, LPAREN, RPAREN, SEMI, COMMA, ARROW, STAR, ANDREF, DOLLAR, COMMENT, ID, NUM, STRING_LITERAL, VAL, RETURN, IF, ELSE, EOF_TOKEN, ERROR } TokenType; typedef struct { size_t len; char* string; } TokenString; typedef struct { TokenType type; uint32_t line; TokenString data; } Token;