17 lines
611 B
Text
17 lines
611 B
Text
enum class eTokenType {
|
|
Keyword, // GET, IN, FOR, CROSS, IF, ORDER, UNIQUE, AS, OR, AND, NOT,
|
|
// IN, MATCHES, BETWEEN, INCL, EXCL, INCL_L, INCL_R,
|
|
// MATCH, LEFT, RIGHT, FULL, ASC, DESC, NULL
|
|
Identifier, // name, age, test_table.id
|
|
StringLit, // "Alberto"
|
|
NumberLit, // 20, 1998
|
|
Operator, // == != < <= > >=
|
|
Symbol, // ( ) [ ] { } , . * ;
|
|
EndOfInput
|
|
};
|
|
|
|
struct Token {
|
|
eTokenType type;
|
|
String value; // raw text
|
|
u32 line, col; // for error reporting — add from day one, you'll regret skipping it
|
|
};
|