52 #define YYBISON_VERSION "3.6.4"
55 #define YYSKELETON_NAME "yacc.c"
68 #define yyparse yyxmlparse
69 #define yylex yyxmllex
70 #define yyerror yyxmlerror
71 #define yydebug yyxmldebug
72 #define yynerrs yyxmlnerrs
73 #define yylval yyxmllval
74 #define yychar yyxmlchar
94 #pragma warning(disable:4242)
96 #pragma warning(disable:4244)
98 #pragma warning(disable:4365)
100 #pragma warning(disable:4065)
102 #pragma warning(disable:4702)
105 #line 106 "xml_y.tab.cpp"
109 # define YY_CAST(Type, Val) static_cast<Type> (Val)
110 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
112 # define YY_CAST(Type, Val) ((Type) (Val))
113 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
117 # if defined __cplusplus
118 # if 201103L <= __cplusplus
119 # define YY_NULLPTR nullptr
121 # define YY_NULLPTR 0
124 # define YY_NULLPTR ((void*)0)
130 #ifndef YY_YYXML_XML_Y_TAB_H_INCLUDED
131 # define YY_YYXML_XML_Y_TAB_H_INCLUDED
137 extern int yyxmldebug;
168 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
174 #line 175 "xml_y.tab.cpp"
178 # define YYSTYPE_IS_TRIVIAL 1
179 # define YYSTYPE_IS_DECLARED 1
243 #ifndef __PTRDIFF_MAX__
245 # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
256 #ifdef __INT_LEAST8_MAX__
258 #elif defined YY_STDINT_H
264 #ifdef __INT_LEAST16_MAX__
266 #elif defined YY_STDINT_H
272 #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
274 #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
275 && UINT_LEAST8_MAX <= INT_MAX)
277 #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
283 #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
285 #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
286 && UINT_LEAST16_MAX <= INT_MAX)
288 #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
295 # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
296 # define YYPTRDIFF_T __PTRDIFF_TYPE__
297 # define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
298 # elif defined PTRDIFF_MAX
302 # define YYPTRDIFF_T ptrdiff_t
303 # define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
305 # define YYPTRDIFF_T long
306 # define YYPTRDIFF_MAXIMUM LONG_MAX
311 # ifdef __SIZE_TYPE__
312 # define YYSIZE_T __SIZE_TYPE__
313 # elif defined size_t
314 # define YYSIZE_T size_t
315 # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
317 # define YYSIZE_T size_t
319 # define YYSIZE_T unsigned
323 #define YYSIZE_MAXIMUM \
324 YY_CAST (YYPTRDIFF_T, \
325 (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \
326 ? YYPTRDIFF_MAXIMUM \
327 : YY_CAST (YYSIZE_T, -1)))
329 #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
339 # if defined YYENABLE_NLS && YYENABLE_NLS
341 # include <libintl.h>
342 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
346 # define YY_(Msgid) Msgid
351 #ifndef YY_ATTRIBUTE_PURE
352 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
353 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
355 # define YY_ATTRIBUTE_PURE
359 #ifndef YY_ATTRIBUTE_UNUSED
360 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
361 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
363 # define YY_ATTRIBUTE_UNUSED
368 #if ! defined lint || defined __GNUC__
369 # define YYUSE(E) ((void) (E))
374 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
376 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
377 _Pragma ("GCC diagnostic push") \
378 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
379 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
380 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
381 _Pragma ("GCC diagnostic pop")
383 # define YY_INITIAL_VALUE(Value) Value
385 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
386 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
387 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
389 #ifndef YY_INITIAL_VALUE
390 # define YY_INITIAL_VALUE(Value)
393 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
394 # define YY_IGNORE_USELESS_CAST_BEGIN \
395 _Pragma ("GCC diagnostic push") \
396 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
397 # define YY_IGNORE_USELESS_CAST_END \
398 _Pragma ("GCC diagnostic pop")
400 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
401 # define YY_IGNORE_USELESS_CAST_BEGIN
402 # define YY_IGNORE_USELESS_CAST_END
406 #define YY_ASSERT(E) ((void) (0 && (E)))
408 #if !defined yyoverflow
412 # ifdef YYSTACK_USE_ALLOCA
413 # if YYSTACK_USE_ALLOCA
415 # define YYSTACK_ALLOC __builtin_alloca
416 # elif defined __BUILTIN_VA_ARG_INCR
419 # define YYSTACK_ALLOC __alloca
420 # elif defined _MSC_VER
422 # define alloca _alloca
424 # define YYSTACK_ALLOC alloca
425 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
428 # ifndef EXIT_SUCCESS
429 # define EXIT_SUCCESS 0
436 # ifdef YYSTACK_ALLOC
438 # define YYSTACK_FREE(Ptr) do { ; } while (0)
439 # ifndef YYSTACK_ALLOC_MAXIMUM
444 # define YYSTACK_ALLOC_MAXIMUM 4032
447 # define YYSTACK_ALLOC YYMALLOC
448 # define YYSTACK_FREE YYFREE
449 # ifndef YYSTACK_ALLOC_MAXIMUM
450 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
452 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
453 && ! ((defined YYMALLOC || defined malloc) \
454 && (defined YYFREE || defined free)))
456 # ifndef EXIT_SUCCESS
457 # define EXIT_SUCCESS 0
461 # define YYMALLOC malloc
462 # if ! defined malloc && ! defined EXIT_SUCCESS
468 # if ! defined free && ! defined EXIT_SUCCESS
475 #if (! defined yyoverflow \
476 && (! defined __cplusplus \
477 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
487 # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
491 # define YYSTACK_BYTES(N) \
492 ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \
493 + YYSTACK_GAP_MAXIMUM)
495 # define YYCOPY_NEEDED 1
502 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
505 YYPTRDIFF_T yynewbytes; \
506 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
507 Stack = &yyptr->Stack_alloc; \
508 yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
509 yyptr += yynewbytes / YYSIZEOF (*yyptr); \
515 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
519 # if defined __GNUC__ && 1 < __GNUC__
520 # define YYCOPY(Dst, Src, Count) \
521 __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
523 # define YYCOPY(Dst, Src, Count) \
527 for (yyi = 0; yyi < (Count); yyi++) \
528 (Dst)[yyi] = (Src)[yyi]; \
549 #define YYMAXUTOK 271
554 #define YYTRANSLATE(YYX) \
555 (0 <= (YYX) && (YYX) <= YYMAXUTOK \
556 ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \
563 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
564 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
565 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
566 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
567 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
568 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
569 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
570 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
571 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
572 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
573 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
574 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
575 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
576 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
577 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
578 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
579 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
580 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
588 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
589 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
597 0, 39, 39, 43, 48, 50, 47, 52, 56, 57,
598 61, 62, 67, 69, 66, 74, 74, 82, 83, 83,
599 88, 89, 91, 90, 94, 98, 99, 103, 104, 108
604 #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
613 static const char *
const yytname[] =
615 "\"end of file\"",
"error",
"\"invalid token\"",
"STARTXMLDECL",
616 "VERSION",
"STARTPI",
"ENDPI",
"EQ",
"SLASH",
"CLOSE",
"END",
"ENCODING",
617 "NAME",
"VALUE",
"DATA",
"COMMENT",
"START",
"$accept",
"document",
618 "prolog",
"XMLDecl_opt",
"$@1",
"$@2",
"misc_seq_opt",
"misc",
"PI",
619 "$@3",
"$@4",
"element",
"$@5",
"empty_or_content",
"$@6",
"content",
620 "$@7",
"name_opt",
"attribute_seq_opt",
"attribute",
YY_NULLPTR
626 return yytname[yysymbol];
635 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
636 265, 266, 267, 268, 269, 270, 271
640 #define YYPACT_NINF (-13)
642 #define yypact_value_is_default(Yyn) \
643 ((Yyn) == YYPACT_NINF)
645 #define YYTABLE_NINF (-1)
647 #define yytable_value_is_error(Yyn) \
654 2, -13, 8, -7, -13, -13, -13, -13, -13, -3,
655 1, -13, -3, 3, -13, -13, -13, 7, 11, -13,
656 -5, -13, 5, -13, 10, -13, -13, -13, -13, -13,
657 -13, 1, -4, 14, 9, -13, -13, -7, -13, -13,
666 7, 4, 0, 0, 9, 28, 1, 15, 9, 3,
667 5, 28, 2, 0, 10, 8, 11, 0, 0, 27,
668 0, 12, 0, 6, 0, 18, 16, 28, 29, 17,
669 24, 13, 22, 0, 26, 20, 21, 0, 14, 25,
676 -13, -13, -13, -13, -13, -13, 15, -8, -13, -13,
677 -13, -12, -13, -13, -13, -13, -13, -13, -11, -13
683 -1, 2, 3, 4, 5, 18, 9, 15, 16, 27,
684 33, 8, 11, 26, 30, 32, 37, 40, 10, 19
692 20, 13, 13, 24, 25, 1, 34, 17, 6, 7,
693 35, 14, 14, 17, 22, 21, 31, 23, 28, 29,
694 38, 39, 42, 12, 36, 41
699 11, 5, 5, 8, 9, 3, 10, 12, 0, 16,
700 14, 15, 15, 12, 7, 12, 27, 6, 13, 9,
708 0, 3, 18, 19, 20, 21, 0, 16, 28, 23,
709 35, 29, 23, 5, 15, 24, 25, 12, 22, 36,
710 35, 12, 7, 6, 8, 9, 30, 26, 13, 9,
711 31, 35, 32, 27, 10, 14, 24, 33, 6, 12,
718 0, 17, 18, 19, 21, 22, 20, 20, 23, 23,
719 24, 24, 26, 27, 25, 29, 28, 30, 31, 30,
720 32, 32, 33, 32, 32, 34, 34, 35, 35, 36
726 0, 2, 3, 2, 0, 0, 5, 0, 2, 0,
727 1, 1, 0, 0, 6, 0, 4, 2, 0, 6,
728 2, 2, 0, 3, 0, 1, 0, 2, 0, 3
734 #define yyerrok (yyerrstatus = 0)
735 #define yyclearin (yychar = YYEMPTY)
737 #define YYACCEPT goto yyacceptlab
738 #define YYABORT goto yyabortlab
739 #define YYERROR goto yyerrorlab
742 #define YYRECOVERING() (!!yyerrstatus)
744 #define YYBACKUP(Token, Value) \
746 if (yychar == YYEMPTY) \
750 YYPOPSTACK (yylen); \
756 yyerror (YY_("syntax error: cannot back up")); \
763 #define YYERRCODE YYUNDEF
771 # define YYFPRINTF fprintf
774 # define YYDPRINTF(Args) \
781 # ifndef YY_LOCATION_PRINT
782 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
786 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \
790 YYFPRINTF (stderr, "%s ", Title); \
791 yy_symbol_print (stderr, \
793 YYFPRINTF (stderr, "\n"); \
803 yy_symbol_value_print (FILE *yyo,
806 FILE *yyoutput = yyo;
812 YYPRINT (yyo, yytoknum[yykind], *yyvaluep);
825 yy_symbol_print (FILE *yyo,
828 YYFPRINTF (yyo,
"%s %s (",
829 yykind <
YYNTOKENS ?
"token" :
"nterm", yysymbol_name (yykind));
831 yy_symbol_value_print (yyo, yykind, yyvaluep);
832 YYFPRINTF (yyo,
")");
843 YYFPRINTF (stderr,
"Stack now");
844 for (; yybottom <= yytop; yybottom++)
846 int yybot = *yybottom;
847 YYFPRINTF (stderr,
" %d", yybot);
849 YYFPRINTF (stderr,
"\n");
852 # define YY_STACK_PRINT(Bottom, Top) \
855 yy_stack_print ((Bottom), (Top)); \
867 int yylno = yyrline[yyrule];
868 int yynrhs =
yyr2[yyrule];
870 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %d):\n",
873 for (yyi = 0; yyi < yynrhs; yyi++)
875 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
876 yy_symbol_print (stderr,
878 &yyvsp[(yyi + 1) - (yynrhs)]);
879 YYFPRINTF (stderr,
"\n");
883 # define YY_REDUCE_PRINT(Rule) \
886 yy_reduce_print (yyssp, yyvsp, Rule); \
893 # define YYDPRINTF(Args) ((void) 0)
894 # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
895 # define YY_STACK_PRINT(Bottom, Top)
896 # define YY_REDUCE_PRINT(Rule)
902 # define YYINITDEPTH 200
913 # define YYMAXDEPTH 10000
993 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
1004 yyssp = yyss = yyssa;
1005 yyvsp = yyvs = yyvsa;
1008 YYDPRINTF ((stderr,
"Starting parse\n"));
1027 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1034 if (yyss + yystacksize - 1 <= yyssp)
1035 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
1036 goto yyexhaustedlab;
1042 # if defined yyoverflow
1054 yyoverflow (
YY_(
"memory exhausted"),
1055 &yyss1, yysize *
YYSIZEOF (*yyssp),
1056 &yyvs1, yysize *
YYSIZEOF (*yyvsp),
1064 goto yyexhaustedlab;
1075 goto yyexhaustedlab;
1078 # undef YYSTACK_RELOCATE
1084 yyssp = yyss + yysize - 1;
1085 yyvsp = yyvs + yysize - 1;
1088 YYDPRINTF ((stderr,
"Stack size increased to %ld\n",
1089 YY_CAST (
long, yystacksize)));
1092 if (yyss + yystacksize - 1 <= yyssp)
1120 YYDPRINTF ((stderr,
"Reading a token\n"));
1128 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1202 yyval = yyvsp[1-yylen];
1211 #line 1212 "xml_y.tab.cpp"
1217 #line 1218 "xml_y.tab.cpp"
1222 {
free((yyvsp[0].s)); }
1223 #line 1224 "xml_y.tab.cpp"
1229 #line 1230 "xml_y.tab.cpp"
1235 #line 1236 "xml_y.tab.cpp"
1243 #line 1244 "xml_y.tab.cpp"
1249 #line 1250 "xml_y.tab.cpp"
1255 #line 1256 "xml_y.tab.cpp"
1260 {
free((yyvsp[-1].s)); }
1261 #line 1262 "xml_y.tab.cpp"
1267 #line 1268 "xml_y.tab.cpp"
1273 #line 1274 "xml_y.tab.cpp"
1279 #line 1280 "xml_y.tab.cpp"
1284 { (yyval.
s)=(yyvsp[0].s); }
1285 #line 1286 "xml_y.tab.cpp"
1290 { (yyval.
s)=strdup(
""); }
1291 #line 1292 "xml_y.tab.cpp"
1295 #line 108 "parser.y"
1298 free((yyvsp[-2].s));
free((yyvsp[0].s));}
1299 #line 1300 "xml_y.tab.cpp"
1303 #line 1304 "xml_y.tab.cpp"
1330 const int yyi =
yypgoto[yylhs] + *yyssp;
1331 yystate = (0 <= yyi && yyi <=
YYLAST &&
yycheck[yyi] == *yyssp
1353 if (yyerrstatus == 3)
1456 #if !defined yyoverflow
1483 while (yyssp != yyss)