Added / started some infrastructure / boilerplate code.
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#ifndef TOKEN_H
|
||||
#define TOKEN_H
|
||||
|
||||
enum TokenType {
|
||||
Empty,
|
||||
String,
|
||||
Number,
|
||||
Symbol,
|
||||
Plus = '+',
|
||||
Minus = '-',
|
||||
Star = '*',
|
||||
Slash = '/',
|
||||
Carot = '^',
|
||||
OpenParen = '(',
|
||||
CloseParen = ')',
|
||||
FileEnd
|
||||
};
|
||||
|
||||
typedef struct _token {
|
||||
TokenType Type;
|
||||
char* Name;
|
||||
union {
|
||||
char* String;
|
||||
int Number;
|
||||
} Value;
|
||||
int LineNumber;
|
||||
int ColumnNumber;
|
||||
int Index;
|
||||
int Length;
|
||||
int Resolved;
|
||||
} Token;
|
||||
|
||||
Token* TokenCreate(char* name, TokenType type, int lineNumber, int columnNumber, int index, int length, int resolved);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user