| 
| enum   | CoreType {  
  BOOL = 0, 
CHAR, 
INT16, 
INT32, 
 
  INT64, 
FLOAT, 
DOUBLE, 
VEC2I, 
 
  VEC2F, 
VEC2D, 
VEC3I, 
VEC3F, 
 
  VEC3D, 
VEC4I, 
VEC4F, 
VEC4D, 
 
  MAT3F, 
MAT3D, 
MAT4F, 
MAT4D, 
 
  QUATF, 
QUATD, 
STRING, 
UNKNOWN
 
 } | 
|   | 
| enum   | OperatorToken {  
  PLUS = 0, 
MINUS, 
MULTIPLY, 
DIVIDE, 
 
  MODULO, 
AND, 
OR, 
NOT, 
 
  EQUALSEQUALS, 
NOTEQUALS, 
MORETHAN, 
LESSTHAN, 
 
  MORETHANOREQUAL, 
LESSTHANOREQUAL, 
SHIFTLEFT, 
SHIFTRIGHT, 
 
  BITAND, 
BITOR, 
BITXOR, 
BITNOT, 
 
  EQUALS, 
PLUSEQUALS, 
MINUSEQUALS, 
MULTIPLYEQUALS, 
 
  DIVIDEEQUALS, 
MODULOEQUALS, 
SHIFTLEFTEQUALS, 
SHIFTRIGHTEQUALS, 
 
  BITANDEQUALS, 
BITXOREQUALS, 
BITOREQUALS
 
 } | 
|   | 
| enum   | OperatorType {  
  ARITHMETIC = 0, 
LOGICAL, 
RELATIONAL, 
BITWISE, 
 
  ASSIGNMENT, 
UNKNOWN_OPERATOR
 
 } | 
|   | 
| enum   | LoopToken { FOR = 0, 
DO, 
WHILE
 } | 
|   | 
| enum   | KeywordToken { RETURN = 0, 
BREAK, 
CONTINUE
 } | 
|   |