-%token T_TYPEDEF "typedef"
-%token T_EXTERN "extern"
-%token T_STATIC "static"
-%token T_AUTO "auto"
-%token T_REGISTER "register"
-
-%token T_INLINE "inline"
-
-%token T_RESTRICT "restrict"
-%token T_VOLATILE "volatile"
-%token T_CONST "const"
-
-%token T_VOID "void"
-%token T_CHAR "char"
-%token T_SHORT "short"
-%token T_INT "int"
-%token T_LONG "long"
-%token T_FLOAT "float"
-%token T_DOUBLE "double"
-%token T_SIGNED "signed"
-%token T_UNSIGNED "unsigned"
-%token T_BOOL "_Bool"
-%token T_COMPLEX "_Complex"
-%token T_IMAGINARY "_Imaginary"
-
-%token T_STRUCT "struct"
-%token T_UNION "union"
-%token T_ENUM "enum"
+%token <spectype> T_TYPEDEF "typedef"
+%token <spectype> T_EXTERN "extern"
+%token <spectype> T_STATIC "static"
+%token <spectype> T_AUTO "auto"
+%token <spectype> T_REGISTER "register"
+
+%token <spectype> T_INLINE "inline"
+
+%token <spectype> T_RESTRICT "restrict"
+%token <spectype> T_VOLATILE "volatile"
+%token <spectype> T_CONST "const"
+
+%token <spectype> T_VOID "void"
+%token <spectype> T_CHAR "char"
+%token <spectype> T_SHORT "short"
+%token <spectype> T_INT "int"
+%token <spectype> T_LONG "long"
+%token <spectype> T_FLOAT "float"
+%token <spectype> T_DOUBLE "double"
+%token <spectype> T_SIGNED "signed"
+%token <spectype> T_UNSIGNED "unsigned"
+%token <spectype> T_BOOL "_Bool"
+%token <spectype> T_COMPLEX "_Complex"
+%token <spectype> T_IMAGINARY "_Imaginary"
+
+%token <spectype> T_STRUCT "struct"
+%token <spectype> T_UNION "union"
+%token <spectype> T_ENUM "enum"