-#define PERCENT_FILE_PREFIX 278
-#define PERCENT_GLR_PARSER 279
-#define PERCENT_LEX_PARAM 280
-#define PERCENT_LOCATIONS 281
-#define PERCENT_NAME_PREFIX 282
-#define PERCENT_NO_LINES 283
-#define PERCENT_OUTPUT 284
-#define PERCENT_PARSE_PARAM 285
-#define PERCENT_PURE_PARSER 286
-#define PERCENT_SKELETON 287
-#define PERCENT_START 288
-#define PERCENT_TOKEN_TABLE 289
-#define PERCENT_VERBOSE 290
-#define PERCENT_YACC 291
-#define TYPE 292
-#define EQUAL 293
-#define SEMICOLON 294
-#define COLON 295
-#define COMMA 296
-#define PIPE 297
-#define ID 298
-#define PERCENT_PERCENT 299
-#define PROLOGUE 300
-#define EPILOGUE 301
-#define BRACED_CODE 302
-
-
-
-
-#ifndef YYSTYPE
-#line 89 "parse-gram.y"
-typedef union {
- symbol_t *symbol;
- symbol_list_t *list;
+#define PERCENT_EXPECT_RR 278
+#define PERCENT_FLAG 279
+#define PERCENT_FILE_PREFIX 280
+#define PERCENT_GLR_PARSER 281
+#define PERCENT_INITIAL_ACTION 282
+#define PERCENT_LANGUAGE 283
+#define PERCENT_NAME_PREFIX 284
+#define PERCENT_NO_DEFAULT_PREC 285
+#define PERCENT_NO_LINES 286
+#define PERCENT_NONDETERMINISTIC_PARSER 287
+#define PERCENT_OUTPUT 288
+#define PERCENT_REQUIRE 289
+#define PERCENT_SKELETON 290
+#define PERCENT_START 291
+#define PERCENT_TOKEN_TABLE 292
+#define PERCENT_VERBOSE 293
+#define PERCENT_YACC 294
+#define BRACED_CODE 295
+#define BRACKETED_ID 296
+#define CHAR 297
+#define EPILOGUE 298
+#define EQUAL 299
+#define ID 300
+#define ID_COLON 301
+#define PERCENT_PERCENT 302
+#define PIPE 303
+#define PROLOGUE 304
+#define SEMICOLON 305
+#define TAG 306
+#define TAG_ANY 307
+#define TAG_NONE 308
+#define PERCENT_PARAM 309
+#define PERCENT_UNION 310
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+/* Line 1658 of yacc.c */
+#line 87 "src/parse-gram.y"
+
+ assoc assoc;
+ char *code;
+ char const *chars;