-#define PSI_T_COLON 20
-#define PSI_T_LPAREN 21
-#define PSI_T_NUMBER 22
-#define PSI_T_RPAREN 23
-#define PSI_T_BOOL 24
-#define PSI_T_FLOAT 25
-#define PSI_T_STRING 26
-#define PSI_T_CONST 27
-#define PSI_T_NSNAME 28
-#define PSI_T_EQUALS 29
-#define PSI_T_TYPEDEF 30
-#define PSI_T_VOID 31
-#define PSI_T_LBRACKET 32
-#define PSI_T_RBRACKET 33
-#define PSI_T_COMMA 34
-#define PSI_T_DOUBLE 35
-#define PSI_T_INT8 36
-#define PSI_T_UINT8 37
-#define PSI_T_INT16 38
-#define PSI_T_UINT16 39
-#define PSI_T_INT32 40
-#define PSI_T_UINT32 41
-#define PSI_T_INT64 42
-#define PSI_T_UINT64 43
-#define PSI_T_FUNCTION 44
-#define PSI_T_NULL 45
-#define PSI_T_TRUE 46
-#define PSI_T_FALSE 47
-#define PSI_T_DOLLAR 48
-#define PSI_T_CALLOC 49
-#define PSI_T_OBJVAL 50
-#define PSI_T_ARRVAL 51
-#define PSI_T_PATHVAL 52
-#define PSI_T_STRLEN 53
-#define PSI_T_STRVAL 54
-#define PSI_T_FLOATVAL 55
-#define PSI_T_INTVAL 56
-#define PSI_T_BOOLVAL 57
-#define PSI_T_TO_OBJECT 58
-#define PSI_T_TO_ARRAY 59
-#define PSI_T_TO_STRING 60
-#define PSI_T_TO_INT 61
-#define PSI_T_TO_FLOAT 62
-#define PSI_T_TO_BOOL 63
-#define PSI_T_MIXED 64
-#define PSI_T_ARRAY 65
-#define PSI_T_OBJECT 66
-#define PSI_T_AMPERSAND 67
+#define PSI_T_COMMA 20
+#define PSI_T_EQUALS 21
+#define PSI_T_UNION 22
+#define PSI_T_STRUCT 23
+#define PSI_T_COLON 24
+#define PSI_T_LPAREN 25
+#define PSI_T_NUMBER 26
+#define PSI_T_RPAREN 27
+#define PSI_T_BOOL 28
+#define PSI_T_INT 29
+#define PSI_T_FLOAT 30
+#define PSI_T_CONST 31
+#define PSI_T_NSNAME 32
+#define PSI_T_TYPEDEF 33
+#define PSI_T_VOID 34
+#define PSI_T_LBRACKET 35
+#define PSI_T_RBRACKET 36
+#define PSI_T_ELLIPSIS 37
+#define PSI_T_CHAR 38
+#define PSI_T_SHORT 39
+#define PSI_T_LONG 40
+#define PSI_T_DOUBLE 41
+#define PSI_T_UNSIGNED 42
+#define PSI_T_SIGNED 43
+#define PSI_T_INT8 44
+#define PSI_T_UINT8 45
+#define PSI_T_INT16 46
+#define PSI_T_UINT16 47
+#define PSI_T_INT32 48
+#define PSI_T_UINT32 49
+#define PSI_T_INT64 50
+#define PSI_T_UINT64 51
+#define PSI_T_FUNCTION 52
+#define PSI_T_NULL 53
+#define PSI_T_TRUE 54
+#define PSI_T_FALSE 55
+#define PSI_T_DOLLAR_NAME 56
+#define PSI_T_OBJVAL 57
+#define PSI_T_ARRVAL 58
+#define PSI_T_PATHVAL 59
+#define PSI_T_STRLEN 60
+#define PSI_T_STRVAL 61
+#define PSI_T_FLOATVAL 62
+#define PSI_T_INTVAL 63
+#define PSI_T_BOOLVAL 64
+#define PSI_T_CALLBACK 65
+#define PSI_T_TO_OBJECT 66
+#define PSI_T_TO_ARRAY 67
+#define PSI_T_TO_STRING 68
+#define PSI_T_TO_INT 69
+#define PSI_T_TO_FLOAT 70
+#define PSI_T_TO_BOOL 71
+#define PSI_T_MIXED 72
+#define PSI_T_ARRAY 73
+#define PSI_T_OBJECT 74
+#define PSI_T_CALLABLE 75
+#define PSI_T_AMPERSAND 76