- char *tag;
- /* The location of its first occurence. */
- location_t location;
-
- /* Its %type and associated destructor. */
- char *type_name;
- char *destructor;
- location_t destructor_location;
-
-
- symbol_number_t number;
- short prec;
- associativity assoc;
+ uniqstr tag;
+ /* The location of its first occurrence. */
+ location location;
+
+ /* Its %type and associated printer and destructor. */
+ uniqstr type_name;
+ location type_location;
+
+ /* Does not own the memory. */
+ const char *destructor;
+ location destructor_location;
+
+ /* Does not own the memory. */
+ const char *printer;
+ location printer_location;
+
+ symbol_number number;
+ location prec_location;
+ int prec;
+ assoc assoc;