|  | 
| 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
 } | 
|  |