+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 3
+#define YYFLAG -32768
+#define YYLAST 110
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 40
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 28
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 69
+/* YYNRULES -- Number of states. */
+#define YYNSTATES 94
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 294
+
+#define YYTRANSLATE(X) \
+ ((unsigned)(X) <= YYMAXUTOK ? yytranslate[X] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
+static const unsigned char yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+ YYRHS. */
+static const unsigned char yyprhs[] =
+{
+ 0, 0, 3, 4, 10, 11, 14, 16, 18, 20,
+ 24, 26, 28, 31, 35, 37, 41, 43, 47, 49,
+ 52, 54, 56, 58, 60, 61, 65, 68, 69, 73,
+ 74, 79, 83, 84, 89, 91, 93, 95, 96, 98,
+ 100, 103, 105, 108, 110, 112, 115, 118, 122, 124,
+ 127, 129, 132, 133, 139, 141, 145, 146, 149, 152,
+ 156, 158, 160, 162, 164, 166, 168, 169, 172, 173
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS. */
+static const signed char yyrhs[] =
+{
+ 41, 0, -1, -1, 42, 43, 36, 57, 66, -1,
+ -1, 43, 44, -1, 45, -1, 37, -1, 25, -1,
+ 21, 65, 65, -1, 23, -1, 17, -1, 10, 5,
+ -1, 19, 31, 65, -1, 26, -1, 20, 31, 65,
+ -1, 27, -1, 18, 31, 65, -1, 22, -1, 28,
+ 65, -1, 29, -1, 16, -1, 24, -1, 49, -1,
+ -1, 7, 46, 56, -1, 11, 62, -1, -1, 6,
+ 47, 56, -1, -1, 8, 30, 48, 53, -1, 9,
+ 39, 67, -1, -1, 51, 52, 50, 54, -1, 12,
+ -1, 13, -1, 14, -1, -1, 30, -1, 35, -1,
+ 53, 35, -1, 62, -1, 54, 62, -1, 30, -1,
+ 35, -1, 35, 5, -1, 35, 64, -1, 35, 5,
+ 64, -1, 55, -1, 56, 55, -1, 58, -1, 57,
+ 58, -1, -1, 35, 33, 59, 60, 32, -1, 61,
+ -1, 60, 34, 61, -1, -1, 61, 62, -1, 61,
+ 63, -1, 61, 15, 62, -1, 35, -1, 64, -1,
+ 4, -1, 39, -1, 3, -1, 3, -1, -1, 36,
+ 38, -1, -1, 32, -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
+static const unsigned short yyrline[] =
+{
+ 0, 131, 131, 131, 139, 141, 144, 146, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
+ 162, 163, 164, 167, 169, 169, 174, 178, 178, 183,
+ 183, 187, 195, 195, 202, 204, 205, 208, 210, 214,
+ 216, 220, 226, 235, 240, 245, 251, 257, 267, 270,
+ 274, 276, 279, 279, 284, 286, 289, 292, 294, 296,
+ 300, 302, 303, 306, 312, 321, 329, 334, 340, 342
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE
+/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "\"end of string\"", "error", "$undefined.", "STRING", "CHARACTER", "INT",
+ "\"%token\"", "\"%nterm\"", "\"%type\"", "\"%union\"", "\"%expect\"",
+ "\"%start\"", "\"%left\"", "\"%right\"", "\"%nonassoc\"", "\"%prec\"",
+ "\"%verbose\"", "\"%error-verbose\"", "\"%output\"", "\"%file-prefix\"",
+ "\"%name-prefix\"", "\"%define\"", "\"%pure-parser\"", "\"%defines\"",
+ "\"%yacc\"", "\"%debug\"", "\"%locations\"", "\"%no-lines\"",
+ "\"%skeleton\"", "\"%token-table\"", "TYPE", "\"=\"", "\";\"", "\":\"",
+ "\"|\"", "\"identifier\"", "\"%%\"", "PROLOGUE", "EPILOGUE",
+ "BRACED_CODE", "$axiom", "input", "@1", "directives", "directive",
+ "grammar_directives", "@2", "@3", "@4", "precedence_directives", "@5",
+ "precedence_directive", "type.opt", "nterms_to_type.1",
+ "terms_to_prec.1", "symbol_def", "symbol_defs.1", "gram", "rules", "@6",
+ "rhses.1", "rhs", "symbol", "action", "string_as_id", "string_content",
+ "epilogue.opt", "semi_colon_opt", 0
+};
+#endif
+
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+ token YYLEX-NUM. */
+static const short yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
+ 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
+ -1
+};
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const unsigned char yyr1[] =
+{
+ 0, 40, 42, 41, 43, 43, 44, 44, 44, 44,
+ 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+ 44, 44, 44, 45, 46, 45, 45, 47, 45, 48,
+ 45, 45, 50, 49, 51, 51, 51, 52, 52, 53,
+ 53, 54, 54, 55, 55, 55, 55, 55, 56, 56,
+ 57, 57, 59, 58, 60, 60, 61, 61, 61, 61,
+ 62, 62, 62, 63, 64, 65, 66, 66, 67, 67
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
+static const unsigned char yyr2[] =
+{
+ 0, 2, 0, 5, 0, 2, 1, 1, 1, 3,
+ 1, 1, 2, 3, 1, 3, 1, 3, 1, 2,
+ 1, 1, 1, 1, 0, 3, 2, 0, 3, 0,
+ 4, 3, 0, 4, 1, 1, 1, 0, 1, 1,
+ 2, 1, 2, 1, 1, 2, 2, 3, 1, 2,
+ 1, 2, 0, 5, 1, 3, 0, 2, 2, 3,
+ 1, 1, 1, 1, 1, 1, 0, 2, 0, 1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
+ STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+ means the default is an error. */
+static const short yydefact[] =
+{
+ 2, 0, 4, 0, 0, 27, 24, 0, 0, 0,
+ 0, 34, 35, 36, 21, 11, 0, 0, 0, 0,
+ 18, 10, 22, 8, 14, 16, 0, 20, 0, 7,
+ 5, 6, 23, 37, 0, 0, 29, 68, 12, 64,
+ 62, 60, 26, 61, 0, 0, 0, 65, 0, 19,
+ 0, 66, 50, 38, 32, 43, 44, 48, 28, 25,
+ 0, 69, 31, 17, 13, 15, 9, 52, 0, 51,
+ 3, 0, 45, 46, 49, 39, 30, 56, 67, 33,
+ 41, 47, 40, 0, 54, 42, 53, 56, 0, 63,
+ 57, 58, 55, 59
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const short yydefgoto[] =
+{
+ -1, 1, 2, 4, 30, 31, 35, 34, 60, 32,
+ 71, 33, 54, 76, 79, 57, 58, 51, 52, 77,
+ 83, 84, 90, 91, 43, 48, 70, 62
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+static const short yypact[] =
+{
+ -32768, 9,-32768,-32768, 73,-32768,-32768, -19, -24, 12,
+ 0,-32768,-32768,-32768,-32768,-32768, -5, -3, -1, 26,
+ -32768,-32768,-32768,-32768,-32768,-32768, 26,-32768, -4,-32768,
+ -32768,-32768,-32768, 2, -23, -23,-32768, 4,-32768,-32768,
+ -32768,-32768,-32768,-32768, 26, 26, 26,-32768, 26,-32768,
+ 1, -17,-32768,-32768,-32768,-32768, 5,-32768, -23, -23,
+ 3,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 6,-32768,
+ -32768, 0, 36,-32768,-32768,-32768, 7,-32768,-32768, 0,
+ -32768,-32768,-32768, -18, -2,-32768,-32768,-32768, 0,-32768,
+ -32768,-32768, -2,-32768
+};
+
+/* YYPGOTO[NTERM-NUM]. */
+static const short yypgoto[] =
+{
+ -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ -32768,-32768,-32768,-32768,-32768, -38, 8,-32768, -11,-32768,
+ -32768, -46, -10,-32768, -50, -21,-32768,-32768
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule which
+ number is the opposite. If zero, do what YYDEFACT says. */
+static const short yytable[] =
+{
+ 42, 39, 40, 39, 40, 49, 73, 55, 39, 3,
+ 72, 36, 56, 88, 86, 37, 87, 38, 50, 68,
+ 74, 74, 81, 63, 64, 65, 44, 66, 45, 47,
+ 46, 50, 53, 41, 67, 41, 61, 89, 75, 39,
+ 69, 92, 82, 59, 78, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 80, 0, 0, 0, 0, 0, 0, 0, 85,
+ 0, 0, 0, 0, 0, 0, 0, 0, 93, 5,
+ 6, 7, 8, 9, 10, 11, 12, 13, 0, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
+ 25, 26, 27, 0, 0, 0, 0, 0, 0, 28,
+ 29
+};
+
+static const short yycheck[] =
+{
+ 10, 3, 4, 3, 4, 26, 56, 30, 3, 0,
+ 5, 30, 35, 15, 32, 39, 34, 5, 35, 36,
+ 58, 59, 72, 44, 45, 46, 31, 48, 31, 3,
+ 31, 35, 30, 35, 33, 35, 32, 39, 35, 3,
+ 51, 87, 35, 35, 38, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
+ -1, -1, -1, -1, -1, -1, -1, -1, 88, 6,
+ 7, 8, 9, 10, 11, 12, 13, 14, -1, 16,
+ 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
+ 27, 28, 29, -1, -1, -1, -1, -1, -1, 36,
+ 37
+};
+
+#if YYDEBUG
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const unsigned char yystos[] =
+{
+ 0, 41, 42, 0, 43, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 36, 37,
+ 44, 45, 49, 51, 47, 46, 30, 39, 5, 3,
+ 4, 35, 62, 64, 31, 31, 31, 3, 65, 65,
+ 35, 57, 58, 30, 52, 30, 35, 55, 56, 56,
+ 48, 32, 67, 65, 65, 65, 65, 33, 36, 58,
+ 66, 50, 5, 64, 55, 35, 53, 59, 38, 54,
+ 62, 64, 35, 60, 61, 62, 32, 34, 15, 39,
+ 62, 63, 61, 62
+};
+#endif