91 #define YYBISON_VERSION "2.3a" 94 #define YYSKELETON_NAME "yacc.c" 100 #define YYLSP_NEEDED 1 103 #define yyparse XPathparse 104 #define yylex XPathlex 105 #define yyerror XPatherror 106 #define yylval XPathlval 107 #define yychar XPathchar 108 #define yydebug XPathdebug 109 #define yynerrs XPathnerrs 110 #define yylloc XPathlloc 114 #line 22 "querytransformparser.ypp" 207 #define YYMALLOC malloc 222 #define YYERROR_VERBOSE 1 224 #undef YYLTYPE_IS_TRIVIAL 225 #define YYLTYPE_IS_TRIVIAL 0 231 #define YYENABLE_NLS 0 270 static void allowedIn(
const QueryLanguages allowedLanguages,
273 const bool isInternal =
false)
295 langName = QtXmlPatterns::tr(
"W3C XML Schema identity constraint selector");
298 langName = QtXmlPatterns::tr(
"W3C XML Schema identity constraint field");
303 "which is disallowed in the current language(%1).").arg(langName),
352 return QtXmlPatterns::tr(
"%1 is an unknown schema type.");
396 const PatternPriority effectivePriority =
qIsNaN(priority) ? matchPattern->patternPriority() : priority;
421 parseInfo->
staticContext->error(QtXmlPatterns::tr(
"A template with name %1 " 422 "has already been declared.")
438 template<
typename TNumberClass>
443 const Item num(TNumberClass::fromLexical(in));
445 if(num.template as<AtomicValue>()->hasError())
447 parseInfo->
staticContext->error(QtXmlPatterns::tr(
"%1 is not a valid numeric literal.")
499 const bool throughStructures =
true)
503 if(!throughStructures)
516 candidate = children.
first().data();
517 id = candidate->
id();
634 return QtXmlPatterns::tr(
"Only one %1 declaration can occur in the query prolog.").arg(
formatKeyword(msg));
647 template<const ReportContext::ErrorCode errorCode>
655 QUrl uri(AnyURI::toQUrl<ReportContext::XQST0046>(collation, parseInfo->
staticContext, &ryy));
669 #if defined(YYLSP_NEEDED) \ 670 || defined(YYBISON) \ 671 || defined(YYBISON_VERSION) \ 673 || defined(yydebug) \ 674 || defined(YYSKELETON_NAME) 714 ->createFunctionCall(name, args, parseInfo->
staticContext, &ryy));
722 #ifdef Patternist_DEBUG_PARSER 730 extern int XPathdebug;
738 (*lexVal).sval = tok.
value;
740 return static_cast<int>(tok.type);
759 return create(
new Path(p1, end), sourceLocator, parseInfo);
774 sourceLocator, parseInfo);
783 else if(content.
size() == 1)
784 return content.
first();
822 parseInfo->
staticContext->error(QtXmlPatterns::tr(
"The initialization of variable %1 " 885 parseInfo->
staticContext->error(QtXmlPatterns::tr(
"No variable with name %1 exists")
913 const bool checkSource =
true)
959 if(checkSource && seqType)
995 var->setExpression(checked);
1015 if((*it)->name == name)
1025 const bool raiseErrorOnUnavailability)
1069 var->references.append(retval);
1083 else if(!raiseErrorOnUnavailability && parseInfo->
isXSLT())
1107 exprs.
append(returnExpr);
1109 const int len = orderSpecTransfer.
size();
1111 for(
int i = 0; i < len; ++i)
1113 exprs.
append(orderSpecTransfer.
at(i).expression);
1114 orderSpecs.
append(orderSpecTransfer.
at(i).orderSpec);
1128 #ifdef YYERROR_VERBOSE 1129 # undef YYERROR_VERBOSE 1130 # define YYERROR_VERBOSE 1 1132 # define YYERROR_VERBOSE 1 1136 #ifndef YYTOKEN_TABLE 1137 # define YYTOKEN_TABLE 0 1143 # define YYTOKENTYPE 1319 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 1321 # define yystype YYSTYPE 1322 # define YYSTYPE_IS_DECLARED 1 1325 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 1333 # define yyltype YYLTYPE 1334 # define YYLTYPE_IS_DECLARED 1 1335 # define YYLTYPE_IS_TRIVIAL 1 1342 #line 1323 "qquerytransformparser.cpp" 1356 #elif (defined __STDC__ || defined __C99__FUNC__ \ 1357 || defined __cplusplus || defined _MSC_VER) 1363 #ifdef YYTYPE_UINT16 1376 # ifdef __SIZE_TYPE__ 1377 # define YYSIZE_T __SIZE_TYPE__ 1378 # elif defined size_t 1379 # define YYSIZE_T size_t 1380 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ 1381 || defined __cplusplus || defined _MSC_VER) 1382 # include <stddef.h> 1383 # define YYSIZE_T size_t 1385 # define YYSIZE_T unsigned int 1389 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 1394 # include <libintl.h> 1395 # define YY_(msgid) dgettext ("bison-runtime", msgid) 1399 # define YY_(msgid) msgid 1404 #if ! defined lint || defined __GNUC__ 1405 # define YYUSE(e) ((void) (e)) 1412 # define YYID(n) (n) 1414 #if (defined __STDC__ || defined __C99__FUNC__ \ 1415 || defined __cplusplus || defined _MSC_VER) 1428 #if ! defined yyoverflow || YYERROR_VERBOSE 1432 # ifdef YYSTACK_USE_ALLOCA 1433 # if YYSTACK_USE_ALLOCA 1435 # define YYSTACK_ALLOC __builtin_alloca 1436 # elif defined __BUILTIN_VA_ARG_INCR 1437 # include <alloca.h> 1439 # define YYSTACK_ALLOC __alloca 1440 # elif defined _MSC_VER 1441 # include <malloc.h> 1442 # define alloca _alloca 1444 # define YYSTACK_ALLOC alloca 1445 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 1446 || defined __cplusplus || defined _MSC_VER) 1447 # include <stdlib.h> 1449 # define _STDLIB_H 1 1456 # ifdef YYSTACK_ALLOC 1458 # define YYSTACK_FREE(Ptr) do { ; } while (YYID (0)) 1459 # ifndef YYSTACK_ALLOC_MAXIMUM 1464 # define YYSTACK_ALLOC_MAXIMUM 4032 1467 # define YYSTACK_ALLOC YYMALLOC 1468 # define YYSTACK_FREE YYFREE 1469 # ifndef YYSTACK_ALLOC_MAXIMUM 1470 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 1472 # if (defined __cplusplus && ! defined _STDLIB_H \ 1473 && ! ((defined YYMALLOC || defined malloc) \ 1474 && (defined YYFREE || defined free))) 1475 # include <stdlib.h> 1477 # define _STDLIB_H 1 1481 # define YYMALLOC malloc 1482 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 1483 || defined __cplusplus || defined _MSC_VER) 1488 # define YYFREE free 1489 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ 1490 || defined __cplusplus || defined _MSC_VER) 1498 #if (! defined yyoverflow \ 1499 && (! defined __cplusplus \ 1500 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ 1501 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 1512 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 1516 # define YYSTACK_BYTES(N) \ 1517 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ 1518 + 2 * YYSTACK_GAP_MAXIMUM) 1523 # if defined __GNUC__ && 1 < __GNUC__ 1524 # define YYCOPY(To, From, Count) \ 1525 __builtin_memcpy (To, From, (Count) * sizeof (*(From))) 1527 # define YYCOPY(To, From, Count) \ 1531 for (yyi = 0; yyi < (Count); yyi++) \ 1532 (To)[yyi] = (From)[yyi]; \ 1543 # define YYSTACK_RELOCATE(Stack) \ 1546 YYSIZE_T yynewbytes; \ 1547 YYCOPY (&yyptr->Stack, Stack, yysize); \ 1548 Stack = &yyptr->Stack; \ 1549 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 1550 yyptr += yynewbytes / sizeof (*yyptr); \ 1562 #define YYNTOKENS 169 1566 #define YYNRULES 472 1568 #define YYNSTATES 812 1571 #define YYUNDEFTOK 2 1572 #define YYMAXUTOK 423 1574 #define YYTRANSLATE(YYX) \ 1575 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 1580 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1581 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1582 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1583 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1584 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1585 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1586 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1587 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1588 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1589 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1590 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1591 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1592 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1593 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1594 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1595 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1596 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1597 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1598 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1599 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1600 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1601 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1602 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1603 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1604 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1605 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1606 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1607 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1608 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1609 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1610 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1611 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1612 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1613 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1614 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1615 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1616 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1617 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1618 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1619 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1620 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1621 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1628 static const yytype_uint16 yyprhs[] =
1630 0, 0, 3, 6, 9, 10, 16, 17, 20, 23,
1631 26, 33, 34, 37, 40, 43, 46, 49, 52, 55,
1632 58, 66, 67, 68, 84, 85, 88, 89, 91, 94,
1633 96, 98, 100, 102, 104, 106, 108, 110, 112, 114,
1634 122, 127, 129, 131, 133, 135, 142, 149, 155, 160,
1635 162, 164, 170, 173, 176, 183, 185, 187, 189, 191,
1636 197, 203, 210, 211, 215, 219, 226, 227, 231, 232,
1637 235, 237, 241, 251, 253, 256, 257, 260, 265, 267,
1638 269, 270, 282, 283, 285, 289, 293, 295, 297, 301,
1639 303, 305, 309, 311, 313, 316, 319, 321, 325, 329,
1640 331, 333, 337, 341, 343, 345, 347, 351, 355, 357,
1641 359, 361, 363, 365, 370, 371, 374, 375, 378, 380,
1642 384, 386, 388, 390, 392, 393, 394, 405, 406, 407,
1643 418, 420, 422, 424, 425, 429, 430, 440, 441, 450,
1644 452, 454, 456, 460, 466, 467, 469, 472, 476, 478,
1645 483, 484, 486, 488, 489, 491, 492, 495, 499, 503,
1646 506, 508, 510, 511, 512, 522, 523, 524, 534, 536,
1647 537, 538, 548, 549, 550, 560, 562, 565, 566, 573,
1648 574, 575, 584, 586, 588, 589, 593, 597, 598, 605,
1649 614, 616, 620, 622, 626, 628, 630, 632, 634, 636,
1650 640, 642, 646, 648, 650, 652, 656, 658, 660, 662,
1651 664, 666, 670, 672, 676, 678, 680, 682, 684, 686,
1652 691, 693, 698, 700, 705, 707, 712, 714, 717, 719,
1653 721, 723, 725, 727, 731, 733, 735, 737, 739, 741,
1654 743, 747, 749, 751, 753, 755, 757, 759, 763, 765,
1655 767, 769, 772, 774, 777, 780, 783, 786, 790, 793,
1656 795, 800, 801, 803, 806, 809, 811, 813, 815, 819,
1657 827, 831, 833, 835, 838, 839, 843, 849, 850, 860,
1658 866, 867, 870, 871, 873, 877, 878, 882, 888, 889,
1659 891, 892, 895, 897, 899, 901, 903, 908, 910, 912,
1660 913, 917, 919, 921, 923, 926, 928, 930, 932, 934,
1661 936, 938, 940, 942, 944, 946, 948, 950, 951, 955,
1662 957, 959, 961, 963, 965, 967, 969, 971, 973, 975,
1663 977, 979, 984, 986, 988, 990, 992, 994, 996, 998,
1664 1004, 1006, 1008, 1010, 1012, 1015, 1017, 1019, 1023, 1026,
1665 1028, 1031, 1036, 1037, 1039, 1041, 1043, 1045, 1047, 1049,
1666 1051, 1052, 1053, 1062, 1064, 1070, 1071, 1074, 1078, 1082,
1667 1086, 1087, 1090, 1093, 1094, 1097, 1100, 1103, 1106, 1109,
1668 1113, 1115, 1117, 1119, 1121, 1123, 1125, 1127, 1131, 1132,
1669 1138, 1139, 1141, 1146, 1150, 1154, 1158, 1159, 1160, 1164,
1670 1166, 1168, 1170, 1172, 1174, 1176, 1180, 1182, 1185, 1186,
1671 1189, 1192, 1195, 1196, 1198, 1200, 1202, 1204, 1206, 1208,
1672 1211, 1213, 1215, 1217, 1219, 1221, 1223, 1225, 1227, 1230,
1673 1233, 1238, 1240, 1242, 1245, 1248, 1251, 1256, 1261, 1263,
1674 1265, 1268, 1273, 1278, 1285, 1292, 1297, 1300, 1305, 1310,
1675 1318, 1326, 1327, 1329, 1334, 1337, 1339, 1341, 1343, 1345,
1676 1347, 1349, 1351, 1353, 1356, 1358, 1360, 1362, 1364, 1366,
1681 static const yytype_int16 yyrhs[] =
1683 170, 0, -1, 171, 174, -1, 171, 173, -1, -1,
1684 165, 163, 404, 172, 185, -1, -1, 59, 404, -1,
1685 176, 219, -1, 175, 176, -1, 102, 104, 7, 73,
1686 403, 185, -1, -1, 176, 189, -1, 176, 183, -1,
1687 176, 186, -1, 176, 184, -1, 176, 177, -1, 176,
1688 208, -1, 176, 213, -1, 176, 192, -1, 44, 152,
1689 182, 317, 377, 305, 185, -1, -1, -1, 44, 152,
1690 181, 98, 95, 178, 220, 179, 132, 228, 180, 317,
1691 377, 305, 185, -1, -1, 125, 404, -1, -1, 182,
1692 -1, 103, 397, -1, 187, -1, 200, -1, 201, -1,
1693 211, -1, 193, -1, 195, -1, 197, -1, 202, -1,
1694 204, -1, 138, -1, 44, 104, 7, 73, 403, 364,
1695 185, -1, 44, 28, 188, 185, -1, 146, -1, 124,
1696 -1, 190, -1, 191, -1, 44, 45, 55, 104, 403,
1697 185, -1, 44, 45, 71, 104, 403, 185, -1, 44,
1698 110, 397, 404, 185, -1, 44, 112, 194, 185, -1,
1699 111, -1, 160, -1, 44, 45, 113, 196, 185, -1,
1700 57, 92, -1, 57, 79, -1, 44, 41, 198, 37,
1701 199, 185, -1, 124, -1, 108, -1, 84, -1, 107,
1702 -1, 44, 45, 35, 404, 185, -1, 44, 26, 364,
1703 403, 185, -1, 83, 136, 203, 403, 206, 185, -1,
1704 -1, 45, 55, 104, -1, 104, 7, 73, -1, 83,
1705 102, 205, 403, 206, 185, -1, -1, 104, 7, 73,
1706 -1, -1, 21, 207, -1, 403, -1, 207, 37, 403,
1707 -1, 44, 162, 364, 52, 341, 377, 209, 210, 185,
1708 -1, 65, -1, 20, 227, -1, -1, 20, 227, -1,
1709 44, 40, 212, 185, -1, 146, -1, 124, -1, -1,
1710 44, 71, 364, 399, 95, 215, 132, 214, 377, 217,
1711 185, -1, -1, 216, -1, 215, 37, 216, -1, 52,
1712 341, 377, -1, 65, -1, 218, -1, 42, 225, 43,
1713 -1, 225, -1, 221, -1, 220, 25, 221, -1, 223,
1714 -1, 139, -1, 139, 223, -1, 140, 223, -1, 222,
1715 -1, 222, 139, 223, -1, 222, 140, 223, -1, 345,
1716 -1, 224, -1, 223, 139, 224, -1, 223, 140, 224,
1717 -1, 322, -1, 227, -1, 226, -1, 227, 37, 227,
1718 -1, 226, 37, 227, -1, 277, -1, 232, -1, 253,
1719 -1, 267, -1, 276, -1, 24, 95, 356, 132, -1,
1720 -1, 100, 230, -1, -1, 100, 231, -1, 231, -1,
1721 230, 37, 231, -1, 405, -1, 7, -1, 233, -1,
1722 240, -1, -1, -1, 70, 52, 341, 377, 239, 85,
1723 227, 234, 235, 236, -1, -1, -1, 37, 52, 341,
1724 377, 239, 85, 227, 237, 238, 236, -1, 244, -1,
1725 233, -1, 240, -1, -1, 21, 52, 341, -1, -1,
1726 94, 364, 52, 341, 377, 20, 227, 241, 242, -1,
1727 -1, 37, 52, 341, 377, 20, 227, 243, 242, -1,
1728 244, -1, 233, -1, 240, -1, 245, 131, 227, -1,
1729 164, 227, 245, 131, 227, -1, -1, 246, -1, 252,
1730 247, -1, 247, 37, 248, -1, 248, -1, 227, 249,
1731 250, 251, -1, -1, 19, -1, 48, -1, -1, 196,
1732 -1, -1, 35, 403, -1, 166, 35, 227, -1, 143,
1733 113, 29, -1, 113, 29, -1, 254, -1, 260, -1,
1734 -1, -1, 141, 52, 341, 377, 85, 227, 255, 256,
1735 257, -1, -1, -1, 37, 52, 341, 377, 85, 227,
1736 258, 259, 257, -1, 266, -1, -1, -1, 63, 52,
1737 341, 377, 85, 227, 261, 262, 263, -1, -1, -1,
1738 37, 52, 341, 377, 85, 227, 264, 265, 263, -1,
1739 266, -1, 133, 227, -1, -1, 158, 95, 225, 132,
1740 268, 269, -1, -1, -1, 31, 273, 378, 270, 131,
1741 227, 271, 272, -1, 269, -1, 274, -1, -1, 52,
1742 397, 18, -1, 45, 131, 227, -1, -1, 45, 52,
1743 397, 275, 131, 227, -1, 82, 95, 225, 132, 154,
1744 227, 56, 227, -1, 278, -1, 277, 114, 278, -1,
1745 279, -1, 278, 15, 279, -1, 280, -1, 298, -1,
1746 296, -1, 300, -1, 281, -1, 281, 155, 281, -1,
1747 283, -1, 281, 282, 283, -1, 117, -1, 99, -1,
1748 285, -1, 283, 284, 285, -1, 144, -1, 49, -1,
1749 81, -1, 101, -1, 286, -1, 285, 287, 286, -1,
1750 289, -1, 286, 288, 289, -1, 159, -1, 25, -1,
1751 87, -1, 64, -1, 290, -1, 290, 86, 109, 378,
1752 -1, 291, -1, 291, 156, 18, 378, -1, 292, -1,
1753 292, 32, 18, 376, -1, 293, -1, 293, 33, 18,
1754 376, -1, 295, -1, 294, 293, -1, 117, -1, 99,
1755 -1, 302, -1, 309, -1, 304, -1, 280, 297, 280,
1756 -1, 73, -1, 78, -1, 74, -1, 75, -1, 76,
1757 -1, 77, -1, 280, 299, 280, -1, 61, -1, 105,
1758 -1, 72, -1, 80, -1, 93, -1, 96, -1, 280,
1759 301, 280, -1, 88, -1, 121, -1, 68, -1, 303,
1760 218, -1, 161, -1, 161, 145, -1, 161, 90, -1,
1761 306, 305, -1, 42, 43, -1, 42, 225, 43, -1,
1762 306, 307, -1, 307, -1, 120, 402, 308, 119, -1,
1763 -1, 404, -1, 139, 310, -1, 140, 310, -1, 139,
1764 -1, 310, -1, 311, -1, 310, 321, 311, -1, 310,
1765 321, 142, 246, 131, 311, 60, -1, 310, 140, 311,
1766 -1, 322, -1, 336, -1, 168, 218, -1, -1, 151,
1767 312, 218, -1, 26, 404, 42, 225, 43, -1, -1,
1768 44, 104, 7, 73, 3, 42, 313, 225, 43, -1,
1769 30, 397, 95, 314, 132, -1, -1, 315, 316, -1,
1770 -1, 318, -1, 316, 37, 318, -1, -1, 95, 316,
1771 132, -1, 319, 52, 341, 377, 320, -1, -1, 157,
1772 -1, -1, 20, 227, -1, 139, -1, 97, -1, 69,
1773 -1, 323, -1, 322, 91, 225, 130, -1, 324, -1,
1774 331, -1, -1, 327, 325, 326, -1, 329, -1, 333,
1775 -1, 389, -1, 328, 36, -1, 14, -1, 13, -1,
1776 23, -1, 34, -1, 47, -1, 46, -1, 66, -1,
1777 122, -1, 67, -1, 123, -1, 115, -1, 137, -1,
1778 -1, 22, 330, 333, -1, 333, -1, 389, -1, 332,
1779 -1, 54, -1, 334, -1, 382, -1, 397, -1, 335,
1780 -1, 144, -1, 9, -1, 10, -1, 337, -1, 336,
1781 91, 225, 130, -1, 338, -1, 340, -1, 342, -1,
1782 343, -1, 345, -1, 344, -1, 347, -1, 17, 229,
1783 95, 314, 132, -1, 339, -1, 404, -1, 12, -1,
1784 11, -1, 52, 341, -1, 7, -1, 405, -1, 95,
1785 225, 132, -1, 95, 132, -1, 53, -1, 194, 218,
1786 -1, 399, 95, 346, 132, -1, -1, 227, -1, 226,
1787 -1, 348, -1, 360, -1, 349, -1, 358, -1, 359,
1788 -1, -1, -1, 77, 401, 350, 353, 351, 118, 353,
1789 352, -1, 128, -1, 75, 357, 27, 397, 75, -1,
1790 -1, 353, 354, -1, 401, 73, 355, -1, 129, 356,
1791 129, -1, 16, 356, 16, -1, -1, 218, 356, -1,
1792 404, 356, -1, -1, 357, 348, -1, 357, 404, -1,
1793 357, 4, -1, 357, 218, -1, 39, 148, -1, 116,
1794 150, 149, -1, 361, -1, 362, -1, 365, -1, 366,
1795 -1, 367, -1, 368, -1, 375, -1, 50, 364, 218,
1796 -1, -1, 55, 364, 372, 363, 305, -1, -1, 166,
1797 -1, 23, 364, 369, 305, -1, 153, 364, 218, -1,
1798 38, 364, 218, -1, 126, 374, 305, -1, -1, -1,
1799 370, 397, 371, -1, 373, -1, 397, -1, 373, -1,
1800 218, -1, 7, -1, 218, -1, 104, 218, 218, -1,
1801 381, -1, 381, 127, -1, -1, 18, 378, -1, 380,
1802 379, -1, 58, 395, -1, -1, 117, -1, 144, -1,
1803 127, -1, 381, -1, 382, -1, 389, -1, 89, 395,
1804 -1, 397, -1, 384, -1, 392, -1, 394, -1, 388,
1805 -1, 387, -1, 386, -1, 383, -1, 106, 395, -1,
1806 51, 395, -1, 51, 95, 385, 132, -1, 392, -1,
1807 394, -1, 153, 395, -1, 38, 395, -1, 126, 395,
1808 -1, 126, 95, 7, 132, -1, 126, 95, 404, 132,
1809 -1, 390, -1, 391, -1, 23, 395, -1, 23, 95,
1810 144, 132, -1, 23, 95, 396, 132, -1, 23, 95,
1811 396, 37, 398, 132, -1, 23, 95, 144, 37, 398,
1812 132, -1, 134, 95, 397, 132, -1, 55, 395, -1,
1813 55, 95, 144, 132, -1, 55, 95, 397, 132, -1,
1814 55, 95, 397, 37, 398, 393, 132, -1, 55, 95,
1815 144, 37, 398, 393, 132, -1, -1, 127, -1, 135,
1816 95, 397, 132, -1, 95, 132, -1, 7, -1, 405,
1817 -1, 7, -1, 405, -1, 397, -1, 400, -1, 405,
1818 -1, 7, -1, 167, 7, -1, 7, -1, 6, -1,
1819 7, -1, 405, -1, 404, -1, 3, -1, 5, -1,
1824 static const yytype_uint16 yyrline[] =
1826 0, 1375, 1375, 1376, 1378, 1379, 1410, 1411, 1427, 1525,
1827 1527, 1533, 1535, 1542, 1548, 1554, 1561, 1564, 1568, 1572,
1828 1592, 1606, 1610, 1604, 1673, 1677, 1694, 1697, 1699, 1704,
1829 1705, 1709, 1710, 1714, 1718, 1722, 1724, 1725, 1727, 1729,
1830 1775, 1789, 1794, 1799, 1800, 1802, 1817, 1832, 1842, 1857,
1831 1861, 1866, 1880, 1884, 1889, 1903, 1908, 1913, 1918, 1923,
1832 1939, 1962, 1970, 1971, 1972, 1974, 1991, 1992, 1994, 1995,
1833 1997, 1998, 2000, 2055, 2059, 2065, 2068, 2073, 2087, 2091,
1834 2097, 2096, 2205, 2208, 2214, 2235, 2241, 2245, 2247, 2252,
1835 2262, 2263, 2268, 2269, 2278, 2348, 2359, 2360, 2364, 2369,
1836 2438, 2439, 2443, 2448, 2492, 2493, 2498, 2505, 2511, 2512,
1837 2513, 2514, 2515, 2516, 2522, 2527, 2533, 2536, 2541, 2547,
1838 2553, 2557, 2582, 2583, 2587, 2591, 2585, 2632, 2635, 2630,
1839 2651, 2652, 2653, 2656, 2660, 2668, 2667, 2681, 2680, 2689,
1840 2690, 2691, 2693, 2701, 2712, 2715, 2717, 2722, 2729, 2736,
1841 2742, 2762, 2767, 2773, 2776, 2778, 2779, 2786, 2792, 2796,
1842 2801, 2802, 2805, 2809, 2804, 2819, 2823, 2818, 2831, 2834,
1843 2838, 2833, 2848, 2852, 2847, 2860, 2862, 2890, 2889, 2901,
1844 2909, 2900, 2920, 2921, 2924, 2928, 2933, 2938, 2937, 2953,
1845 2959, 2960, 2966, 2967, 2973, 2974, 2975, 2976, 2978, 2979,
1846 2985, 2986, 2992, 2993, 2995, 2996, 3002, 3003, 3004, 3005,
1847 3007, 3008, 3018, 3019, 3025, 3026, 3028, 3032, 3037, 3038,
1848 3045, 3046, 3052, 3053, 3059, 3060, 3066, 3067, 3073, 3077,
1849 3082, 3083, 3084, 3086, 3092, 3093, 3094, 3095, 3096, 3097,
1850 3099, 3104, 3105, 3106, 3107, 3108, 3109, 3111, 3116, 3117,
1851 3118, 3120, 3134, 3135, 3136, 3138, 3155, 3159, 3164, 3165,
1852 3167, 3172, 3173, 3175, 3181, 3185, 3191, 3194, 3195, 3199,
1853 3208, 3213, 3217, 3218, 3223, 3222, 3237, 3245, 3244, 3260,
1854 3268, 3268, 3277, 3279, 3282, 3287, 3289, 3293, 3359, 3362,
1855 3368, 3371, 3380, 3384, 3388, 3393, 3394, 3399, 3400, 3403,
1856 3402, 3432, 3434, 3435, 3437, 3481, 3482, 3483, 3484, 3485,
1857 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3495, 3494, 3505,
1858 3516, 3521, 3523, 3528, 3529, 3534, 3538, 3540, 3544, 3553,
1859 3560, 3561, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574,
1860 3584, 3585, 3590, 3595, 3601, 3607, 3612, 3617, 3622, 3628,
1861 3633, 3638, 3668, 3672, 3679, 3681, 3685, 3690, 3691, 3692,
1862 3726, 3735, 3724, 3976, 3980, 4000, 4003, 4009, 4014, 4019,
1863 4025, 4028, 4038, 4045, 4049, 4055, 4069, 4075, 4092, 4097,
1864 4110, 4111, 4112, 4113, 4114, 4115, 4116, 4118, 4126, 4125,
1865 4165, 4168, 4173, 4188, 4193, 4200, 4212, 4216, 4212, 4222,
1866 4224, 4228, 4230, 4245, 4249, 4258, 4263, 4267, 4273, 4276,
1867 4281, 4286, 4291, 4292, 4293, 4294, 4296, 4297, 4298, 4299,
1868 4304, 4340, 4341, 4342, 4343, 4344, 4345, 4346, 4348, 4353,
1869 4358, 4364, 4365, 4367, 4372, 4377, 4382, 4387, 4403, 4404,
1870 4406, 4411, 4416, 4420, 4432, 4445, 4455, 4460, 4465, 4470,
1871 4484, 4498, 4499, 4501, 4511, 4513, 4518, 4525, 4532, 4534,
1872 4536, 4537, 4539, 4543, 4548, 4549, 4551, 4557, 4559, 4561,
1877 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE 1882 "\"end of file\"",
"error",
"$undefined",
"\"<string literal>\"",
1883 "\"<non-boundary text node>\"",
"\"<string literal(XPath 2.0)>\"",
1884 "\"QName\"",
"\"NCName\"",
"\"ClarkName\"",
"ANY_LOCAL_NAME",
1885 "ANY_PREFIX",
"\"<number literal>\"",
"\"<number literal(XPath 2.0)>\"",
1886 "\"ancestor\"",
"\"ancestor-or-self\"",
"\"and\"",
"\"'\"",
1887 "\"apply-template\"",
"\"as\"",
"\"ascending\"",
"\":=\"",
"\"at\"",
1888 "\"@\"",
"\"attribute\"",
"AVT",
"\"|\"",
"\"base-uri\"",
"\"</\"",
1889 "\"boundary-space\"",
"\"by\"",
"\"call-template\"",
"\"case\"",
1890 "\"castable\"",
"\"cast\"",
"\"child\"",
"\"collation\"",
"\"::\"",
1891 "\",\"",
"\"comment\"",
"\"<!--\"",
"\"construction\"",
1892 "\"copy-namespaces\"",
"\"{\"",
"\"}\"",
"\"declare\"",
"\"default\"",
1893 "\"descendant\"",
"\"descendant-or-self\"",
"\"descending\"",
"\"div\"",
1894 "\"document\"",
"\"document-node\"",
"\"$\"",
"\".\"",
"\"..\"",
1895 "\"element\"",
"\"else\"",
"\"empty\"",
"\"empty-sequence\"",
1896 "\"encoding\"",
"\"end_sort\"",
"\"eq\"",
"\"unknown keyword\"",
1897 "\"every\"",
"\"except\"",
"\"external\"",
"\"following\"",
1898 "\"following-sibling\"",
"\">>\"",
"\"for-apply-template\"",
"\"for\"",
1899 "\"function\"",
"\"ge\"",
"\"=\"",
"\">=\"",
"\">\"",
"\"<=\"",
"\"<\"",
1900 "\"!=\"",
"\"greatest\"",
"\"gt\"",
"\"idiv\"",
"\"if\"",
"\"import\"",
1901 "\"inherit\"",
"\"in\"",
"\"instance\"",
"\"intersect\"",
"\"is\"",
1902 "\"item\"",
"\"lax\"",
"\"[\"",
"\"least\"",
"\"le\"",
"\"let\"",
1903 "\"(\"",
"\"lt\"",
"\"map\"",
"\"matches\"",
"\"-\"",
"\"mode\"",
1904 "\"mod\"",
"\"module\"",
"\"name\"",
"\"namespace\"",
"\"ne\"",
1905 "\"node\"",
"\"no-inherit\"",
"\"no-preserve\"",
"\"of\"",
"\"option\"",
1906 "\"ordered\"",
"\"ordering\"",
"\"order\"",
"\"or\"",
"\"parent\"",
1907 "\"<?\"",
"\"+\"",
"POSITION_SET",
"\"#)\"",
"\"(#\"",
"\"<<\"",
1908 "\"preceding\"",
"\"preceding-sibling\"",
"\"preserve\"",
"\"priority\"",
1909 "\"processing-instruction\"",
"\"?\"",
"\"/>\"",
"\"\\\"\"",
"\"]\"",
1910 "\"return\"",
"\")\"",
"\"satisfies\"",
"\"schema-attribute\"",
1911 "\"schema-element\"",
"\"schema\"",
"\"self\"",
"\";\"",
"\"/\"",
1912 "\"//\"",
"\"some\"",
"\"sort\"",
"\"stable\"",
"\"*\"",
"\"strict\"",
1913 "\"strip\"",
"SUCCESS",
"COMMENT_CONTENT",
"PI_CONTENT",
"PI_TARGET",
1914 "XSLT_VERSION",
"\"template\"",
"\"text\"",
"\"then\"",
"\"to\"",
1915 "\"treat\"",
"\"tunnel\"",
"\"typeswitch\"",
"\"union\"",
1916 "\"unordered\"",
"\"validate\"",
"\"variable\"",
"\"version\"",
1917 "\"where\"",
"\"xquery\"",
"\"internal\"",
"\"internal-name\"",
1918 "\"current\"",
"$accept",
"Module",
"VersionDecl",
"Encoding",
1919 "MainModule",
"LibraryModule",
"ModuleDecl",
"Prolog",
"TemplateDecl",
1920 "@1",
"@2",
"OptionalPriority",
"OptionalTemplateName",
"TemplateName",
1921 "Setter",
"Import",
"Separator",
"NamespaceDecl",
"BoundarySpaceDecl",
1922 "BoundarySpacePolicy",
"DefaultNamespaceDecl",
1923 "DeclareDefaultElementNamespace",
"DeclareDefaultFunctionNamespace",
1924 "OptionDecl",
"OrderingModeDecl",
"OrderingMode",
"EmptyOrderDecl",
1925 "OrderingEmptySequence",
"CopyNamespacesDecl",
"PreserveMode",
1926 "InheritMode",
"DefaultCollationDecl",
"BaseURIDecl",
"SchemaImport",
1927 "SchemaPrefix",
"ModuleImport",
"ModuleNamespaceDecl",
"FileLocations",
1928 "FileLocation",
"VarDecl",
"VariableValue",
"OptionalDefaultValue",
1929 "ConstructionDecl",
"ConstructionMode",
"FunctionDecl",
"@3",
1930 "ParamList",
"Param",
"FunctionBody",
"EnclosedExpr",
"QueryBody",
1931 "Pattern",
"PathPattern",
"IdKeyPattern",
"RelativePathPattern",
1932 "PatternStep",
"Expr",
"ExpressionSequence",
"ExprSingle",
1933 "OptionalModes",
"OptionalMode",
"Modes",
"Mode",
"FLWORExpr",
1934 "ForClause",
"@4",
"@5",
"ForTail",
"@6",
"@7",
"PositionalVar",
1935 "LetClause",
"@8",
"LetTail",
"@9",
"WhereClause",
"OrderByClause",
1936 "MandatoryOrderByClause",
"OrderSpecList",
"OrderSpec",
1937 "DirectionModifier",
"EmptynessModifier",
"CollationModifier",
1938 "OrderByInputOrder",
"QuantifiedExpr",
"SomeQuantificationExpr",
"@10",
1939 "@11",
"SomeQuantificationTail",
"@12",
"@13",
"EveryQuantificationExpr",
1940 "@14",
"@15",
"EveryQuantificationTail",
"@16",
"@17",
"SatisfiesClause",
1941 "TypeswitchExpr",
"@18",
"CaseClause",
"@19",
"@20",
"CaseTail",
1942 "CaseVariable",
"CaseDefault",
"@21",
"IfExpr",
"OrExpr",
"AndExpr",
1943 "ComparisonExpr",
"RangeExpr",
"AdditiveExpr",
"AdditiveOperator",
1944 "MultiplicativeExpr",
"MultiplyOperator",
"UnionExpr",
1945 "IntersectExceptExpr",
"UnionOperator",
"IntersectOperator",
1946 "InstanceOfExpr",
"TreatExpr",
"CastableExpr",
"CastExpr",
"UnaryExpr",
1947 "UnaryOperator",
"ValueExpr",
"GeneralComp",
"GeneralComparisonOperator",
1948 "ValueComp",
"ValueComparisonOperator",
"NodeComp",
"NodeOperator",
1949 "ValidateExpr",
"ValidationMode",
"ExtensionExpr",
1950 "EnclosedOptionalExpr",
"Pragmas",
"Pragma",
"PragmaContents",
1951 "PathExpr",
"RelativePathExpr",
"StepExpr",
"@22",
"@23",
1952 "TemplateWithParameters",
"@24",
"TemplateParameters",
1953 "OptionalTemplateParameters",
"TemplateParameter",
"IsTunnel",
1954 "OptionalAssign",
"MapOrSlash",
"FilteredAxisStep",
"AxisStep",
1955 "ForwardStep",
"@25",
"NodeTestInAxisStep",
"Axis",
"AxisToken",
1956 "AbbrevForwardStep",
"@26",
"ReverseStep",
"AbbrevReverseStep",
1957 "NodeTest",
"NameTest",
"WildCard",
"FilterExpr",
"PrimaryExpr",
1958 "Literal",
"NumericLiteral",
"VarRef",
"VarName",
"ParenthesizedExpr",
1959 "ContextItemExpr",
"OrderingExpr",
"FunctionCallExpr",
1960 "FunctionArguments",
"Constructor",
"DirectConstructor",
1961 "DirElemConstructor",
"@27",
"@28",
"DirElemConstructorTail",
1962 "DirAttributeList",
"Attribute",
"DirAttributeValue",
"AttrValueContent",
1963 "DirElemContent",
"DirCommentConstructor",
"DirPIConstructor",
1964 "ComputedConstructor",
"CompDocConstructor",
"CompElemConstructor",
1965 "@29",
"IsInternal",
"CompAttrConstructor",
"CompTextConstructor",
1966 "CompCommentConstructor",
"CompPIConstructor",
"CompAttributeName",
1967 "@30",
"@31",
"CompElementName",
"CompNameExpr",
"CompPIName",
1968 "CompNamespaceConstructor",
"SingleType",
"TypeDeclaration",
1969 "SequenceType",
"OccurrenceIndicator",
"ItemType",
"AtomicType",
1970 "KindTest",
"AnyKindTest",
"DocumentTest",
"AnyElementTest",
"TextTest",
1971 "CommentTest",
"PITest",
"AnyAttributeTest",
"AttributeTest",
1972 "SchemaAttributeTest",
"ElementTest",
"OptionalQuestionMark",
1973 "SchemaElementTest",
"EmptyParanteses",
"AttributeName",
"ElementName",
1974 "TypeName",
"FunctionName",
"NCName",
"LexicalName",
"PragmaName",
1975 "URILiteral",
"StringLiteral",
"QName", 0
1982 static const yytype_uint16 yytoknum[] =
1984 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1985 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1986 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1987 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1988 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1989 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1990 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1991 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1992 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1993 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1994 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1995 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1996 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1997 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1998 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1999 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
2000 415, 416, 417, 418, 419, 420, 421, 422, 423
2005 static const yytype_uint16
yyr1[] =
2007 0, 169, 170, 170, 171, 171, 172, 172, 173, 174,
2008 175, 176, 176, 176, 176, 176, 176, 176, 176, 176,
2009 177, 178, 179, 177, 180, 180, 181, 181, 182, 183,
2010 183, 183, 183, 183, 183, 183, 184, 184, 185, 186,
2011 187, 188, 188, 189, 189, 190, 191, 192, 193, 194,
2012 194, 195, 196, 196, 197, 198, 198, 199, 199, 200,
2013 201, 202, 203, 203, 203, 204, 205, 205, 206, 206,
2014 207, 207, 208, 209, 209, 210, 210, 211, 212, 212,
2015 214, 213, 215, 215, 215, 216, 217, 217, 218, 219,
2016 220, 220, 221, 221, 221, 221, 221, 221, 221, 222,
2017 223, 223, 223, 224, 225, 225, 226, 226, 227, 227,
2018 227, 227, 227, 227, 228, 228, 229, 229, 230, 230,
2019 231, 231, 232, 232, 234, 235, 233, 237, 238, 236,
2020 236, 236, 236, 239, 239, 241, 240, 243, 242, 242,
2021 242, 242, 244, 244, 245, 245, 246, 247, 247, 248,
2022 249, 249, 249, 250, 250, 251, 251, 251, 252, 252,
2023 253, 253, 255, 256, 254, 258, 259, 257, 257, 261,
2024 262, 260, 264, 265, 263, 263, 266, 268, 267, 270,
2025 271, 269, 272, 272, 273, 273, 274, 275, 274, 276,
2026 277, 277, 278, 278, 279, 279, 279, 279, 280, 280,
2027 281, 281, 282, 282, 283, 283, 284, 284, 284, 284,
2028 285, 285, 286, 286, 287, 287, 288, 288, 289, 289,
2029 290, 290, 291, 291, 292, 292, 293, 293, 294, 294,
2030 295, 295, 295, 296, 297, 297, 297, 297, 297, 297,
2031 298, 299, 299, 299, 299, 299, 299, 300, 301, 301,
2032 301, 302, 303, 303, 303, 304, 305, 305, 306, 306,
2033 307, 308, 308, 309, 309, 309, 309, 310, 310, 310,
2034 310, 311, 311, 311, 312, 311, 311, 313, 311, 311,
2035 315, 314, 316, 316, 316, 317, 317, 318, 319, 319,
2036 320, 320, 321, 321, 321, 322, 322, 323, 323, 325,
2037 324, 324, 326, 326, 327, 328, 328, 328, 328, 328,
2038 328, 328, 328, 328, 328, 328, 328, 330, 329, 329,
2039 329, 331, 332, 333, 333, 334, 334, 335, 335, 335,
2040 336, 336, 337, 337, 337, 337, 337, 337, 337, 337,
2041 338, 338, 339, 339, 340, 341, 341, 342, 342, 343,
2042 344, 345, 346, 346, 346, 347, 347, 348, 348, 348,
2043 350, 351, 349, 352, 352, 353, 353, 354, 355, 355,
2044 356, 356, 356, 357, 357, 357, 357, 357, 358, 359,
2045 360, 360, 360, 360, 360, 360, 360, 361, 363, 362,
2046 364, 364, 365, 366, 367, 368, 370, 371, 369, 369,
2047 372, 372, 373, 374, 374, 375, 376, 376, 377, 377,
2048 378, 378, 379, 379, 379, 379, 380, 380, 380, 380,
2049 381, 382, 382, 382, 382, 382, 382, 382, 383, 384,
2050 384, 385, 385, 386, 387, 388, 388, 388, 389, 389,
2051 390, 390, 390, 390, 390, 391, 392, 392, 392, 392,
2052 392, 393, 393, 394, 395, 396, 396, 397, 397, 398,
2053 399, 399, 400, 400, 401, 401, 402, 402, 403, 404,
2060 0, 2, 2, 2, 0, 5, 0, 2, 2, 2,
2061 6, 0, 2, 2, 2, 2, 2, 2, 2, 2,
2062 7, 0, 0, 15, 0, 2, 0, 1, 2, 1,
2063 1, 1, 1, 1, 1, 1, 1, 1, 1, 7,
2064 4, 1, 1, 1, 1, 6, 6, 5, 4, 1,
2065 1, 5, 2, 2, 6, 1, 1, 1, 1, 5,
2066 5, 6, 0, 3, 3, 6, 0, 3, 0, 2,
2067 1, 3, 9, 1, 2, 0, 2, 4, 1, 1,
2068 0, 11, 0, 1, 3, 3, 1, 1, 3, 1,
2069 1, 3, 1, 1, 2, 2, 1, 3, 3, 1,
2070 1, 3, 3, 1, 1, 1, 3, 3, 1, 1,
2071 1, 1, 1, 4, 0, 2, 0, 2, 1, 3,
2072 1, 1, 1, 1, 0, 0, 10, 0, 0, 10,
2073 1, 1, 1, 0, 3, 0, 9, 0, 8, 1,
2074 1, 1, 3, 5, 0, 1, 2, 3, 1, 4,
2075 0, 1, 1, 0, 1, 0, 2, 3, 3, 2,
2076 1, 1, 0, 0, 9, 0, 0, 9, 1, 0,
2077 0, 9, 0, 0, 9, 1, 2, 0, 6, 0,
2078 0, 8, 1, 1, 0, 3, 3, 0, 6, 8,
2079 1, 3, 1, 3, 1, 1, 1, 1, 1, 3,
2080 1, 3, 1, 1, 1, 3, 1, 1, 1, 1,
2081 1, 3, 1, 3, 1, 1, 1, 1, 1, 4,
2082 1, 4, 1, 4, 1, 4, 1, 2, 1, 1,
2083 1, 1, 1, 3, 1, 1, 1, 1, 1, 1,
2084 3, 1, 1, 1, 1, 1, 1, 3, 1, 1,
2085 1, 2, 1, 2, 2, 2, 2, 3, 2, 1,
2086 4, 0, 1, 2, 2, 1, 1, 1, 3, 7,
2087 3, 1, 1, 2, 0, 3, 5, 0, 9, 5,
2088 0, 2, 0, 1, 3, 0, 3, 5, 0, 1,
2089 0, 2, 1, 1, 1, 1, 4, 1, 1, 0,
2090 3, 1, 1, 1, 2, 1, 1, 1, 1, 1,
2091 1, 1, 1, 1, 1, 1, 1, 0, 3, 1,
2092 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2093 1, 4, 1, 1, 1, 1, 1, 1, 1, 5,
2094 1, 1, 1, 1, 2, 1, 1, 3, 2, 1,
2095 2, 4, 0, 1, 1, 1, 1, 1, 1, 1,
2096 0, 0, 8, 1, 5, 0, 2, 3, 3, 3,
2097 0, 2, 2, 0, 2, 2, 2, 2, 2, 3,
2098 1, 1, 1, 1, 1, 1, 1, 3, 0, 5,
2099 0, 1, 4, 3, 3, 3, 0, 0, 3, 1,
2100 1, 1, 1, 1, 1, 3, 1, 2, 0, 2,
2101 2, 2, 0, 1, 1, 1, 1, 1, 1, 2,
2102 1, 1, 1, 1, 1, 1, 1, 1, 2, 2,
2103 4, 1, 1, 2, 2, 2, 4, 4, 1, 1,
2104 2, 4, 4, 6, 6, 4, 2, 4, 4, 7,
2105 7, 0, 1, 4, 2, 1, 1, 1, 1, 1,
2106 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
2115 4, 0, 0, 11, 0, 1, 0, 3, 2, 11,
2116 0, 469, 470, 6, 0, 9, 471, 457, 472, 328,
2117 329, 343, 342, 306, 305, 116, 317, 390, 0, 0,
2118 0, 308, 390, 0, 0, 310, 309, 390, 0, 0,
2119 349, 322, 390, 0, 311, 313, 0, 0, 0, 0,
2120 390, 0, 229, 0, 0, 49, 315, 0, 228, 0,
2121 312, 314, 0, 0, 0, 316, 265, 0, 0, 327,
2122 274, 390, 0, 50, 252, 0, 0, 16, 13, 15,
2123 14, 29, 12, 43, 44, 19, 33, 0, 34, 35,
2124 30, 31, 36, 37, 17, 32, 18, 8, 89, 105,
2125 104, 109, 122, 123, 110, 160, 161, 111, 112, 108,
2126 190, 192, 194, 198, 200, 204, 210, 212, 218, 220,
2127 222, 224, 0, 226, 196, 195, 197, 230, 0, 232,
2128 0, 259, 231, 266, 267, 271, 295, 297, 299, 0,
2129 301, 298, 321, 319, 323, 326, 272, 330, 332, 340,
2130 333, 334, 335, 337, 336, 338, 355, 357, 358, 359,
2131 356, 380, 381, 382, 383, 384, 385, 386, 324, 427,
2132 421, 426, 425, 424, 320, 438, 439, 422, 423, 325,
2133 0, 460, 341, 458, 0, 0, 0, 0, 0, 0,
2134 0, 0, 391, 396, 440, 370, 0, 457, 0, 458,
2135 0, 0, 434, 378, 390, 0, 0, 0, 0, 390,
2136 0, 0, 0, 26, 390, 0, 0, 429, 345, 344,
2137 346, 0, 0, 446, 0, 0, 465, 464, 360, 0,
2138 66, 62, 0, 0, 348, 0, 0, 0, 428, 0,
2139 466, 261, 467, 403, 0, 404, 0, 435, 0, 0,
2140 263, 264, 0, 0, 0, 433, 0, 254, 253, 463,
2141 273, 350, 0, 0, 0, 0, 241, 250, 243, 234,
2142 236, 237, 238, 239, 235, 244, 248, 245, 246, 242,
2143 249, 0, 0, 0, 203, 202, 0, 0, 207, 208,
2144 209, 206, 0, 215, 214, 0, 217, 216, 0, 0,
2145 0, 0, 0, 227, 251, 0, 255, 258, 294, 293,
2146 292, 0, 0, 0, 0, 304, 0, 352, 7, 38,
2147 5, 0, 0, 121, 117, 120, 280, 0, 0, 0,
2148 0, 318, 455, 454, 0, 0, 456, 402, 0, 0,
2149 399, 370, 0, 370, 0, 280, 394, 0, 42, 41,
2150 0, 79, 78, 0, 56, 55, 0, 0, 0, 0,
2151 0, 0, 0, 0, 0, 0, 0, 285, 0, 387,
2152 0, 431, 432, 0, 0, 388, 401, 400, 408, 408,
2153 365, 0, 0, 0, 0, 0, 0, 0, 0, 347,
2154 0, 405, 379, 0, 262, 0, 0, 395, 0, 0,
2155 408, 275, 393, 0, 107, 106, 191, 193, 233, 240,
2156 247, 199, 201, 205, 211, 213, 0, 0, 0, 0,
2157 256, 0, 270, 0, 268, 0, 0, 300, 302, 303,
2158 0, 354, 353, 0, 0, 468, 0, 0, 282, 0,
2159 441, 0, 442, 392, 397, 371, 113, 372, 0, 0,
2160 0, 40, 77, 0, 0, 0, 0, 0, 0, 462,
2161 0, 461, 0, 0, 48, 28, 0, 282, 408, 0,
2162 430, 0, 447, 0, 448, 0, 0, 0, 133, 361,
2163 0, 0, 68, 0, 0, 68, 408, 0, 88, 260,
2164 436, 437, 445, 453, 0, 177, 0, 0, 219, 412,
2165 416, 417, 418, 420, 221, 223, 406, 225, 257, 0,
2166 0, 0, 0, 296, 331, 351, 10, 0, 339, 289,
2167 281, 283, 0, 459, 0, 0, 398, 276, 279, 60,
2168 57, 58, 0, 59, 0, 0, 53, 52, 51, 82,
2169 469, 390, 47, 21, 0, 0, 408, 451, 451, 389,
2170 409, 0, 0, 0, 0, 366, 0, 0, 67, 0,
2171 0, 63, 64, 0, 0, 0, 0, 0, 411, 419,
2172 413, 415, 414, 410, 407, 159, 0, 0, 150, 146,
2173 148, 288, 0, 444, 443, 54, 45, 46, 0, 0,
2174 83, 277, 0, 0, 286, 0, 0, 452, 0, 0,
2175 169, 0, 0, 365, 0, 0, 69, 70, 65, 61,
2176 0, 0, 162, 184, 178, 158, 0, 151, 152, 153,
2177 0, 284, 408, 408, 0, 80, 0, 39, 307, 93,
2178 0, 22, 90, 96, 92, 100, 103, 99, 20, 0,
2179 73, 75, 450, 449, 170, 134, 124, 0, 370, 370,
2180 367, 0, 0, 135, 163, 0, 0, 269, 154, 155,
2181 147, 290, 85, 84, 408, 0, 94, 95, 0, 0,
2182 0, 0, 0, 0, 74, 0, 0, 0, 125, 373,
2183 363, 362, 0, 0, 189, 71, 144, 0, 0, 179,
2184 0, 0, 149, 0, 287, 0, 278, 91, 114, 97,
2185 98, 101, 102, 76, 72, 0, 0, 171, 175, 144,
2186 0, 369, 368, 0, 0, 140, 141, 136, 139, 0,
2187 145, 0, 164, 168, 185, 0, 156, 0, 291, 86,
2188 0, 87, 0, 24, 0, 176, 0, 131, 126, 132,
2189 130, 376, 0, 377, 374, 375, 0, 144, 0, 0,
2190 0, 157, 81, 115, 118, 0, 285, 408, 0, 0,
2191 408, 0, 142, 408, 180, 0, 25, 408, 0, 408,
2192 364, 0, 0, 0, 0, 119, 0, 0, 133, 0,
2193 143, 0, 0, 182, 181, 183, 0, 172, 0, 137,
2194 165, 0, 0, 23, 173, 0, 144, 166, 187, 186,
2195 0, 127, 138, 0, 0, 174, 128, 167, 0, 144,
2202 -1, 2, 3, 185, 7, 8, 9, 10, 77, 593,
2203 669, 756, 366, 367, 78, 79, 320, 80, 81, 350,
2204 82, 83, 84, 85, 86, 87, 88, 458, 89, 356,
2205 532, 90, 91, 92, 386, 93, 383, 560, 606, 94,
2206 641, 676, 95, 353, 96, 664, 589, 590, 730, 341,
2207 97, 631, 632, 633, 634, 635, 98, 99, 100, 733,
2208 189, 753, 324, 101, 102, 678, 709, 738, 806, 809,
2209 553, 103, 686, 717, 796, 718, 719, 720, 579, 580,
2210 619, 659, 692, 512, 104, 105, 654, 687, 722, 797,
2211 803, 106, 644, 677, 707, 794, 800, 708, 107, 567,
2212 614, 725, 774, 784, 656, 785, 804, 108, 109, 110,
2213 111, 112, 113, 287, 114, 292, 115, 116, 295, 298,
2214 117, 118, 119, 120, 121, 122, 123, 124, 281, 125,
2215 282, 126, 283, 127, 128, 129, 306, 130, 131, 393,
2216 132, 133, 134, 253, 626, 437, 438, 520, 468, 521,
2217 522, 694, 312, 135, 136, 137, 314, 427, 138, 139,
2218 140, 190, 141, 142, 143, 144, 145, 146, 147, 148,
2219 149, 150, 219, 151, 152, 153, 154, 433, 155, 156,
2220 157, 380, 554, 681, 479, 555, 650, 342, 710, 158,
2221 159, 160, 161, 162, 475, 193, 163, 164, 165, 166,
2222 338, 339, 526, 375, 340, 246, 167, 505, 477, 498,
2223 573, 499, 500, 168, 169, 170, 370, 171, 172, 173,
2224 174, 175, 176, 177, 598, 178, 194, 335, 179, 524,
2225 180, 181, 556, 241, 541, 182, 183
2230 #define YYPACT_NINF -668 2233 -63, -28, 185, 86, 337, -668, 117, -668, -668, -668,
2234 734, -668, -668, 181, 253, 156, -668, 213, -668, -668,
2235 -668, -668, -668, -668, -668, 212, -668, -12, 230, 337,
2236 342, -668, -38, 189, 298, -668, -668, 188, 272, 353,
2237 -668, -668, 71, 316, -668, -668, 318, 239, 276, 134,
2238 188, 900, -668, 334, 282, -668, -668, 233, -668, 367,
2239 -668, -668, 133, 290, 295, -668, 1730, 1730, 345, -668,
2240 -668, -38, 305, -668, -36, 396, 334, -668, -668, -668,
2241 -668, -668, -668, -668, -668, -668, -668, 334, -668, -668,
2242 -668, -668, -668, -668, -668, -668, -668, -668, -668, 369,
2243 370, -668, -668, -668, -668, -668, -668, -668, -668, 307,
2244 389, -668, 601, 173, 24, -22, 32, -668, 338, 267,
2245 393, 394, 1398, -668, -668, -668, -668, -668, 334, -668,
2246 59, -668, -668, 166, -668, 339, -668, -668, -668, 395,
2247 -668, -668, -668, -668, -668, -668, 341, -668, -668, -668,
2248 -668, -668, -668, -668, -668, -668, -668, -668, -668, -668,
2249 -668, -668, -668, -668, -668, -668, -668, -668, -668, -668,
2250 -668, -668, -668, -668, -668, -668, -668, -668, -668, -668,
2251 340, -668, -668, 347, 337, 291, 360, 493, 373, 349,
2252 1885, 64, -668, 334, -668, 226, 392, -668, 358, -668,
2253 304, 334, -668, -668, 188, 167, 174, 206, 21, 188,
2254 430, 342, -53, 351, 188, 334, 6, -668, -668, -668,
2255 -668, 79, 287, -668, 353, 353, -668, -668, -668, 1232,
2256 336, 18, 403, 344, -668, 324, 1232, 334, -668, 308,
2257 -668, 337, -668, -668, 23, -668, 416, -668, 342, 342,
2258 166, 166, 353, 334, 334, -668, 1232, -668, -668, -668,
2259 -668, -668, 1232, 1232, 1398, 1398, -668, -668, -668, -668,
2260 -668, -668, -668, -668, -668, -668, -668, -668, -668, -668,
2261 -668, 1398, 1398, 1398, -668, -668, 1398, 1398, -668, -668,
2262 -668, -668, 1398, -668, -668, 1398, -668, -668, 1398, 352,
2263 447, 448, 449, -668, -668, 1066, -668, -668, -668, -668,
2264 -668, 1730, 1564, 1232, 108, -668, 1232, 1232, -668, -668,
2265 -668, 337, 461, -668, -668, -668, -668, 282, 374, 378,
2266 282, -668, -668, -668, 0, 51, -668, -668, 416, 342,
2267 -668, 226, 343, 226, 1232, -668, -668, 337, -668, -668,
2268 291, -668, -668, 291, -668, -668, 437, 337, 372, 376,
2269 421, 26, 408, 337, 291, 342, 384, -1, 431, -668,
2270 355, -668, -668, 52, 69, -668, -668, -668, 466, 466,
2271 -668, 356, 482, 337, 435, 484, 337, 353, 485, -668,
2272 453, -668, -668, 379, -668, 365, 368, -668, 371, 377,
2273 466, -668, -668, 380, -668, -668, 389, -668, -668, -668,
2274 -668, 168, 24, -22, 32, -668, 456, 456, 342, 342,
2275 -668, 459, -668, 191, -668, 375, 404, -668, -668, -668,
2276 383, 369, 370, 386, 291, -668, 442, 388, -6, 342,
2277 -668, 342, -668, -668, -668, -668, -668, -668, 465, 391,
2278 291, -668, -668, 157, 291, 337, 337, 16, 291, -668,
2279 409, -668, 348, 291, -668, -668, 415, -6, 466, 353,
2280 -668, 342, -668, 342, -668, 416, 456, 440, 495, 239,
2281 381, 454, 507, 425, 457, 507, 466, 463, -668, -668,
2282 -668, -668, -668, -668, 462, -668, 282, 282, -668, 121,
2283 -668, -668, -668, -668, -668, -668, 412, -668, -668, 512,
2284 433, 417, 1232, -668, -668, -668, -668, 337, -668, -668,
2285 513, -668, 497, -668, 422, 423, -668, -668, -668, -668,
2286 -668, -668, 291, -668, 291, 291, -668, -668, -668, 504,
2287 515, 188, -668, -668, 83, 416, 466, 432, 432, -668,
2288 -668, 1232, 508, 476, 450, -668, 492, 1232, -668, 337,
2289 291, -668, -668, 291, 547, 566, 1232, 539, -668, -668,
2290 -668, -668, -668, -668, -668, -668, 543, 1730, 62, 536,
2291 -668, 419, 353, -668, -668, -668, -668, -668, 353, 84,
2292 -668, -668, 291, 1804, -668, 291, 46, -668, 445, 446,
2293 -668, 353, 1232, -668, 33, 524, 550, -668, -668, -668,
2294 1232, 515, -668, 537, -668, -668, 528, -668, -668, 421,
2295 1232, -668, 466, 466, 504, -668, 1232, -668, 404, 1899,
2296 1899, 567, -668, 140, 148, -668, 339, -668, -668, 1232,
2297 -668, 573, -668, -668, -668, -668, -668, 92, 226, 226,
2298 -668, 1232, 337, -668, -668, 342, 456, -668, -668, -23,
2299 -668, 574, -668, -668, 466, 552, 148, 148, 1804, 464,
2300 1899, 1899, 1899, 1899, -668, 1232, 291, 11, -668, -668,
2301 -668, -668, 582, 472, -668, -668, 10, 47, 584, -668,
2302 337, 569, -668, 1232, -668, 234, -668, -668, 506, 148,
2303 148, -668, -668, -668, -668, 555, 1232, -668, -668, 63,
2304 250, -668, -668, 556, 1232, -668, -668, -668, -668, 479,
2305 -668, 559, -668, -668, -668, 481, -668, 1232, -668, -668,
2306 291, -668, 373, 488, 353, -668, 562, -668, -668, -668,
2307 -668, -668, 342, -668, -668, -668, 353, 191, 1232, 353,
2308 1232, -668, -668, 578, -668, 337, 521, 466, 353, 542,
2309 466, 487, -668, 466, -668, 373, -668, 466, 534, 466,
2310 -668, 600, 1232, 538, 125, -668, 416, 1232, 495, 1232,
2311 -668, 1232, -2, -668, -668, -668, 291, -668, 544, -668,
2312 -668, 342, 1232, -668, -668, 1232, 10, -668, -668, -668,
2313 11, -668, -668, 47, 490, -668, -668, -668, 1232, 63,
2320 -668, -668, -668, -668, -668, -668, -668, 613, -668, -668,
2321 -668, -668, -668, -668, -668, -668, -285, -668, -668, -668,
2322 -668, -668, -668, -668, -668, 418, -668, 5, -668, -668,
2323 -668, -668, -668, -668, -668, -668, -668, 142, -668, -668,
2324 -668, -668, -668, -668, -668, -668, -668, 4, -668, -51,
2325 -668, -668, -35, -668, -397, -340, -47, 317, -255, -668,
2326 -668, -668, -641, -668, -619, -668, -668, -174, -668, -668,
2327 -142, -583, -668, -159, -668, -657, -109, 216, -668, 27,
2328 -668, -668, -668, -668, -668, -668, -668, -668, -157, -668,
2329 -668, -668, -668, -668, -152, -668, -668, -667, -668, -668,
2330 -125, -668, -668, -668, -668, -668, -668, -668, -668, 387,
2331 385, 131, 366, -668, 397, -668, 361, 359, -668, -668,
2332 362, -668, -668, -668, 535, -668, -668, -668, -668, -668,
2333 -668, -668, -668, -668, -668, -668, -245, -668, 526, -668,
2334 -668, 279, -294, -668, -668, 313, -668, 194, -91, 85,
2335 -668, -668, -668, -87, -668, -668, -668, -668, -668, -668,
2336 -668, -668, -668, -668, -175, -668, -668, -668, -668, -668,
2337 -668, -668, -183, -668, -668, -668, -538, -668, -668, -42,
2338 -668, -668, -668, -668, 67, -668, -668, -327, -668, -668,
2339 -668, -668, -668, -668, -668, 3, -668, -668, -668, -668,
2340 -668, -668, -668, -668, 458, -668, -668, 252, -341, -412,
2341 -668, -668, -55, -394, -668, -668, -668, -668, -668, -668,
2342 -304, -668, -668, 467, 124, 469, -11, -668, -24, -170,
2343 321, -668, 639, -668, -308, 15, -30
2350 #define YYTABLE_NINF -463 2353 199, 397, 237, 293, 235, 504, 198, 404, 405, 220,
2354 429, 245, 690, 434, 445, 331, 447, 422, 424, 13,
2355 723, 202, 501, 501, -307, 260, 11, 217, 12, 242,
2356 395, 223, 16, 459, 18, 201, 261, 439, 478, 450,
2357 215, 378, 379, 238, 196, 222, -288, 713, 705, 648,
2358 791, 247, 740, 232, 257, 637, 357, 200, 55, 494,
2359 255, 328, 432, 384, 550, 451, 639, 715, 452, 400,
2360 16, 332, 18, 288, 254, 482, 358, 304, 485, 464,
2361 46, 617, 501, 191, 721, 16, 197, 18, 441, 471,
2362 737, 754, 359, 443, 467, 536, 296, -27, 226, 227,
2363 736, 305, 1, 716, 50, 289, 473, 73, 537, 258,
2364 618, 640, 502, 502, 16, 197, 18, 19, 20, 297,
2365 581, 624, 385, 509, 775, 290, 739, 545, 192, 792,
2366 637, 426, 440, 46, 360, 4, 723, 294, 333, 428,
2367 243, 64, 337, 691, 706, 564, 327, 534, 535, 516,
2368 346, 519, 740, 510, 192, 333, 613, 50, 325, 38,
2369 199, 336, 649, 328, 369, 529, 221, 679, 291, 533,
2370 782, 337, 502, 538, 714, 236, 509, 715, 542, 59,
2371 706, 199, 381, 442, 472, 5, 391, 363, 6, 390,
2372 737, 199, 199, 75, 220, 220, 333, 374, 377, 318,
2373 187, 474, 401, 402, 486, 596, 510, 347, 334, 403,
2374 343, 333, 361, 716, 54, 594, 625, 368, 199, 199,
2375 680, 14, 220, 373, 398, 399, 739, 714, 244, 11,
2376 549, 12, 666, 667, 329, 308, 230, 192, 570, 49,
2377 184, 530, 63, 64, 689, 226, 227, 585, 571, 586,
2378 587, 607, 69, 11, 741, 12, 394, 578, 421, 396,
2379 186, 330, 501, 309, 531, 572, 425, 284, 236, 430,
2380 231, 525, 284, 699, 700, 608, 236, 742, 609, 670,
2381 671, 661, 662, 616, 199, 285, 546, 672, 673, 33,
2382 285, 348, 236, 16, 197, 18, 600, 448, 351, 729,
2383 595, 547, 605, 548, 509, 310, 311, 627, -462, 199,
2384 638, 612, 188, 349, 354, 444, 202, 223, 247, 255,
2385 352, 682, 683, 695, 204, 195, 205, 47, 286, 236,
2386 355, 461, 701, 702, 510, 199, 435, 203, 206, 207,
2387 11, 465, 12, 208, 685, 250, 251, 646, 16, 197,
2388 18, 540, 502, 12, 192, 653, 343, 220, 343, 16,
2389 218, 18, 435, 506, 506, 578, 57, 216, 224, 209,
2390 225, 229, 454, 16, 240, 18, 236, 200, 463, 16,
2391 323, 18, 726, 239, 674, 248, 199, 199, 199, 199,
2392 249, 704, 503, 503, 503, 503, 684, 252, 435, 622,
2393 256, 435, 210, 259, 265, 623, 262, 263, 211, 199,
2394 212, 199, 408, 409, 410, 523, 768, 523, 645, 771,
2395 703, 264, 773, 300, 299, 301, 776, 302, 778, 319,
2396 313, 315, 316, 321, 344, 317, 333, 362, 728, 220,
2397 382, 199, -461, 199, 326, 752, 199, 523, 388, 523,
2398 213, 735, 503, 345, 365, 387, 389, 392, 305, 747,
2399 214, 416, 16, 197, 18, 417, 418, 419, 436, 221,
2400 435, 435, 751, 244, 453, 446, 455, 435, 457, 426,
2401 456, 462, 466, 469, 476, 568, 569, 470, 480, 481,
2402 483, 484, 487, 762, 327, 764, 488, 490, 489, 191,
2403 491, 793, 508, 492, 539, 513, 636, 38, 527, 493,
2404 543, 328, 495, 514, 496, 517, 552, 780, 515, 204,
2405 518, 205, 787, 528, 789, 551, 790, 558, 559, 561,
2406 562, 786, 435, 206, 207, 557, 565, 799, 208, 574,
2407 801, 575, 636, 636, 592, 497, 576, 566, 577, 582,
2408 581, 757, 220, 810, 583, 584, 588, 591, 220, 597,
2409 601, 602, 54, 760, 209, 604, 763, 610, 603, 611,
2410 613, 220, 615, 620, 435, 769, 519, 642, 643, 665,
2411 651, 636, 329, 636, 636, 636, 636, 652, 657, 655,
2412 63, 64, 668, 675, 693, 696, 698, 322, 711, 199,
2413 199, 712, 724, 211, 727, 212, 732, 734, 746, 330,
2414 748, 749, 750, 755, 758, 765, 467, 770, 772, 777,
2415 779, 808, 15, 781, 658, 199, 199, 563, 663, 795,
2416 364, 688, 503, 697, 431, 811, 788, 802, 761, 511,
2417 199, 199, 199, 199, 731, 213, 807, 660, 805, 783,
2418 407, 406, 411, 413, 414, 214, 307, 303, 449, 743,
2419 415, 544, 266, 343, 343, 767, 621, 435, 744, 267,
2420 647, 507, 599, 268, 269, 270, 271, 272, 273, 274,
2421 376, 275, 460, 371, 412, 372, 228, 0, 0, 276,
2422 0, 0, 0, 0, 277, 0, 0, 278, 0, 0,
2423 0, 0, 325, 0, 220, 435, 279, 0, 0, 0,
2424 0, 0, 199, 0, 0, 0, 220, 0, 759, 220,
2425 0, 0, 280, 0, 0, 745, 0, 0, 220, 0,
2426 0, 0, 0, 0, 0, 325, 0, 11, 0, 12,
2427 16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
2428 0, 25, 0, 0, 0, 0, 26, 27, 28, 0,
2429 29, 199, 0, 0, 30, 0, 0, 798, 31, 0,
2430 766, 0, 32, 33, 0, 0, 0, 0, 34, 0,
2431 35, 36, 0, 0, 37, 38, 39, 40, 41, 42,
2432 0, 0, 0, 0, 0, 0, 0, 43, 0, 0,
2433 44, 45, 0, 0, 46, 0, 0, 0, 0, 0,
2434 0, 47, 0, 0, 0, 0, 48, 49, 0, 0,
2435 0, 0, 0, 0, 0, 0, 0, 0, 50, 51,
2436 0, 0, 0, 52, 0, 0, 0, 0, 53, 0,
2437 54, 0, 0, 0, 0, 55, 0, 0, 0, 56,
2438 57, 58, 0, 0, 59, 0, 60, 61, 0, 0,
2439 62, 0, 0, 0, 0, 0, 0, 0, 63, 64,
2440 0, 65, 0, 66, 67, 68, 0, 0, 69, 0,
2441 0, 0, 0, 0, 0, 70, 0, 71, 0, 0,
2442 0, 0, 72, 0, 73, 74, 0, 0, 0, 0,
2443 0, 75, 76, 11, 0, 12, 16, 17, 18, 19,
2444 20, 21, 22, 23, 24, 0, 0, 25, 0, 0,
2445 0, 0, 26, 27, 28, 0, 29, 0, 0, 0,
2446 30, 0, 0, 0, 31, 0, 0, 0, 32, 33,
2447 0, 0, 0, 0, 233, 0, 35, 36, 0, 0,
2448 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
2449 0, 0, 0, 43, 0, 0, 44, 45, 0, 0,
2450 46, 0, 0, 0, 0, 0, 0, 47, 0, 0,
2451 0, 0, 48, 0, 0, 0, 0, 0, 0, 0,
2452 0, 0, 0, 0, 50, 51, 0, 0, 0, 52,
2453 0, 0, 0, 0, 53, 0, 54, 0, 0, 0,
2454 0, 55, 0, 0, 0, 56, 57, 58, 0, 0,
2455 59, 0, 60, 61, 0, 0, 62, 0, 0, 0,
2456 0, 0, 234, 0, 63, 64, 0, 65, 0, 66,
2457 67, 68, 0, 0, 69, 0, 0, 0, 0, 0,
2458 0, 70, 0, 71, 0, 0, 0, 0, 72, 0,
2459 73, 74, 0, 0, 0, 0, 0, 75, 76, 11,
2460 0, 12, 16, 17, 18, 19, 20, 21, 22, 23,
2461 24, 0, 0, 25, 0, 0, 0, 0, 26, 27,
2462 28, 0, 29, 0, 0, 0, 30, 0, 0, 0,
2463 31, 0, 0, 0, 32, 33, 0, 0, 0, 420,
2464 233, 0, 35, 36, 0, 0, 37, 38, 39, 40,
2465 41, 42, 0, 0, 0, 0, 0, 0, 0, 43,
2466 0, 0, 44, 45, 0, 0, 46, 0, 0, 0,
2467 0, 0, 0, 47, 0, 0, 0, 0, 48, 0,
2468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2469 50, 51, 0, 0, 0, 52, 0, 0, 0, 0,
2470 53, 0, 54, 0, 0, 0, 0, 55, 0, 0,
2471 0, 56, 57, 58, 0, 0, 59, 0, 60, 61,
2472 0, 0, 62, 0, 0, 0, 0, 0, 0, 0,
2473 63, 64, 0, 65, 0, 66, 67, 68, 0, 0,
2474 69, 0, 0, 0, 0, 0, 0, 70, 0, 71,
2475 0, 0, 0, 0, 72, 0, 73, 74, 0, 0,
2476 0, 0, 0, 75, 76, 11, 0, 12, 16, 17,
2477 18, 19, 20, 21, 22, 23, 24, 0, 0, 25,
2478 0, 0, 0, 0, 26, 27, 28, 0, 29, 0,
2479 0, 0, 30, 0, 0, 0, 31, 0, 0, 0,
2480 32, 33, 0, 0, 0, 0, 233, 0, 35, 36,
2481 0, 0, 37, 38, 39, 40, 41, 42, 0, 0,
2482 0, 0, 0, 0, 0, 43, 0, 0, 44, 45,
2483 0, 0, 46, 0, 0, 0, 0, 0, 0, 47,
2484 0, 0, 0, 0, 48, 0, 0, 0, 0, 0,
2485 0, 0, 0, 0, 0, 0, 50, 51, 0, 0,
2486 0, 52, 0, 0, 0, 0, 53, 0, 54, 0,
2487 0, 0, 0, 55, 0, 0, 0, 56, 57, 58,
2488 0, 0, 59, 0, 60, 61, 0, 0, 62, 0,
2489 0, 0, 0, 0, 0, 0, 63, 64, 0, 65,
2490 0, 66, 67, 68, 0, 0, 69, 0, 0, 0,
2491 0, 0, 0, 70, 0, 71, 0, 0, 0, 0,
2492 72, 0, 73, 74, 0, 0, 0, 0, 0, 75,
2493 76, 11, 0, 12, 16, 17, 18, 19, 20, 21,
2494 22, 23, 24, 0, 0, 25, 0, 0, 0, 0,
2495 26, 27, 0, 0, 29, 0, 0, 0, 30, 0,
2496 0, 0, 31, 0, 0, 0, 32, 33, 0, 0,
2497 0, 0, 233, 0, 35, 36, 0, 0, 37, 38,
2498 39, 40, 41, 42, 0, 0, 0, 0, 0, 0,
2499 0, 0, 0, 0, 44, 45, 0, 0, 0, 0,
2500 0, 0, 0, 0, 0, 47, 0, 0, 0, 0,
2501 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2502 0, 0, 0, 51, 0, 0, 0, 52, 0, 0,
2503 0, 0, 53, 0, 54, 0, 0, 0, 0, 55,
2504 0, 0, 0, 56, 57, 58, 0, 0, 59, 0,
2505 60, 61, 0, 0, 62, 0, 0, 0, 0, 0,
2506 0, 0, 63, 64, 0, 65, 0, 66, 67, 0,
2507 0, 0, 69, 0, 0, 0, 0, 0, 0, 70,
2508 0, 71, 0, 0, 0, 0, 0, 0, 73, 74,
2509 0, 0, 0, 0, 0, 75, 76, 11, 0, 12,
2510 16, 17, 18, 19, 20, 21, 22, 23, 24, 0,
2511 0, 25, 0, 0, 0, 0, 26, 27, 0, 0,
2512 29, 0, 0, 0, 30, 0, 0, 0, 31, 0,
2513 0, 0, 32, 33, 0, 0, 0, 0, 233, 0,
2514 35, 36, 0, 0, 37, 38, 39, 40, 41, 42,
2515 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2516 44, 45, 0, 0, 0, 0, 0, 0, 0, 0,
2517 0, 47, 0, 0, 0, 0, 0, 0, 0, 0,
2518 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
2519 0, 0, 0, 0, 0, 0, 0, 0, 53, 0,
2520 54, 0, 0, 0, 0, 55, 0, 0, 0, 56,
2521 57, 0, 0, 0, 0, 0, 60, 61, 0, 0,
2522 62, 0, 0, 0, 0, 0, 0, 0, 63, 64,
2523 0, 65, 0, 0, 0, 0, 423, 0, 69, 0,
2524 0, 0, 0, 0, 0, 70, 0, 71, 0, 0,
2525 0, 0, 0, 0, 73, 0, 0, 0, 0, 0,
2526 0, 75, 76, 11, 0, 12, 16, 17, 18, 19,
2527 20, 21, 22, 23, 24, 0, 0, 25, 0, 0,
2528 0, 0, 26, 27, 0, 0, 29, 0, 0, 0,
2529 30, 0, 0, 0, 31, 0, 0, 0, 32, 33,
2530 0, 0, 0, 0, 233, 0, 35, 36, 0, 0,
2531 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
2532 0, 0, 0, 0, 0, 0, 44, 45, 0, 0,
2533 0, 0, 0, 0, 0, 0, 0, 47, 0, 0,
2534 16, 17, 18, 19, 20, 0, 0, 23, 24, 0,
2535 0, 0, 0, 0, 0, 51, 26, 628, 0, 0,
2536 0, 0, 0, 0, 53, 0, 54, 0, 31, 0,
2537 0, 55, 327, 0, 0, 56, 57, 0, 0, 0,
2538 35, 36, 60, 61, 0, 38, 62, 0, 41, 328,
2539 0, 0, 0, 0, 63, 64, 0, 65, 0, 0,
2540 44, 45, 0, 0, 69, 0, 0, 0, 0, 0,
2541 0, 70, 0, 71, 0, 0, 0, 0, 0, 0,
2542 73, 16, 197, 18, 19, 20, 0, 75, 76, 0,
2543 0, 0, 0, 0, 0, 16, 197, 18, 19, 20,
2544 54, 0, 23, 24, 0, 0, 0, 0, 0, 56,
2545 0, 26, 628, 327, 0, 0, 60, 61, 0, 0,
2546 329, 0, 0, 31, 0, 0, 38, 327, 63, 64,
2547 328, 65, 0, 629, 630, 35, 36, 0, 69, 0,
2548 38, 0, 0, 41, 328, 0, 0, 330, 0, 0,
2549 0, 0, 0, 0, 0, 44, 45, 0, 0, 0,
2550 0, 75, 0, 0, 0, 0, 0, 0, 0, 0,
2551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2552 0, 54, 0, 0, 0, 0, 0, 0, 0, 0,
2553 0, 0, 0, 0, 0, 54, 0, 0, 0, 0,
2554 0, 329, 0, 0, 56, 0, 0, 0, 0, 0,
2555 64, 60, 61, 0, 0, 329, 0, 0, 0, 69,
2556 0, 0, 0, 63, 64, 0, 65, 0, 330, 0,
2557 0, 0, 0, 69, 0, 0, 0, 0, 0, 0,
2563 30, 246, 53, 25, 51, 417, 30, 262, 263, 39,
2564 314, 62, 35, 321, 341, 190, 343, 311, 312, 4,
2565 687, 32, 416, 417, 36, 76, 3, 38, 5, 59,
2566 7, 42, 6, 7, 8, 32, 87, 37, 379, 347,
2567 37, 224, 225, 54, 29, 42, 52, 37, 37, 16,
2568 52, 62, 709, 50, 90, 593, 35, 95, 111, 400,
2569 71, 55, 317, 45, 476, 350, 20, 686, 353, 252,
2570 6, 7, 8, 49, 71, 383, 55, 128, 386, 364,
2571 70, 19, 476, 95, 37, 6, 7, 8, 37, 37,
2572 709, 732, 71, 338, 95, 79, 64, 98, 6, 7,
2573 37, 42, 165, 686, 94, 81, 37, 160, 92, 145,
2574 48, 65, 416, 417, 6, 7, 8, 9, 10, 87,
2575 37, 37, 104, 113, 765, 101, 709, 468, 166, 131,
2576 668, 23, 132, 70, 113, 163, 803, 159, 132, 314,
2577 7, 135, 193, 166, 133, 486, 38, 455, 456, 434,
2578 201, 157, 809, 143, 166, 132, 31, 94, 188, 51,
2579 190, 191, 129, 55, 215, 450, 95, 75, 144, 454,
2580 45, 222, 476, 458, 164, 42, 113, 796, 463, 120,
2581 133, 211, 229, 132, 132, 0, 237, 211, 102, 236,
2582 809, 221, 222, 167, 224, 225, 132, 221, 222, 184,
2583 44, 132, 253, 254, 387, 546, 143, 204, 144, 256,
2584 195, 132, 209, 796, 106, 132, 132, 214, 248, 249,
2585 128, 104, 252, 144, 248, 249, 809, 164, 95, 3,
2586 475, 5, 629, 630, 126, 69, 102, 166, 117, 83,
2587 59, 84, 134, 135, 656, 6, 7, 532, 127, 534,
2588 535, 559, 144, 3, 4, 5, 241, 512, 305, 244,
2589 7, 153, 656, 97, 107, 144, 313, 99, 42, 316,
2590 136, 441, 99, 670, 671, 560, 42, 27, 563, 139,
2591 140, 622, 623, 577, 314, 117, 469, 139, 140, 39,
2592 117, 124, 42, 6, 7, 8, 551, 344, 124, 65,
2593 545, 471, 557, 473, 113, 139, 140, 592, 95, 339,
2594 595, 566, 100, 146, 108, 339, 327, 328, 329, 330,
2595 146, 648, 649, 664, 26, 95, 28, 77, 155, 42,
2596 124, 361, 672, 673, 143, 365, 321, 148, 40, 41,
2597 3, 365, 5, 45, 652, 66, 67, 602, 6, 7,
2598 8, 3, 656, 5, 166, 610, 341, 387, 343, 6,
2599 7, 8, 347, 418, 419, 620, 116, 95, 52, 71,
2600 52, 95, 357, 6, 7, 8, 42, 95, 363, 6,
2601 7, 8, 690, 150, 639, 95, 416, 417, 418, 419,
2602 95, 676, 416, 417, 418, 419, 651, 52, 383, 582,
2603 95, 386, 104, 7, 15, 588, 37, 37, 110, 439,
2604 112, 441, 281, 282, 283, 439, 757, 441, 601, 760,
2605 675, 114, 763, 156, 86, 32, 767, 33, 769, 138,
2606 91, 36, 91, 73, 42, 95, 132, 7, 693, 469,
2607 104, 471, 95, 473, 95, 730, 476, 471, 104, 473,
2608 152, 706, 476, 95, 103, 52, 132, 149, 42, 714,
2609 162, 109, 6, 7, 8, 18, 18, 18, 7, 95,
2610 455, 456, 727, 95, 37, 132, 104, 462, 57, 23,
2611 104, 73, 98, 52, 18, 496, 497, 132, 132, 7,
2612 55, 7, 7, 748, 38, 750, 43, 132, 119, 95,
2613 132, 786, 43, 132, 95, 130, 593, 51, 43, 132,
2614 95, 55, 132, 130, 58, 73, 21, 772, 132, 26,
2615 132, 28, 777, 132, 779, 85, 781, 73, 21, 104,
2616 73, 776, 517, 40, 41, 154, 73, 792, 45, 127,
2617 795, 29, 629, 630, 541, 89, 113, 85, 131, 52,
2618 37, 734, 582, 808, 132, 132, 52, 42, 588, 127,
2619 52, 85, 106, 746, 71, 73, 749, 20, 118, 3,
2620 31, 601, 29, 37, 559, 758, 157, 132, 132, 626,
2621 56, 668, 126, 670, 671, 672, 673, 37, 60, 52,
2622 134, 135, 25, 20, 20, 43, 132, 104, 16, 629,
2623 630, 129, 18, 110, 35, 112, 100, 52, 52, 153,
2624 131, 52, 131, 125, 52, 37, 95, 75, 131, 85,
2625 20, 131, 9, 85, 619, 655, 656, 485, 624, 85,
2626 212, 655, 656, 668, 317, 809, 778, 796, 747, 423,
2627 670, 671, 672, 673, 695, 152, 803, 620, 800, 774,
2628 265, 264, 286, 292, 295, 162, 130, 122, 345, 710,
2629 298, 467, 61, 648, 649, 756, 581, 652, 710, 68,
2630 603, 419, 548, 72, 73, 74, 75, 76, 77, 78,
2631 222, 80, 361, 216, 287, 216, 47, -1, -1, 88,
2632 -1, -1, -1, -1, 93, -1, -1, 96, -1, -1,
2633 -1, -1, 732, -1, 734, 690, 105, -1, -1, -1,
2634 -1, -1, 742, -1, -1, -1, 746, -1, 742, 749,
2635 -1, -1, 121, -1, -1, 710, -1, -1, 758, -1,
2636 -1, -1, -1, -1, -1, 765, -1, 3, -1, 5,
2637 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
2638 -1, 17, -1, -1, -1, -1, 22, 23, 24, -1,
2639 26, 791, -1, -1, 30, -1, -1, 791, 34, -1,
2640 755, -1, 38, 39, -1, -1, -1, -1, 44, -1,
2641 46, 47, -1, -1, 50, 51, 52, 53, 54, 55,
2642 -1, -1, -1, -1, -1, -1, -1, 63, -1, -1,
2643 66, 67, -1, -1, 70, -1, -1, -1, -1, -1,
2644 -1, 77, -1, -1, -1, -1, 82, 83, -1, -1,
2645 -1, -1, -1, -1, -1, -1, -1, -1, 94, 95,
2646 -1, -1, -1, 99, -1, -1, -1, -1, 104, -1,
2647 106, -1, -1, -1, -1, 111, -1, -1, -1, 115,
2648 116, 117, -1, -1, 120, -1, 122, 123, -1, -1,
2649 126, -1, -1, -1, -1, -1, -1, -1, 134, 135,
2650 -1, 137, -1, 139, 140, 141, -1, -1, 144, -1,
2651 -1, -1, -1, -1, -1, 151, -1, 153, -1, -1,
2652 -1, -1, 158, -1, 160, 161, -1, -1, -1, -1,
2653 -1, 167, 168, 3, -1, 5, 6, 7, 8, 9,
2654 10, 11, 12, 13, 14, -1, -1, 17, -1, -1,
2655 -1, -1, 22, 23, 24, -1, 26, -1, -1, -1,
2656 30, -1, -1, -1, 34, -1, -1, -1, 38, 39,
2657 -1, -1, -1, -1, 44, -1, 46, 47, -1, -1,
2658 50, 51, 52, 53, 54, 55, -1, -1, -1, -1,
2659 -1, -1, -1, 63, -1, -1, 66, 67, -1, -1,
2660 70, -1, -1, -1, -1, -1, -1, 77, -1, -1,
2661 -1, -1, 82, -1, -1, -1, -1, -1, -1, -1,
2662 -1, -1, -1, -1, 94, 95, -1, -1, -1, 99,
2663 -1, -1, -1, -1, 104, -1, 106, -1, -1, -1,
2664 -1, 111, -1, -1, -1, 115, 116, 117, -1, -1,
2665 120, -1, 122, 123, -1, -1, 126, -1, -1, -1,
2666 -1, -1, 132, -1, 134, 135, -1, 137, -1, 139,
2667 140, 141, -1, -1, 144, -1, -1, -1, -1, -1,
2668 -1, 151, -1, 153, -1, -1, -1, -1, 158, -1,
2669 160, 161, -1, -1, -1, -1, -1, 167, 168, 3,
2670 -1, 5, 6, 7, 8, 9, 10, 11, 12, 13,
2671 14, -1, -1, 17, -1, -1, -1, -1, 22, 23,
2672 24, -1, 26, -1, -1, -1, 30, -1, -1, -1,
2673 34, -1, -1, -1, 38, 39, -1, -1, -1, 43,
2674 44, -1, 46, 47, -1, -1, 50, 51, 52, 53,
2675 54, 55, -1, -1, -1, -1, -1, -1, -1, 63,
2676 -1, -1, 66, 67, -1, -1, 70, -1, -1, -1,
2677 -1, -1, -1, 77, -1, -1, -1, -1, 82, -1,
2678 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2679 94, 95, -1, -1, -1, 99, -1, -1, -1, -1,
2680 104, -1, 106, -1, -1, -1, -1, 111, -1, -1,
2681 -1, 115, 116, 117, -1, -1, 120, -1, 122, 123,
2682 -1, -1, 126, -1, -1, -1, -1, -1, -1, -1,
2683 134, 135, -1, 137, -1, 139, 140, 141, -1, -1,
2684 144, -1, -1, -1, -1, -1, -1, 151, -1, 153,
2685 -1, -1, -1, -1, 158, -1, 160, 161, -1, -1,
2686 -1, -1, -1, 167, 168, 3, -1, 5, 6, 7,
2687 8, 9, 10, 11, 12, 13, 14, -1, -1, 17,
2688 -1, -1, -1, -1, 22, 23, 24, -1, 26, -1,
2689 -1, -1, 30, -1, -1, -1, 34, -1, -1, -1,
2690 38, 39, -1, -1, -1, -1, 44, -1, 46, 47,
2691 -1, -1, 50, 51, 52, 53, 54, 55, -1, -1,
2692 -1, -1, -1, -1, -1, 63, -1, -1, 66, 67,
2693 -1, -1, 70, -1, -1, -1, -1, -1, -1, 77,
2694 -1, -1, -1, -1, 82, -1, -1, -1, -1, -1,
2695 -1, -1, -1, -1, -1, -1, 94, 95, -1, -1,
2696 -1, 99, -1, -1, -1, -1, 104, -1, 106, -1,
2697 -1, -1, -1, 111, -1, -1, -1, 115, 116, 117,
2698 -1, -1, 120, -1, 122, 123, -1, -1, 126, -1,
2699 -1, -1, -1, -1, -1, -1, 134, 135, -1, 137,
2700 -1, 139, 140, 141, -1, -1, 144, -1, -1, -1,
2701 -1, -1, -1, 151, -1, 153, -1, -1, -1, -1,
2702 158, -1, 160, 161, -1, -1, -1, -1, -1, 167,
2703 168, 3, -1, 5, 6, 7, 8, 9, 10, 11,
2704 12, 13, 14, -1, -1, 17, -1, -1, -1, -1,
2705 22, 23, -1, -1, 26, -1, -1, -1, 30, -1,
2706 -1, -1, 34, -1, -1, -1, 38, 39, -1, -1,
2707 -1, -1, 44, -1, 46, 47, -1, -1, 50, 51,
2708 52, 53, 54, 55, -1, -1, -1, -1, -1, -1,
2709 -1, -1, -1, -1, 66, 67, -1, -1, -1, -1,
2710 -1, -1, -1, -1, -1, 77, -1, -1, -1, -1,
2711 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2712 -1, -1, -1, 95, -1, -1, -1, 99, -1, -1,
2713 -1, -1, 104, -1, 106, -1, -1, -1, -1, 111,
2714 -1, -1, -1, 115, 116, 117, -1, -1, 120, -1,
2715 122, 123, -1, -1, 126, -1, -1, -1, -1, -1,
2716 -1, -1, 134, 135, -1, 137, -1, 139, 140, -1,
2717 -1, -1, 144, -1, -1, -1, -1, -1, -1, 151,
2718 -1, 153, -1, -1, -1, -1, -1, -1, 160, 161,
2719 -1, -1, -1, -1, -1, 167, 168, 3, -1, 5,
2720 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
2721 -1, 17, -1, -1, -1, -1, 22, 23, -1, -1,
2722 26, -1, -1, -1, 30, -1, -1, -1, 34, -1,
2723 -1, -1, 38, 39, -1, -1, -1, -1, 44, -1,
2724 46, 47, -1, -1, 50, 51, 52, 53, 54, 55,
2725 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2726 66, 67, -1, -1, -1, -1, -1, -1, -1, -1,
2727 -1, 77, -1, -1, -1, -1, -1, -1, -1, -1,
2728 -1, -1, -1, -1, -1, -1, -1, -1, -1, 95,
2729 -1, -1, -1, -1, -1, -1, -1, -1, 104, -1,
2730 106, -1, -1, -1, -1, 111, -1, -1, -1, 115,
2731 116, -1, -1, -1, -1, -1, 122, 123, -1, -1,
2732 126, -1, -1, -1, -1, -1, -1, -1, 134, 135,
2733 -1, 137, -1, -1, -1, -1, 142, -1, 144, -1,
2734 -1, -1, -1, -1, -1, 151, -1, 153, -1, -1,
2735 -1, -1, -1, -1, 160, -1, -1, -1, -1, -1,
2736 -1, 167, 168, 3, -1, 5, 6, 7, 8, 9,
2737 10, 11, 12, 13, 14, -1, -1, 17, -1, -1,
2738 -1, -1, 22, 23, -1, -1, 26, -1, -1, -1,
2739 30, -1, -1, -1, 34, -1, -1, -1, 38, 39,
2740 -1, -1, -1, -1, 44, -1, 46, 47, -1, -1,
2741 50, 51, 52, 53, 54, 55, -1, -1, -1, -1,
2742 -1, -1, -1, -1, -1, -1, 66, 67, -1, -1,
2743 -1, -1, -1, -1, -1, -1, -1, 77, -1, -1,
2744 6, 7, 8, 9, 10, -1, -1, 13, 14, -1,
2745 -1, -1, -1, -1, -1, 95, 22, 23, -1, -1,
2746 -1, -1, -1, -1, 104, -1, 106, -1, 34, -1,
2747 -1, 111, 38, -1, -1, 115, 116, -1, -1, -1,
2748 46, 47, 122, 123, -1, 51, 126, -1, 54, 55,
2749 -1, -1, -1, -1, 134, 135, -1, 137, -1, -1,
2750 66, 67, -1, -1, 144, -1, -1, -1, -1, -1,
2751 -1, 151, -1, 153, -1, -1, -1, -1, -1, -1,
2752 160, 6, 7, 8, 9, 10, -1, 167, 168, -1,
2753 -1, -1, -1, -1, -1, 6, 7, 8, 9, 10,
2754 106, -1, 13, 14, -1, -1, -1, -1, -1, 115,
2755 -1, 22, 23, 38, -1, -1, 122, 123, -1, -1,
2756 126, -1, -1, 34, -1, -1, 51, 38, 134, 135,
2757 55, 137, -1, 139, 140, 46, 47, -1, 144, -1,
2758 51, -1, -1, 54, 55, -1, -1, 153, -1, -1,
2759 -1, -1, -1, -1, -1, 66, 67, -1, -1, -1,
2760 -1, 167, -1, -1, -1, -1, -1, -1, -1, -1,
2761 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2762 -1, 106, -1, -1, -1, -1, -1, -1, -1, -1,
2763 -1, -1, -1, -1, -1, 106, -1, -1, -1, -1,
2764 -1, 126, -1, -1, 115, -1, -1, -1, -1, -1,
2765 135, 122, 123, -1, -1, 126, -1, -1, -1, 144,
2766 -1, -1, -1, 134, 135, -1, 137, -1, 153, -1,
2767 -1, -1, -1, 144, -1, -1, -1, -1, -1, -1,
2775 0, 165, 170, 171, 163, 0, 102, 173, 174, 175,
2776 176, 3, 5, 404, 104, 176, 6, 7, 8, 9,
2777 10, 11, 12, 13, 14, 17, 22, 23, 24, 26,
2778 30, 34, 38, 39, 44, 46, 47, 50, 51, 52,
2779 53, 54, 55, 63, 66, 67, 70, 77, 82, 83,
2780 94, 95, 99, 104, 106, 111, 115, 116, 117, 120,
2781 122, 123, 126, 134, 135, 137, 139, 140, 141, 144,
2782 151, 153, 158, 160, 161, 167, 168, 177, 183, 184,
2783 186, 187, 189, 190, 191, 192, 193, 194, 195, 197,
2784 200, 201, 202, 204, 208, 211, 213, 219, 225, 226,
2785 227, 232, 233, 240, 253, 254, 260, 267, 276, 277,
2786 278, 279, 280, 281, 283, 285, 286, 289, 290, 291,
2787 292, 293, 294, 295, 296, 298, 300, 302, 303, 304,
2788 306, 307, 309, 310, 311, 322, 323, 324, 327, 328,
2789 329, 331, 332, 333, 334, 335, 336, 337, 338, 339,
2790 340, 342, 343, 344, 345, 347, 348, 349, 358, 359,
2791 360, 361, 362, 365, 366, 367, 368, 375, 382, 383,
2792 384, 386, 387, 388, 389, 390, 391, 392, 394, 397,
2793 399, 400, 404, 405, 59, 172, 7, 44, 100, 229,
2794 330, 95, 166, 364, 395, 95, 404, 7, 397, 405,
2795 95, 364, 395, 148, 26, 28, 40, 41, 45, 71,
2796 104, 110, 112, 152, 162, 364, 95, 395, 7, 341,
2797 405, 95, 364, 395, 52, 52, 6, 7, 401, 95,
2798 102, 136, 364, 44, 132, 225, 42, 218, 395, 150,
2799 7, 402, 405, 7, 95, 218, 374, 395, 95, 95,
2800 310, 310, 52, 312, 364, 395, 95, 90, 145, 7,
2801 218, 218, 37, 37, 114, 15, 61, 68, 72, 73,
2802 74, 75, 76, 77, 78, 80, 88, 93, 96, 105,
2803 121, 297, 299, 301, 99, 117, 155, 282, 49, 81,
2804 101, 144, 284, 25, 159, 287, 64, 87, 288, 86,
2805 156, 32, 33, 293, 218, 42, 305, 307, 69, 97,
2806 139, 140, 321, 91, 325, 36, 91, 95, 404, 138,
2807 185, 73, 104, 7, 231, 405, 95, 38, 55, 126,
2808 153, 333, 7, 132, 144, 396, 405, 218, 369, 370,
2809 373, 218, 356, 404, 42, 95, 218, 364, 124, 146,
2810 188, 124, 146, 212, 108, 124, 198, 35, 55, 71,
2811 113, 364, 7, 397, 194, 103, 181, 182, 364, 218,
2812 385, 392, 394, 144, 397, 372, 373, 397, 341, 341,
2813 350, 225, 104, 205, 45, 104, 203, 52, 104, 132,
2814 225, 218, 149, 308, 404, 7, 404, 305, 397, 397,
2815 341, 218, 218, 225, 227, 227, 278, 279, 280, 280,
2816 280, 281, 283, 285, 286, 289, 109, 18, 18, 18,
2817 43, 225, 311, 142, 311, 225, 23, 326, 333, 389,
2818 225, 226, 227, 346, 403, 404, 7, 314, 315, 37,
2819 132, 37, 132, 305, 397, 356, 132, 356, 225, 314,
2820 403, 185, 185, 37, 404, 104, 104, 57, 196, 7,
2821 399, 405, 73, 404, 185, 397, 98, 95, 317, 52,
2822 132, 37, 132, 37, 132, 363, 18, 377, 377, 353,
2823 132, 7, 403, 55, 7, 403, 341, 7, 43, 119,
2824 132, 132, 132, 132, 377, 132, 58, 89, 378, 380,
2825 381, 382, 389, 397, 378, 376, 381, 376, 43, 113,
2826 143, 246, 252, 130, 130, 132, 185, 73, 132, 157,
2827 316, 318, 319, 397, 398, 398, 371, 43, 132, 185,
2828 84, 107, 199, 185, 403, 403, 79, 92, 185, 95,
2829 3, 403, 185, 95, 316, 377, 341, 398, 398, 305,
2830 378, 85, 21, 239, 351, 354, 401, 154, 73, 21,
2831 206, 104, 73, 206, 377, 73, 85, 268, 395, 395,
2832 117, 127, 144, 379, 127, 29, 113, 131, 227, 247,
2833 248, 37, 52, 132, 132, 185, 185, 185, 52, 215,
2834 216, 42, 364, 178, 132, 305, 377, 127, 393, 393,
2835 227, 52, 85, 118, 73, 227, 207, 403, 185, 185,
2836 20, 3, 227, 31, 269, 29, 311, 19, 48, 249,
2837 37, 318, 341, 341, 37, 132, 313, 185, 23, 139,
2838 140, 220, 221, 222, 223, 224, 322, 345, 185, 20,
2839 65, 209, 132, 132, 261, 341, 227, 353, 16, 129,
2840 355, 56, 37, 227, 255, 52, 273, 60, 196, 250,
2841 248, 377, 377, 216, 214, 225, 223, 223, 25, 179,
2842 139, 140, 139, 140, 227, 20, 210, 262, 234, 75,
2843 128, 352, 356, 356, 227, 403, 241, 256, 397, 378,
2844 35, 166, 251, 20, 320, 377, 43, 221, 132, 223,
2845 223, 224, 224, 227, 185, 37, 133, 263, 266, 235,
2846 357, 16, 129, 37, 164, 233, 240, 242, 244, 245,
2847 246, 37, 257, 266, 18, 270, 403, 35, 227, 65,
2848 217, 218, 100, 228, 52, 227, 37, 233, 236, 240,
2849 244, 4, 27, 218, 348, 404, 52, 227, 131, 52,
2850 131, 227, 185, 230, 231, 125, 180, 341, 52, 397,
2851 341, 245, 227, 341, 227, 37, 404, 317, 377, 341,
2852 75, 377, 131, 377, 271, 231, 377, 85, 377, 20,
2853 227, 85, 45, 269, 272, 274, 305, 227, 239, 227,
2854 227, 52, 131, 185, 264, 85, 243, 258, 397, 227,
2855 265, 227, 242, 259, 275, 263, 237, 257, 131, 238,
2859 #define yyerrok (yyerrstatus = 0) 2860 #define yyclearin (yychar = YYEMPTY) 2861 #define YYEMPTY (-2) 2864 #define YYACCEPT goto yyacceptlab 2865 #define YYABORT goto yyabortlab 2866 #define YYERROR goto yyerrorlab 2873 #define YYFAIL goto yyerrlab 2875 #define YYRECOVERING() (!!yyerrstatus) 2877 #define YYBACKUP(Token, Value) \ 2879 if (yychar == YYEMPTY && yylen == 1) \ 2883 yytoken = YYTRANSLATE (yychar); \ 2889 yyerror (&yylloc, parseInfo, YY_("syntax error: cannot back up")); \ 2896 #define YYERRCODE 256 2903 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 2904 #ifndef YYLLOC_DEFAULT 2905 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 2909 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 2910 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 2911 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 2912 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 2916 (Current).first_line = (Current).last_line = \ 2917 YYRHSLOC (Rhs, 0).last_line; \ 2918 (Current).first_column = (Current).last_column = \ 2919 YYRHSLOC (Rhs, 0).last_column; \ 2929 #ifndef YY_LOCATION_PRINT 2930 # if YYLTYPE_IS_TRIVIAL 2931 # define YY_LOCATION_PRINT(File, Loc) \ 2932 fprintf (File, "%d.%d-%d.%d", \ 2933 (Loc).first_line, (Loc).first_column, \ 2934 (Loc).last_line, (Loc).last_column) 2936 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 2944 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM) 2946 # define YYLEX yylex (&yylval, &yylloc, parseInfo) 2954 # define YYFPRINTF fprintf 2957 # define YYDPRINTF(Args) \ 2963 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 2967 YYFPRINTF (stderr, "%s ", Title); \ 2968 yy_symbol_print (stderr, \ 2969 Type, Value, Location, parseInfo); \ 2970 YYFPRINTF (stderr, "\n"); \ 2980 #if (defined __STDC__ || defined __C99__FUNC__ \ 2981 || defined __cplusplus || defined _MSC_VER) 2983 yy_symbol_value_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp, ParserContext *
const parseInfo)
2986 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, parseInfo)
2989 YYSTYPE const *
const yyvaluep;
2990 YYLTYPE const *
const yylocationp;
2991 ParserContext *
const parseInfo;
2996 YYUSE (yylocationp);
3000 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3016 #if (defined __STDC__ || defined __C99__FUNC__ \ 3017 || defined __cplusplus || defined _MSC_VER) 3019 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp, ParserContext *
const parseInfo)
3022 yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, parseInfo)
3025 YYSTYPE const *
const yyvaluep;
3026 YYLTYPE const *
const yylocationp;
3027 ParserContext *
const parseInfo;
3031 YYFPRINTF (yyoutput,
"token %s (", yytname[yytype]);
3033 YYFPRINTF (yyoutput,
"nterm %s (", yytname[yytype]);
3036 YYFPRINTF (yyoutput,
": ");
3037 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, parseInfo);
3038 YYFPRINTF (yyoutput,
")");
3046 #if (defined __STDC__ || defined __C99__FUNC__ \ 3047 || defined __cplusplus || defined _MSC_VER) 3049 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
3052 yy_stack_print (yybottom, yytop)
3053 yytype_int16 *yybottom;
3054 yytype_int16 *yytop;
3057 YYFPRINTF (stderr,
"Stack now");
3058 for (; yybottom <= yytop; yybottom++)
3060 int yybot = *yybottom;
3061 YYFPRINTF (stderr,
" %d", yybot);
3063 YYFPRINTF (stderr,
"\n");
3066 # define YY_STACK_PRINT(Bottom, Top) \ 3069 yy_stack_print ((Bottom), (Top)); \ 3077 #if (defined __STDC__ || defined __C99__FUNC__ \ 3078 || defined __cplusplus || defined _MSC_VER) 3080 yy_reduce_print (
YYSTYPE *yyvsp,
YYLTYPE *yylsp,
int yyrule, ParserContext *
const parseInfo)
3083 yy_reduce_print (yyvsp, yylsp, yyrule, parseInfo)
3087 ParserContext *
const parseInfo;
3090 int yynrhs = yyr2[yyrule];
3092 unsigned long int yylno = yyrline[yyrule];
3093 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
3096 for (yyi = 0; yyi < yynrhs; yyi++)
3098 fprintf (stderr,
" $%d = ", yyi + 1);
3099 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3100 &(yyvsp[(yyi + 1) - (yynrhs)])
3101 , &(yylsp[(yyi + 1) - (yynrhs)]) , parseInfo);
3102 fprintf (stderr,
"\n");
3106 # define YY_REDUCE_PRINT(Rule) \ 3109 yy_reduce_print (yyvsp, yylsp, Rule, parseInfo); \ 3116 # define YYDPRINTF(Args) 3117 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 3118 # define YY_STACK_PRINT(Bottom, Top) 3119 # define YY_REDUCE_PRINT(Rule) 3125 # define YYINITDEPTH 200 3136 # define YYMAXDEPTH 10000 3144 # if defined __GLIBC__ && defined _STRING_H 3145 # define yystrlen strlen 3148 #if (defined __STDC__ || defined __C99__FUNC__ \ 3149 || defined __cplusplus || defined _MSC_VER) 3159 for (yylen = 0; yystr[yylen]; yylen++)
3167 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 3168 # define yystpcpy stpcpy 3172 #if (defined __STDC__ || defined __C99__FUNC__ \ 3173 || defined __cplusplus || defined _MSC_VER) 3184 const char *yys = yysrc;
3186 while ((*yyd++ = *yys++) !=
'\0')
3208 char const *yyp = yystr;
3215 goto do_not_strip_quotes;
3219 goto do_not_strip_quotes;
3232 do_not_strip_quotes: ;
3238 return yystpcpy (yyres, yystr) - yyres;
3252 int yyn = yypact[yystate];
3262 int yysize_overflow = 0;
3263 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3264 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3270 YY_(
"syntax error, unexpected %s");
3271 YY_(
"syntax error, unexpected %s, expecting %s");
3272 YY_(
"syntax error, unexpected %s, expecting %s or %s");
3273 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s");
3274 YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s");
3278 static char const yyunexpected[] =
"syntax error, unexpected %s";
3279 static char const yyexpecting[] =
", expecting %s";
3280 static char const yyor[] =
" or %s";
3281 char yyformat[
sizeof yyunexpected
3282 +
sizeof yyexpecting - 1
3283 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3284 * (
sizeof yyor - 1))];
3285 char const *yyprefix = yyexpecting;
3289 int yyxbegin = yyn < 0 ? -yyn : 0;
3292 int yychecklim =
YYLAST - yyn + 1;
3296 yyarg[0] = yytname[yytype];
3297 yyfmt =
yystpcpy (yyformat, yyunexpected);
3299 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3300 if (yycheck[yyx + yyn] == yyx && yyx !=
YYTERROR)
3302 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3306 yyformat[
sizeof yyunexpected - 1] =
'\0';
3309 yyarg[yycount++] = yytname[yyx];
3310 yysize1 = yysize +
yytnamerr (0, yytname[yyx]);
3311 yysize_overflow |= (yysize1 < yysize);
3313 yyfmt =
yystpcpy (yyfmt, yyprefix);
3317 yyf =
YY_(yyformat);
3319 yysize_overflow |= (yysize1 < yysize);
3322 if (yysize_overflow)
3330 char *yyp = yyresult;
3332 while ((*yyp = *yyf) !=
'\0')
3334 if (*yyp ==
'%' && yyf[1] ==
's' && yyi < yycount)
3357 #if (defined __STDC__ || defined __C99__FUNC__ \ 3358 || defined __cplusplus || defined _MSC_VER) 3363 yydestruct (yymsg, yytype, yyvaluep, yylocationp, parseInfo)
3372 YYUSE (yylocationp);
3390 #ifdef YYPARSE_PARAM 3391 #if defined __STDC__ || defined __cplusplus 3392 int yyparse (
void *YYPARSE_PARAM);
3397 #if defined __STDC__ || defined __cplusplus 3413 #ifdef YYPARSE_PARAM 3414 #if (defined __STDC__ || defined __C99__FUNC__ \ 3415 || defined __cplusplus || defined _MSC_VER) 3421 void *YYPARSE_PARAM;
3424 #if (defined __STDC__ || defined __C99__FUNC__ \ 3425 || defined __cplusplus || defined _MSC_VER) 3456 char *yymsg = yymsgbuf;
3457 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
3470 yytype_int16 *yyss = yyssa;
3471 yytype_int16 *yyssp;
3485 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) 3498 YYDPRINTF ((stderr,
"Starting parse\n"));
3513 #if YYLTYPE_IS_TRIVIAL 3532 if (yyss + yystacksize - 1 <= yyssp)
3535 YYSIZE_T yysize = yyssp - yyss + 1;
3543 yytype_int16 *yyss1 = yyss;
3550 yyoverflow (
YY_(
"memory exhausted"),
3551 &yyss1, yysize *
sizeof (*yyssp),
3552 &yyvs1, yysize *
sizeof (*yyvsp),
3553 &yyls1, yysize *
sizeof (*yylsp),
3560 # ifndef YYSTACK_RELOCATE 3561 goto yyexhaustedlab;
3565 goto yyexhaustedlab;
3571 yytype_int16 *yyss1 = yyss;
3572 union yyalloc *yyptr =
3573 (
union yyalloc *)
YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3575 goto yyexhaustedlab;
3576 YYSTACK_RELOCATE (yyss);
3577 YYSTACK_RELOCATE (yyvs);
3578 YYSTACK_RELOCATE (yyls);
3579 # undef YYSTACK_RELOCATE 3586 yyssp = yyss + yysize - 1;
3587 yyvsp = yyvs + yysize - 1;
3588 yylsp = yyls + yysize - 1;
3590 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
3591 (
unsigned long int) yystacksize));
3593 if (yyss + yystacksize - 1 <= yyssp)
3597 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
3613 yyn = yypact[yystate];
3622 YYDPRINTF ((stderr,
"Reading a token: "));
3626 if (yychar <=
YYEOF)
3628 yychar = yytoken =
YYEOF;
3629 YYDPRINTF ((stderr,
"Now at end of input.\n"));
3640 if (yyn < 0 ||
YYLAST < yyn || yycheck[yyn] != yytoken)
3672 yyn = yydefact[yystate];
3693 yyval = yyvsp[1-yylen];
3702 #line 1380 "querytransformparser.ypp" 3706 #if defined(YYNNTS) \ 3707 || defined(yyerrok) \ 3708 || defined(YYNSTATES) \ 3709 || defined(YYRHSLOC) \ 3710 || defined(YYRECOVERING) \ 3711 || defined(YYFAIL) \ 3712 || defined(YYERROR) \ 3713 || defined(YYNRULES) \ 3714 || defined(YYBACKUP) \ 3715 || defined(YYMAXDEPTH) \ 3716 || defined(yyclearin) \ 3717 || defined(YYERRCODE) \ 3718 || defined(YY_LOCATION_PRINT) \ 3719 || defined(YYLLOC_DEFAULT) 3726 parseInfo->staticContext->error(QtXmlPatterns::tr(
"Version %1 is not supported. The supported " 3727 "XQuery version is 1.0.")
3736 #line 1412 "querytransformparser.ypp" 3740 if(!encNameRegExp.
exactMatch((yyvsp[(2) - (2)].sval)))
3742 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The encoding %1 is invalid. " 3743 "It must contain Latin characters only, " 3744 "must not contain whitespace, and must match " 3745 "the regular expression %2.")
3755 #line 1428 "querytransformparser.ypp" 3759 if(parseInfo->isXSLT())
3762 const Hash::const_iterator
end(parseInfo->unresolvedVariableReferences.constEnd());
3764 for(Hash::const_iterator
it(parseInfo->unresolvedVariableReferences.constBegin());
it !=
end; ++
it)
3776 for(; cit != cend; ++cit)
3788 if(callsite->isSignatureValid(
sign))
3790 callsite->setSource((*
it),
3791 parseInfo->allocateCacheSlots((*it)->argumentDeclarations().count()));
3797 parseInfo->staticContext->error(QtXmlPatterns::tr(
"No function with signature %1 is available")
3808 for(; fit != fend; ++fit)
3811 signList.
append((*fit)->signature());
3832 parseInfo->finalizePushedVariable(1,
false);
3840 && !parseInfo->initialTemplateName.isNull()
3841 && parseInfo->namedTemplates.contains(parseInfo->initialTemplateName))
3845 (yyloc), parseInfo);
3846 parseInfo->templateCalls.append(parseInfo->queryBody);
3850 parseInfo->queryBody = (yyvsp[(2) - (2)].expr);
3856 #line 1528 "querytransformparser.ypp" 3859 parseInfo->moduleNamespace = parseInfo->staticContext->namePool()->allocateNamespace((yyvsp[(3) - (6)].sval));
3865 #line 1536 "querytransformparser.ypp" 3868 if(parseInfo->hasSecondPrologPart)
3869 parseInfo->staticContext->error(QtXmlPatterns::tr(
"A default namespace declaration must occur before function, " 3876 #line 1543 "querytransformparser.ypp" 3878 if(parseInfo->hasSecondPrologPart)
3879 parseInfo->staticContext->error(QtXmlPatterns::tr(
"A default namespace declaration must occur before function, " 3886 #line 1549 "querytransformparser.ypp" 3888 if(parseInfo->hasSecondPrologPart)
3889 parseInfo->staticContext->error(QtXmlPatterns::tr(
"Namespace declarations must occur before function, " 3896 #line 1555 "querytransformparser.ypp" 3899 if(parseInfo->hasSecondPrologPart)
3900 parseInfo->staticContext->error(QtXmlPatterns::tr(
"Module imports must occur before function, " 3907 #line 1565 "querytransformparser.ypp" 3909 parseInfo->hasSecondPrologPart =
true;
3915 #line 1569 "querytransformparser.ypp" 3917 parseInfo->hasSecondPrologPart =
true;
3923 #line 1573 "querytransformparser.ypp" 3926 parseInfo->hasSecondPrologPart =
true;
3932 #line 1596 "querytransformparser.ypp" 3934 Template::Ptr temp(
create(
new Template(parseInfo->currentImportPrecedence, (yyvsp[(5) - (7)].sequenceType)), (yyloc), parseInfo));
3937 parseInfo, (yylsp[(1) - (7)]), temp);
3938 temp->templateParameters = parseInfo->templateParameters;
3939 parseInfo->templateParametersHandled();
3945 #line 1606 "querytransformparser.ypp" 3947 parseInfo->isParsingPattern =
true;
3953 #line 1610 "querytransformparser.ypp" 3955 parseInfo->isParsingPattern =
false;
3961 #line 1619 "querytransformparser.ypp" 3966 const ImportPrecedence ip = parseInfo->isFirstTemplate() ? 0 : parseInfo->currentImportPrecedence;
3971 templ->body =
typeCheckTemplateBody((yyvsp[(14) - (15)].expr), (yyvsp[(13) - (15)].sequenceType), parseInfo);
3972 templ->templateParameters = parseInfo->templateParameters;
3973 parseInfo->templateParametersHandled();
3985 pattern = operands.first();
3987 loadPattern(operands.at(1), ourPatterns, templateID, (yyvsp[(11) - (15)].enums.Double), templ);
3990 loadPattern(pattern, ourPatterns, templateID, (yyvsp[(11) - (15)].
enums.Double), templ);
3992 if(!(yyvsp[(3) - (15)].qName).
isNull())
3993 registerNamedTemplate((yyvsp[(3) - (15)].qName), (yyvsp[(14) - (15)].expr), parseInfo, (yylsp[(1) - (15)]), templ);
3996 for(
int i = 0; i < (yyvsp[(10) - (15)].qNameVector).count(); ++i)
3998 const QXmlName &modeName = (yyvsp[(10) - (15)].qNameVector).
at(i);
4002 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The keyword %1 cannot occur with any other mode name.")
4010 for(
int t = 0; t < ourPatterns.
count(); ++t)
4011 mode->templatePatterns.append(ourPatterns.
at(t));
4018 #line 1673 "querytransformparser.ypp" 4020 (yyval.enums.Double) = std::numeric_limits<xsDouble>::quiet_NaN();
4026 #line 1678 "querytransformparser.ypp" 4031 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The value of attribute %1 must be of type %2, which %3 isn't.")
4045 #line 1694 "querytransformparser.ypp" 4053 #line 1700 "querytransformparser.ypp" 4055 (yyval.qName) = (yyvsp[(2) - (2)].qName);
4061 #line 1706 "querytransformparser.ypp" 4069 #line 1711 "querytransformparser.ypp" 4077 #line 1715 "querytransformparser.ypp" 4085 #line 1719 "querytransformparser.ypp" 4093 #line 1730 "querytransformparser.ypp" 4095 if(!(yyvsp[(6) - (7)].
enums.Bool))
4100 parseInfo->staticContext->error(QtXmlPatterns::tr(
"It is not possible to redeclare prefix %1.")
4106 parseInfo->staticContext->error(QtXmlPatterns::tr(
4107 "The prefix %1 cannot be bound. By default, it is already bound " 4108 "to the namespace %2.")
4114 else if(parseInfo->declaredPrefixes.contains((yyvsp[(3) - (7)].sval)))
4118 parseInfo->staticContext->error(QtXmlPatterns::tr(
"Prefix %1 is already declared in the prolog.")
4124 parseInfo->declaredPrefixes.append((yyvsp[(3) - (7)].sval));
4126 if((yyvsp[(5) - (7)].sval).
isEmpty())
4130 parseInfo->staticContext->namePool()->allocatePrefix((yyvsp[(3) - (7)].sval))));
4134 parseInfo->staticContext->namespaceBindings()->addBinding(parseInfo->staticContext->namePool()->allocateBinding((yyvsp[(3) - (7)].sval), (yyvsp[(5) - (7)].sval)));
4142 #line 1776 "querytransformparser.ypp" 4146 parseInfo->staticContext->error(
prologMessage(
"declare boundary-space"),
4151 parseInfo->staticContext->setBoundarySpacePolicy((yyvsp[(3) - (4)].
enums.boundarySpacePolicy));
4159 #line 1790 "querytransformparser.ypp" 4167 #line 1795 "querytransformparser.ypp" 4175 #line 1804 "querytransformparser.ypp" 4179 parseInfo->staticContext->error(
prologMessage(
"declare default element namespace"),
4184 parseInfo->staticContext->namespaceBindings()->addBinding(
QXmlName(parseInfo->staticContext->namePool()->allocateNamespace((yyvsp[(5) - (6)].sval)),
StandardLocalNames::empty));
4192 #line 1819 "querytransformparser.ypp" 4196 parseInfo->staticContext->error(
prologMessage(
"declare default function namespace"),
4201 parseInfo->staticContext->setDefaultFunctionNamespace((yyvsp[(5) - (6)].sval));
4209 #line 1833 "querytransformparser.ypp" 4213 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The name of an option must have a prefix. " 4214 "There is no default namespace for options."),
4222 #line 1843 "querytransformparser.ypp" 4227 parseInfo->staticContext->error(
prologMessage(
"declare ordering"),
4233 parseInfo->staticContext->setOrderingMode((yyvsp[(3) - (4)].
enums.orderingMode));
4240 #line 1858 "querytransformparser.ypp" 4248 #line 1862 "querytransformparser.ypp" 4256 #line 1867 "querytransformparser.ypp" 4260 parseInfo->staticContext->error(
prologMessage(
"declare default order"),
4266 parseInfo->staticContext->setOrderingEmptySequence((yyvsp[(4) - (5)].
enums.orderingEmptySequence));
4273 #line 1881 "querytransformparser.ypp" 4281 #line 1885 "querytransformparser.ypp" 4289 #line 1891 "querytransformparser.ypp" 4293 parseInfo->staticContext->error(
prologMessage(
"declare copy-namespaces"),
4305 #line 1904 "querytransformparser.ypp" 4307 parseInfo->preserveNamespacesMode =
true;
4313 #line 1909 "querytransformparser.ypp" 4315 parseInfo->preserveNamespacesMode =
false;
4321 #line 1914 "querytransformparser.ypp" 4323 parseInfo->inheritNamespacesMode =
true;
4329 #line 1919 "querytransformparser.ypp" 4331 parseInfo->inheritNamespacesMode =
false;
4337 #line 1924 "querytransformparser.ypp" 4341 parseInfo->staticContext->error(
prologMessage(
"declare default collation"),
4346 const QUrl coll(resolveAndCheckCollation<ReportContext::XQST0038>((yyvsp[(4) - (5)].sval), parseInfo, (yyloc)));
4349 parseInfo->staticContext->setDefaultCollation(coll);
4356 #line 1940 "querytransformparser.ypp" 4361 parseInfo->staticContext->error(
prologMessage(
"declare base-uri"),
4369 QUrl toBeBase(AnyURI::toQUrl<ReportContext::XQST0046>((yyvsp[(4) - (5)].sval), parseInfo->staticContext, &ryy));
4373 toBeBase = parseInfo->staticContext->baseURI().
resolved(toBeBase);
4375 parseInfo->staticContext->setBaseURI(toBeBase);
4382 #line 1963 "querytransformparser.ypp" 4384 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The Schema Import feature is not supported, " 4385 "and therefore %1 declarations cannot occur.")
4393 #line 1975 "querytransformparser.ypp" 4395 if((yyvsp[(4) - (6)].sval).
isEmpty())
4397 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The target namespace of a %1 cannot be empty.")
4405 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The module import feature is not supported"),
4413 #line 2002 "querytransformparser.ypp" 4418 parseInfo->staticContext->error(QtXmlPatterns::tr(
"A variable with name %1 has already " 4420 .arg(
formatKeyword(parseInfo->staticContext->namePool()->toLexical((yyvsp[(5) - (9)].qName)))),
4426 if((yyvsp[(7) - (9)].expr))
4434 parseInfo->declaredVariables.append(parseInfo->variables.last());
4439 externalVariableLoader()->announceExternalVariable((yyvsp[(5) - (9)].qName), (yyvsp[(6) - (9)].sequenceType)));
4447 else if((yyvsp[(8) - (9)].expr))
4457 parseInfo->staticContext->error(QtXmlPatterns::tr(
"No value is available for the external " 4458 "variable with name %1.")
4459 .arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(5) - (9)].qName))),
4470 #line 2056 "querytransformparser.ypp" 4472 (yyval.expr).
reset();
4478 #line 2060 "querytransformparser.ypp" 4480 (yyval.expr) = (yyvsp[(2) - (2)].expr);
4486 #line 2065 "querytransformparser.ypp" 4488 (yyval.expr).
reset();
4494 #line 2069 "querytransformparser.ypp" 4496 (yyval.expr) = (yyvsp[(2) - (2)].expr);
4502 #line 2074 "querytransformparser.ypp" 4506 parseInfo->staticContext->error(
prologMessage(
"declare ordering"),
4512 parseInfo->staticContext->setConstructionMode((yyvsp[(3) - (4)].
enums.constructionMode));
4519 #line 2088 "querytransformparser.ypp" 4527 #line 2092 "querytransformparser.ypp" 4535 #line 2097 "querytransformparser.ypp" 4537 (yyval.enums.slot) = parseInfo->currentExpressionSlot() - (yyvsp[(6) - (7)].functionArguments).count();
4543 #line 2101 "querytransformparser.ypp" 4545 if(!(yyvsp[(3) - (11)].
enums.Bool))
4551 if(parseInfo->isXSLT() && !(yyvsp[(4) - (11)].qName).hasPrefix())
4553 parseInfo->staticContext->error(QtXmlPatterns::tr(
"A stylesheet function must have a prefixed name."),
4558 if((yyvsp[(10) - (11)].expr))
4562 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The namespace for a user defined function " 4563 "cannot be empty (try the predefined " 4564 "prefix %1, which exists for cases " 4571 parseInfo->staticContext->error(QtXmlPatterns::tr(
4572 "The namespace %1 is reserved; therefore " 4573 "user defined functions may not use it. " 4574 "Try the predefined prefix %2, which " 4575 "exists for these cases.")
4581 ns != parseInfo->moduleNamespace)
4583 parseInfo->staticContext->error(QtXmlPatterns::tr(
4584 "The namespace of a user defined " 4585 "function in a library module must be " 4586 "equivalent to the module namespace. " 4587 "In other words, it should be %1 instead " 4589 .arg(
formatURI(parseInfo->staticContext->namePool(), parseInfo->moduleNamespace),
4590 formatURI(parseInfo->staticContext->namePool(), ns)),
4598 parseInfo->staticContext,
4604 const int argCount = (yyvsp[(6) - (11)].functionArguments).count();
4608 (yyvsp[(9) - (11)].sequenceType) ));
4609 sign->setArguments((yyvsp[(6) - (11)].functionArguments));
4615 if(*(*it)->signature() == *
sign)
4617 parseInfo->staticContext->error(QtXmlPatterns::tr(
"A function already exists with " 4618 "the signature %1.")
4626 for(
int i = 0; i < argCount; ++i)
4627 argDecls.
append(parseInfo->variables.at(i));
4629 if((yyvsp[(8) - (11)].
enums.slot) > -1)
4632 parseInfo->finalizePushedVariable(argCount);
4640 parseInfo->staticContext->error(QtXmlPatterns::tr(
"No external functions are supported. " 4641 "All supported functions can be used directly, " 4642 "without first declaring them as external"),
4650 #line 2205 "querytransformparser.ypp" 4658 #line 2209 "querytransformparser.ypp" 4661 l.
append((yyvsp[(1) - (1)].functionArgument));
4662 (yyval.functionArguments) = l;
4668 #line 2215 "querytransformparser.ypp" 4673 for(; it !=
end; ++
it)
4675 if((*it)->name() == (yyvsp[(3) - (3)].functionArgument)->
name())
4677 parseInfo->staticContext->error(QtXmlPatterns::tr(
"An argument with name %1 has already " 4678 "been declared. Every argument name " 4680 .arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(3) - (3)].functionArgument)->
name())),
4685 (yyvsp[(1) - (3)].functionArguments).append((yyvsp[(3) - (3)].functionArgument));
4686 (yyval.functionArguments) = (yyvsp[(1) - (3)].functionArguments);
4692 #line 2236 "querytransformparser.ypp" 4701 #line 2242 "querytransformparser.ypp" 4703 (yyval.expr).
reset();
4709 #line 2248 "querytransformparser.ypp" 4711 (yyval.expr) = (yyvsp[(2) - (3)].expr);
4717 #line 2264 "querytransformparser.ypp" 4725 #line 2270 "querytransformparser.ypp" 4738 #line 2279 "querytransformparser.ypp" 4792 parseInfo->staticContext,
fromYYLTYPE((yylsp[(1) - (2)]), parseInfo)), (yylsp[(1) - (2)]), parseInfo);
4798 newOps.
append(targetOperands.at(0));
4802 parseInfo->staticContext,
fromYYLTYPE((yylsp[(1) - (2)]), parseInfo)), (yylsp[(1) - (2)]), parseInfo));
4804 target->setOperands(newOps);
4805 (yyval.expr) = (yyvsp[(2) - (2)].expr);
4812 #line 2349 "querytransformparser.ypp" 4821 parseInfo->staticContext,
fromYYLTYPE((yylsp[(1) - (2)]), parseInfo)), (yylsp[(1) - (2)]), parseInfo);
4827 #line 2361 "querytransformparser.ypp" 4835 #line 2365 "querytransformparser.ypp" 4843 #line 2370 "querytransformparser.ypp" 4856 parseInfo->staticContext->error(QtXmlPatterns::tr(
"When function %1 is used for matching inside a pattern, " 4857 "the argument must be a variable reference or a string literal.")
4858 .arg(
formatFunction(parseInfo->staticContext->namePool(), signature)),
4863 else if(
name == key)
4867 parseInfo->staticContext->error(QtXmlPatterns::tr(
"In an XSL-T pattern, the first argument to function %1 " 4868 "must be a string literal, when used for matching.")
4869 .arg(
formatFunction(parseInfo->staticContext->namePool(), signature)),
4881 parseInfo->staticContext->error(QtXmlPatterns::tr(
"In an XSL-T pattern, the first argument to function %1 " 4882 "must be a literal or a variable reference, when used for matching.")
4883 .arg(
formatFunction(parseInfo->staticContext->namePool(), signature)),
4888 if(ands.
count() == 3)
4890 parseInfo->staticContext->error(QtXmlPatterns::tr(
"In an XSL-T pattern, function %1 cannot have a third argument.")
4891 .arg(
formatFunction(parseInfo->staticContext->namePool(), signature)),
4900 parseInfo->staticContext->error(QtXmlPatterns::tr(
"In an XSL-T pattern, only function %1 " 4901 "and %2, not %3, can be used for matching.")
4902 .arg(
formatFunction(parseInfo->staticContext->namePool(), signs.value(
id)),
4903 formatFunction(parseInfo->staticContext->namePool(), signs.value(key)),
4904 formatFunction(parseInfo->staticContext->namePool(), signature)),
4909 (yyval.expr) = (yyvsp[(1) - (1)].expr);
4915 #line 2440 "querytransformparser.ypp" 4923 #line 2444 "querytransformparser.ypp" 4931 #line 2449 "querytransformparser.ypp" 4963 parseInfo->staticContext->error(QtXmlPatterns::tr(
"In an XSL-T pattern, axis %1 cannot be used, " 4964 "only axis %2 or %3 can.")
4972 (yyval.expr) = (yyvsp[(1) - (1)].expr);
4978 #line 2494 "querytransformparser.ypp" 4986 #line 2499 "querytransformparser.ypp" 4989 l.
append((yyvsp[(1) - (3)].expr));
4990 l.
append((yyvsp[(3) - (3)].expr));
4991 (yyval.expressionList) = l;
4997 #line 2506 "querytransformparser.ypp" 4999 (yyvsp[(1) - (3)].expressionList).append((yyvsp[(3) - (3)].expr));
5000 (yyval.expressionList) = (yyvsp[(1) - (3)].expressionList);
5006 #line 2517 "querytransformparser.ypp" 5014 #line 2522 "querytransformparser.ypp" 5018 (yyval.qNameVector) = result;
5024 #line 2528 "querytransformparser.ypp" 5026 (yyval.qNameVector) = (yyvsp[(2) - (2)].qNameVector);
5032 #line 2533 "querytransformparser.ypp" 5040 #line 2537 "querytransformparser.ypp" 5042 (yyval.qName) = (yyvsp[(2) - (2)].qName);
5048 #line 2542 "querytransformparser.ypp" 5051 result.
append((yyvsp[(1) - (1)].qName));
5052 (yyval.qNameVector) = result;
5058 #line 2548 "querytransformparser.ypp" 5060 (yyvsp[(1) - (3)].qNameVector).append((yyvsp[(3) - (3)].qName));
5061 (yyval.qNameVector) = (yyvsp[(1) - (3)].qNameVector);
5067 #line 2554 "querytransformparser.ypp" 5069 (yyval.qName) = (yyvsp[(1) - (1)].qName);
5075 #line 2558 "querytransformparser.ypp" 5079 else if((yyvsp[(1) - (1)].sval) ==
QLatin1String(
"#default"))
5089 parseInfo->staticContext->error(QtXmlPatterns::tr(
"%1 is an invalid template mode name.")
5095 (yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(
StandardNamespaces::empty, (yyvsp[(1) - (1)].sval));
5102 #line 2587 "querytransformparser.ypp" 5111 #line 2591 "querytransformparser.ypp" 5116 (yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();
5122 #line 2598 "querytransformparser.ypp" 5124 Q_ASSERT((yyvsp[(7) - (10)].expr));
5125 Q_ASSERT((yyvsp[(10) - (10)].expr));
5129 if((yyvsp[(5) - (10)].
enums.slot) != -1 && parseInfo->variables.at(parseInfo->variables.count() -2)->
name == (yyvsp[(3) - (10)].qName))
5133 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The name of a variable bound in a for-expression must be different " 5134 "from the positional variable. Hence, the two variables named %1 collide.")
5135 .arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(3) - (10)].qName))),
5141 const Expression::Ptr retBody(
create(
new ForClause((yyvsp[(9) - (10)].
enums.slot), (yyvsp[(8) - (10)].expr), (yyvsp[(10) - (10)].expr), (yyvsp[(5) - (10)].enums.slot)), (yyloc), parseInfo));
5147 (yyval.expr) = retBody;
5149 parseInfo->finalizePushedVariable();
5151 if((yyvsp[(5) - (10)].
enums.slot) != -1)
5152 parseInfo->finalizePushedVariable();
5158 #line 2632 "querytransformparser.ypp" 5166 #line 2635 "querytransformparser.ypp" 5171 (yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();
5177 #line 2642 "querytransformparser.ypp" 5179 (yyval.expr) =
create(
new ForClause((yyvsp[(9) - (10)].
enums.slot), (yyvsp[(7) - (10)].expr), (yyvsp[(10) - (10)].expr), (yyvsp[(5) - (10)].enums.slot)), (yyloc), parseInfo);
5181 parseInfo->finalizePushedVariable();
5183 if((yyvsp[(5) - (10)].
enums.slot) != -1)
5184 parseInfo->finalizePushedVariable();
5190 #line 2656 "querytransformparser.ypp" 5192 (yyval.enums.slot) = -1;
5198 #line 2661 "querytransformparser.ypp" 5202 (yyval.enums.slot) = parseInfo->currentPositionSlot();
5208 #line 2668 "querytransformparser.ypp" 5216 #line 2672 "querytransformparser.ypp" 5220 Q_ASSERT(parseInfo->variables.top()->name == (yyvsp[(4) - (9)].qName));
5221 (yyval.expr) =
create(
new LetClause((yyvsp[(8) - (9)].expr), (yyvsp[(9) - (9)].expr), parseInfo->variables.top()), (yyloc), parseInfo);
5222 parseInfo->finalizePushedVariable();
5228 #line 2681 "querytransformparser.ypp" 5234 #line 2683 "querytransformparser.ypp" 5236 Q_ASSERT(parseInfo->variables.top()->name == (yyvsp[(3) - (8)].qName));
5237 (yyval.expr) =
create(
new LetClause((yyvsp[(7) - (8)].expr), (yyvsp[(8) - (8)].expr), parseInfo->variables.top()), (yyloc), parseInfo);
5238 parseInfo->finalizePushedVariable();
5244 #line 2694 "querytransformparser.ypp" 5246 if((yyvsp[(1) - (3)].orderSpecs).
isEmpty())
5247 (yyval.expr) = (yyvsp[(3) - (3)].expr);
5249 (yyval.expr) =
createReturnOrderBy((yyvsp[(1) - (3)].orderSpecs), (yyvsp[(3) - (3)].expr), parseInfo->orderStability.pop(), (yyloc), parseInfo);
5255 #line 2702 "querytransformparser.ypp" 5257 if((yyvsp[(3) - (5)].orderSpecs).
isEmpty())
5260 (yyval.expr) =
create(
new IfThenClause((yyvsp[(2) - (5)].expr),
createReturnOrderBy((yyvsp[(3) - (5)].orderSpecs), (yyvsp[(5) - (5)].expr), parseInfo->orderStability.pop(), (yyloc), parseInfo),
5262 (yyloc), parseInfo);
5268 #line 2712 "querytransformparser.ypp" 5276 #line 2718 "querytransformparser.ypp" 5278 (yyval.orderSpecs) = (yyvsp[(2) - (2)].orderSpecs);
5284 #line 2723 "querytransformparser.ypp" 5287 list += (yyvsp[(1) - (3)].orderSpecs);
5288 list.
append((yyvsp[(3) - (3)].orderSpec));
5289 (yyval.orderSpecs) = list;
5295 #line 2730 "querytransformparser.ypp" 5298 list.
append((yyvsp[(1) - (1)].orderSpec));
5299 (yyval.orderSpecs) = list;
5305 #line 2737 "querytransformparser.ypp" 5313 #line 2742 "querytransformparser.ypp" 5337 #line 2763 "querytransformparser.ypp" 5345 #line 2768 "querytransformparser.ypp" 5353 #line 2773 "querytransformparser.ypp" 5355 (yyval.enums.orderingEmptySequence) = parseInfo->staticContext->orderingEmptySequence();
5361 #line 2780 "querytransformparser.ypp" 5363 if(parseInfo->isXSLT())
5364 resolveAndCheckCollation<ReportContext::XTDE1035>((yyvsp[(2) - (2)].sval), parseInfo, (yyloc));
5366 resolveAndCheckCollation<ReportContext::XQST0076>((yyvsp[(2) - (2)].sval), parseInfo, (yyloc));
5372 #line 2787 "querytransformparser.ypp" 5381 #line 2793 "querytransformparser.ypp" 5389 #line 2797 "querytransformparser.ypp" 5397 #line 2805 "querytransformparser.ypp" 5406 #line 2809 "querytransformparser.ypp" 5407 {(yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();}
5412 #line 2811 "querytransformparser.ypp" 5417 parseInfo->finalizePushedVariable();
5423 #line 2819 "querytransformparser.ypp" 5432 #line 2823 "querytransformparser.ypp" 5433 {(yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();}
5438 #line 2825 "querytransformparser.ypp" 5442 parseInfo->finalizePushedVariable();
5448 #line 2834 "querytransformparser.ypp" 5457 #line 2838 "querytransformparser.ypp" 5458 {(yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();}
5463 #line 2840 "querytransformparser.ypp" 5468 parseInfo->finalizePushedVariable();
5474 #line 2848 "querytransformparser.ypp" 5483 #line 2852 "querytransformparser.ypp" 5484 {(yyval.enums.slot) = parseInfo->staticContext->currentRangeSlot();}
5489 #line 2854 "querytransformparser.ypp" 5493 parseInfo->finalizePushedVariable();
5499 #line 2863 "querytransformparser.ypp" 5501 (yyval.expr) = (yyvsp[(2) - (2)].expr);
5507 #line 2890 "querytransformparser.ypp" 5509 parseInfo->typeswitchSource.push((yyvsp[(3) - (4)].expr));
5515 #line 2894 "querytransformparser.ypp" 5518 parseInfo->typeswitchSource.pop();
5519 (yyval.expr) = (yyvsp[(6) - (6)].expr);
5525 #line 2901 "querytransformparser.ypp" 5527 if(!(yyvsp[(2) - (3)].qName).isNull())
5529 pushVariable((yyvsp[(2) - (3)].qName), (yyvsp[(3) - (3)].sequenceType), parseInfo->typeswitchSource.top(),
5537 #line 2909 "querytransformparser.ypp" 5540 if(!(yyvsp[(2) - (6)].qName).
isNull())
5541 parseInfo->finalizePushedVariable();
5547 #line 2915 "querytransformparser.ypp" 5550 (yyval.expr) =
create(
new IfThenClause(instanceOf, (yyvsp[(6) - (8)].expr), (yyvsp[(8) - (8)].expr)), (yyloc), parseInfo);
5556 #line 2924 "querytransformparser.ypp" 5564 #line 2929 "querytransformparser.ypp" 5566 (yyval.qName) = (yyvsp[(2) - (3)].qName);
5572 #line 2934 "querytransformparser.ypp" 5574 (yyval.expr) = (yyvsp[(3) - (3)].expr);
5580 #line 2938 "querytransformparser.ypp" 5582 if(!(yyvsp[(3) - (3)].qName).isNull())
5584 pushVariable((yyvsp[(3) - (3)].qName), parseInfo->typeswitchSource.top()->staticType(),
5585 parseInfo->typeswitchSource.top(),
5593 #line 2947 "querytransformparser.ypp" 5595 if(!(yyvsp[(3) - (6)].qName).
isNull())
5596 parseInfo->finalizePushedVariable();
5597 (yyval.expr) = (yyvsp[(6) - (6)].expr);
5603 #line 2954 "querytransformparser.ypp" 5606 (yyval.expr) =
create(
new IfThenClause((yyvsp[(3) - (8)].expr), (yyvsp[(6) - (8)].expr), (yyvsp[(8) - (8)].expr)), (yyloc), parseInfo);
5612 #line 2961 "querytransformparser.ypp" 5615 (yyval.expr) =
create(
new OrExpression((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
5621 #line 2968 "querytransformparser.ypp" 5624 (yyval.expr) =
create(
new AndExpression((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
5630 #line 2980 "querytransformparser.ypp" 5633 (yyval.expr) =
create(
new RangeExpression((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
5639 #line 2987 "querytransformparser.ypp" 5642 (yyval.expr) =
create(
new ArithmeticExpression((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].
enums.mathOperator), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
5648 #line 2992 "querytransformparser.ypp" 5654 #line 2993 "querytransformparser.ypp" 5660 #line 2997 "querytransformparser.ypp" 5663 (yyval.expr) =
create(
new ArithmeticExpression((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].
enums.mathOperator), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
5669 #line 3002 "querytransformparser.ypp" 5675 #line 3003 "querytransformparser.ypp" 5681 #line 3004 "querytransformparser.ypp" 5687 #line 3005 "querytransformparser.ypp" 5693 #line 3009 "querytransformparser.ypp" 5699 parseInfo, (yyloc));
5706 #line 3020 "querytransformparser.ypp" 5709 (yyval.expr) =
create(
new CombineNodes((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].
enums.combinedNodeOp), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
5715 #line 3029 "querytransformparser.ypp" 5723 #line 3033 "querytransformparser.ypp" 5731 #line 3039 "querytransformparser.ypp" 5741 #line 3047 "querytransformparser.ypp" 5744 (yyval.expr) =
create(
new TreatAs((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].sequenceType)), (yyloc), parseInfo);
5750 #line 3054 "querytransformparser.ypp" 5753 (yyval.expr) =
create(
new CastableAs((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].sequenceType)), (yyloc), parseInfo);
5759 #line 3061 "querytransformparser.ypp" 5762 (yyval.expr) =
create(
new CastAs((yyvsp[(1) - (4)].expr), (yyvsp[(4) - (4)].sequenceType)), (yyloc), parseInfo);
5768 #line 3068 "querytransformparser.ypp" 5771 (yyval.expr) =
create(
new UnaryExpression((yyvsp[(1) - (2)].
enums.mathOperator), (yyvsp[(2) - (2)].expr), parseInfo->staticContext), (yyloc), parseInfo);
5777 #line 3074 "querytransformparser.ypp" 5785 #line 3078 "querytransformparser.ypp" 5793 #line 3087 "querytransformparser.ypp" 5796 (yyval.expr) =
create(
new GeneralComparison((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].
enums.valueOperator), (yyvsp[(3) - (3)].expr), parseInfo->isBackwardsCompat.top()), (yyloc), parseInfo);
5802 #line 3092 "querytransformparser.ypp" 5808 #line 3093 "querytransformparser.ypp" 5814 #line 3094 "querytransformparser.ypp" 5820 #line 3095 "querytransformparser.ypp" 5826 #line 3096 "querytransformparser.ypp" 5832 #line 3097 "querytransformparser.ypp" 5838 #line 3100 "querytransformparser.ypp" 5840 (yyval.expr) =
create(
new ValueComparison((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].enums.valueOperator), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
5846 #line 3104 "querytransformparser.ypp" 5852 #line 3105 "querytransformparser.ypp" 5858 #line 3106 "querytransformparser.ypp" 5864 #line 3107 "querytransformparser.ypp" 5870 #line 3108 "querytransformparser.ypp" 5876 #line 3109 "querytransformparser.ypp" 5882 #line 3112 "querytransformparser.ypp" 5884 (yyval.expr) =
create(
new NodeComparison((yyvsp[(1) - (3)].expr), (yyvsp[(2) - (3)].enums.nodeOperator), (yyvsp[(3) - (3)].expr)), (yyloc), parseInfo);
5890 #line 3116 "querytransformparser.ypp" 5896 #line 3117 "querytransformparser.ypp" 5902 #line 3118 "querytransformparser.ypp" 5908 #line 3121 "querytransformparser.ypp" 5911 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The Schema Validation Feature is not supported. " 5912 "Hence, %1-expressions may not be used.")
5923 #line 3134 "querytransformparser.ypp" 5929 #line 3135 "querytransformparser.ypp" 5935 #line 3136 "querytransformparser.ypp" 5941 #line 3139 "querytransformparser.ypp" 5947 if((yyvsp[(2) - (2)].expr))
5948 (yyval.expr) = (yyvsp[(2) - (2)].expr);
5951 parseInfo->staticContext->error(QtXmlPatterns::tr(
"None of the pragma expressions are supported. " 5952 "Therefore, a fallback expression " 5961 #line 3156 "querytransformparser.ypp" 5963 (yyval.expr).
reset();
5969 #line 3160 "querytransformparser.ypp" 5971 (yyval.expr) = (yyvsp[(2) - (3)].expr);
5977 #line 3168 "querytransformparser.ypp" 5985 #line 3176 "querytransformparser.ypp" 5994 #line 3182 "querytransformparser.ypp" 6002 #line 3186 "querytransformparser.ypp" 6011 #line 3196 "querytransformparser.ypp" 6013 (yyval.expr) =
create(
new Path((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyvsp[(2) - (3)].
enums.pathKind)), (yyloc), parseInfo);
6019 #line 3200 "querytransformparser.ypp" 6026 (yyval.expr) =
create(
new OrderBy(rob->stability(), rob->orderSpecs(), path, rob), (yyloc), parseInfo);
6032 #line 3209 "querytransformparser.ypp" 6034 (yyval.expr) =
createSlashSlashPath((yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr), (yyloc), parseInfo);
6040 #line 3214 "querytransformparser.ypp" 6048 #line 3219 "querytransformparser.ypp" 6056 #line 3223 "querytransformparser.ypp" 6060 parseInfo->isBackwardsCompat.push(version != 2);
6062 (yyval.enums.Double) = version;
6068 #line 3231 "querytransformparser.ypp" 6070 if((yyvsp[(2) - (3)].
enums.Double) < 2)
6073 (yyval.expr) = (yyvsp[(3) - (3)].expr);
6079 #line 3238 "querytransformparser.ypp" 6083 (yyval.expr) =
create(
new StaticBaseURIStore((yyvsp[(2) - (5)].sval), (yyvsp[(4) - (5)].expr)), (yyloc), parseInfo);
6089 #line 3245 "querytransformparser.ypp" 6092 parseInfo->resolvers.push(parseInfo->staticContext->namespaceBindings());
6094 resolver->addBinding(
QXmlName(parseInfo->staticContext->namePool()->allocateNamespace((yyvsp[(5) - (6)].sval)),
6096 parseInfo->staticContext->namePool()->allocatePrefix((yyvsp[(3) - (6)].sval))));
6097 parseInfo->staticContext->setNamespaceBindings(resolver);
6103 #line 3256 "querytransformparser.ypp" 6105 parseInfo->staticContext->setNamespaceBindings(parseInfo->resolvers.pop());
6106 (yyval.expr) = (yyvsp[(8) - (9)].expr);
6112 #line 3261 "querytransformparser.ypp" 6114 (yyval.expr) =
create(
new CallTemplate((yyvsp[(2) - (5)].qName), parseInfo->templateWithParams), (yyloc), parseInfo);
6115 parseInfo->templateWithParametersHandled();
6116 parseInfo->templateCalls.append((yyval.expr));
6122 #line 3268 "querytransformparser.ypp" 6124 parseInfo->startParsingWithParam();
6130 #line 3272 "querytransformparser.ypp" 6132 parseInfo->endParsingWithParam();
6138 #line 3277 "querytransformparser.ypp" 6145 #line 3280 "querytransformparser.ypp" 6152 #line 3283 "querytransformparser.ypp" 6159 #line 3287 "querytransformparser.ypp" 6166 #line 3290 "querytransformparser.ypp" 6173 #line 3294 "querytransformparser.ypp" 6177 const bool isParsingWithParam = parseInfo->isParsingWithParam();
6197 type = (yyvsp[(4) - (5)].sequenceType);
6202 if(!(yyvsp[(5) - (5)].expr) && ((type && (yyvsp[(4) - (5)].sequenceType)->cardinality().allowsEmpty())
6203 || isParsingWithParam))
6206 expr = (yyvsp[(5) - (5)].expr);
6210 if(!isParsingWithParam && !type)
6213 if((yyvsp[(1) - (5)].
enums.Bool))
6218 (isParsingWithParam && parseInfo->templateWithParams.contains((yyvsp[(3) - (5)].qName))))
6220 parseInfo->staticContext->error(QtXmlPatterns::tr(
"Each name of a template parameter must be unique; %1 is duplicated.")
6221 .arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(3) - (5)].qName))),
6226 if(isParsingWithParam)
6227 parseInfo->templateWithParams[(yyvsp[(3) - (5)].qName)] =
WithParam::Ptr(
new WithParam((yyvsp[(3) - (5)].qName), (yyvsp[(4) - (5)].sequenceType), expr));
6232 parseInfo->templateParameters.append(parseInfo->variables.top());
6241 #line 3359 "querytransformparser.ypp" 6243 (yyval.enums.Bool) =
false;
6249 #line 3363 "querytransformparser.ypp" 6251 (yyval.enums.Bool) =
true;
6257 #line 3368 "querytransformparser.ypp" 6265 #line 3372 "querytransformparser.ypp" 6267 (yyval.expr) = (yyvsp[(2) - (2)].expr);
6273 #line 3381 "querytransformparser.ypp" 6281 #line 3385 "querytransformparser.ypp" 6289 #line 3389 "querytransformparser.ypp" 6297 #line 3395 "querytransformparser.ypp" 6305 #line 3403 "querytransformparser.ypp" 6314 #line 3408 "querytransformparser.ypp" 6316 if((yyvsp[(3) - (3)].itemType))
6319 (yyval.expr) =
create(
new AxisStep((yyvsp[(1) - (3)].
enums.axis), (yyvsp[(3) - (3)].itemType)), (yyloc), parseInfo);
6337 parseInfo->restoreNodeTestSource();
6343 #line 3438 "querytransformparser.ypp" 6349 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The %1-axis is unsupported in XQuery")
6354 (yyval.enums.axis) = (yyvsp[(1) - (2)].enums.axis);
6356 switch((yyvsp[(1) - (2)].
enums.axis))
6364 parseInfo, (yyloc));
6374 parseInfo, (yyloc));
6382 parseInfo, (yyloc));
6390 #line 3481 "querytransformparser.ypp" 6396 #line 3482 "querytransformparser.ypp" 6402 #line 3483 "querytransformparser.ypp" 6408 #line 3484 "querytransformparser.ypp" 6414 #line 3485 "querytransformparser.ypp" 6420 #line 3486 "querytransformparser.ypp" 6426 #line 3487 "querytransformparser.ypp" 6432 #line 3488 "querytransformparser.ypp" 6438 #line 3489 "querytransformparser.ypp" 6444 #line 3490 "querytransformparser.ypp" 6450 #line 3491 "querytransformparser.ypp" 6456 #line 3492 "querytransformparser.ypp" 6462 #line 3495 "querytransformparser.ypp" 6470 #line 3499 "querytransformparser.ypp" 6475 parseInfo->restoreNodeTestSource();
6481 #line 3506 "querytransformparser.ypp" 6485 if(parseInfo->isParsingPattern && *(yyvsp[(1) - (1)].itemType) == *
BuiltinTypes::node)
6488 nodeTest = (yyvsp[(1) - (1)].itemType);
6496 #line 3517 "querytransformparser.ypp" 6504 #line 3524 "querytransformparser.ypp" 6512 #line 3530 "querytransformparser.ypp" 6520 #line 3535 "querytransformparser.ypp" 6522 (yyval.itemType) =
QNameTest::create(parseInfo->nodeTestSource, (yyvsp[(1) - (1)].qName));
6528 #line 3541 "querytransformparser.ypp" 6530 (yyval.itemType) = parseInfo->nodeTestSource;
6536 #line 3545 "querytransformparser.ypp" 6538 const NamePool::Ptr np(parseInfo->staticContext->namePool());
6549 #line 3554 "querytransformparser.ypp" 6552 const QXmlName::LocalNameCode c = parseInfo->staticContext->namePool()->allocateLocalName((yyvsp[(1) - (1)].sval));
6559 #line 3562 "querytransformparser.ypp" 6568 #line 3575 "querytransformparser.ypp" 6571 parseInfo->templateWithParams,
6574 (yylsp[(1) - (5)]), parseInfo);
6575 parseInfo->templateWithParametersHandled();
6581 #line 3586 "querytransformparser.ypp" 6589 #line 3591 "querytransformparser.ypp" 6592 (yyval.expr) = createNumericLiteral<Double>((yyvsp[(1) - (1)].sval), (yyloc), parseInfo);
6598 #line 3596 "querytransformparser.ypp" 6601 (yyval.expr) = createNumericLiteral<Numeric>((yyvsp[(1) - (1)].sval), (yyloc), parseInfo);
6607 #line 3602 "querytransformparser.ypp" 6610 (yyval.expr) =
resolveVariable((yyvsp[(2) - (2)].qName), (yyloc), parseInfo,
false);
6616 #line 3608 "querytransformparser.ypp" 6619 (yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(
QString(), (yyvsp[(1) - (1)].sval));
6625 #line 3613 "querytransformparser.ypp" 6627 (yyval.qName) = (yyvsp[(1) - (1)].qName);
6633 #line 3618 "querytransformparser.ypp" 6636 (yyval.expr) = (yyvsp[(2) - (3)].expr);
6642 #line 3623 "querytransformparser.ypp" 6651 #line 3629 "querytransformparser.ypp" 6659 #line 3634 "querytransformparser.ypp" 6661 (yyval.expr) = (yyvsp[(2) - (2)].expr);
6667 #line 3639 "querytransformparser.ypp" 6675 func(parseInfo->staticContext->
6676 functionSignatures()->createFunctionCall((yyvsp[(1) - (4)].qName), (yyvsp[(3) - (4)].expressionList), parseInfo->staticContext, &ryy));
6679 (yyval.expr) =
create(func, (yyloc), parseInfo);
6682 parseInfo->staticContext->error(QtXmlPatterns::tr(
"No function with name %1 is available.")
6683 .arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(1) - (4)].qName))),
6689 (yyval.expr) =
create(
new UserFunctionCallsite((yyvsp[(1) - (4)].qName), (yyvsp[(3) - (4)].expressionList).count()), (yyloc), parseInfo);
6691 (yyval.expr)->setOperands((yyvsp[(3) - (4)].expressionList));
6692 parseInfo->userFunctionCallsites.append((yyval.expr));
6699 #line 3668 "querytransformparser.ypp" 6707 #line 3673 "querytransformparser.ypp" 6710 list.
append((yyvsp[(1) - (1)].expr));
6711 (yyval.expressionList) = list;
6717 #line 3682 "querytransformparser.ypp" 6725 #line 3726 "querytransformparser.ypp" 6727 (yyval.enums.tokenizerPosition) = parseInfo->tokenizer->commenceScanOnly();
6728 parseInfo->scanOnlyStack.push(
true);
6734 #line 3735 "querytransformparser.ypp" 6736 ++parseInfo->elementConstructorDepth;
6739 parseInfo->resolvers.push(parseInfo->staticContext->namespaceBindings());
6743 const NamePool::Ptr namePool(parseInfo->staticContext->namePool());
6744 const int len = (yyvsp[(4) - (4)].attributeHolders).size();
6748 bool hasDefaultDeclaration =
false;
6751 for(
int i = 0; i < len; ++i)
6770 hasDefaultDeclaration =
true;
6784 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The namespace URI cannot be the empty string when binding to a prefix, %1.")
6791 parseInfo->staticContext->error(QtXmlPatterns::tr(
"%1 is an invalid namespace URI.").arg(
formatURI(strNamespace)),
6797 parseInfo->staticContext->error(QtXmlPatterns::tr(
"It is not possible to bind to the prefix %1")
6804 parseInfo->staticContext->error(QtXmlPatterns::tr(
"Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).")
6812 parseInfo->staticContext->error(QtXmlPatterns::tr(
"Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).")
6827 parseInfo->staticContext->error(QtXmlPatterns::tr(
"Two namespace declaration attributes have the same name: %1.")
6849 resolver->addBinding(nb);
6855 if(parseInfo->elementConstructorDepth == 1 && !hasDefaultDeclaration)
6863 parseInfo->staticContext->setNamespaceBindings(resolver);
6864 (yyval.expressionList) = constructors;
6872 ReportContext::XPST0081>((yyvsp[(2) - (4)].sval), parseInfo->staticContext, resolver, &ryy);
6873 parseInfo->tagStack.push(ele);
6876 parseInfo->tokenizer->resumeTokenizationFrom((yyvsp[(3) - (4)].
enums.tokenizerPosition));
6882 #line 3881 "querytransformparser.ypp" 6888 const NamePool::Ptr namePool(parseInfo->staticContext->namePool());
6889 const int len = (yyvsp[(7) - (8)].attributeHolders).size();
6891 declaredAttributes.
reserve(len);
6895 for(
int i = 0; i < len; ++i)
6907 const Expression::ID id = (yyvsp[(7) - (8)].attributeHolders).
at(i).second->id();
6916 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The namespace URI must be a constant and cannot " 6917 "use enclosed expressions."),
6927 ReportContext::XPST0081>((yyvsp[(7) - (8)].attributeHolders).
at(i).first, parseInfo->staticContext,
6928 parseInfo->staticContext->namespaceBindings(),
6930 if(declaredAttributes.
contains(att))
6932 parseInfo->staticContext->error(QtXmlPatterns::tr(
"An attribute with name %1 has already appeared on this element.")
6933 .arg(
formatKeyword(parseInfo->staticContext->namePool(), att)),
6938 declaredAttributes.
insert(att);
6949 ops.
append((yyvsp[(7) - (8)].attributeHolders).
at(i).second);
6950 ctor->setOperands(ops);
6959 contentOp = (yyvsp[(8) - (8)].expr);
6962 attributes.
append((yyvsp[(8) - (8)].expr));
6972 parseInfo->staticContext->setNamespaceBindings(parseInfo->resolvers.pop());
6973 parseInfo->tagStack.pop();
6975 --parseInfo->elementConstructorDepth;
6981 #line 3977 "querytransformparser.ypp" 6989 #line 3981 "querytransformparser.ypp" 6991 if(!(yyvsp[(4) - (5)].qName).isLexicallyEqual(parseInfo->tagStack.top()))
6993 parseInfo->staticContext->error(QtXmlPatterns::tr(
"A direct element constructor is not " 6994 "well-formed. %1 is ended with %2.")
6995 .arg(
formatKeyword(parseInfo->staticContext->namePool()->toLexical(parseInfo->tagStack.top())),
6996 formatKeyword(parseInfo->staticContext->namePool()->toLexical((yyvsp[(4) - (5)].qName)))),
7000 if((yyvsp[(2) - (5)].expressionList).isEmpty())
7002 else if((yyvsp[(2) - (5)].expressionList).size() == 1)
7003 (yyval.expr) = (yyvsp[(2) - (5)].expressionList).first();
7011 #line 4000 "querytransformparser.ypp" 7019 #line 4004 "querytransformparser.ypp" 7021 (yyvsp[(1) - (2)].attributeHolders).append((yyvsp[(2) - (2)].attributeHolder));
7022 (yyval.attributeHolders) = (yyvsp[(1) - (2)].attributeHolders);
7028 #line 4010 "querytransformparser.ypp" 7030 (yyval.attributeHolder) =
qMakePair((yyvsp[(1) - (3)].sval), (yyvsp[(3) - (3)].expr));
7036 #line 4015 "querytransformparser.ypp" 7044 #line 4020 "querytransformparser.ypp" 7052 #line 4025 "querytransformparser.ypp" 7060 #line 4029 "querytransformparser.ypp" 7064 if(parseInfo->isBackwardsCompat.top())
7067 (yyvsp[(2) - (2)].expressionList).prepend(
createSimpleContent(content, (yyloc), parseInfo));
7068 (yyval.expressionList) = (yyvsp[(2) - (2)].expressionList);
7074 #line 4039 "querytransformparser.ypp" 7077 (yyval.expressionList) = (yyvsp[(2) - (2)].expressionList);
7083 #line 4045 "querytransformparser.ypp" 7086 parseInfo->isPreviousEnclosedExpr =
false;
7092 #line 4050 "querytransformparser.ypp" 7094 (yyvsp[(1) - (2)].expressionList).append((yyvsp[(2) - (2)].expr));
7095 (yyval.expressionList) = (yyvsp[(1) - (2)].expressionList);
7096 parseInfo->isPreviousEnclosedExpr =
false;
7102 #line 4056 "querytransformparser.ypp" 7107 (yyval.expressionList) = (yyvsp[(1) - (2)].expressionList);
7112 (yyval.expressionList) = (yyvsp[(1) - (2)].expressionList);
7113 parseInfo->isPreviousEnclosedExpr =
false;
7120 #line 4070 "querytransformparser.ypp" 7123 (yyval.expressionList) = (yyvsp[(1) - (2)].expressionList);
7124 parseInfo->isPreviousEnclosedExpr =
false;
7130 #line 4076 "querytransformparser.ypp" 7136 if(parseInfo->isPreviousEnclosedExpr &&
7141 parseInfo->isPreviousEnclosedExpr =
true;
7143 (yyvsp[(1) - (2)].expressionList).append(
createCopyOf((yyvsp[(2) - (2)].expr), parseInfo, (yyloc)));
7144 (yyval.expressionList) = (yyvsp[(1) - (2)].expressionList);
7150 #line 4093 "querytransformparser.ypp" 7158 #line 4098 "querytransformparser.ypp" 7163 ReportContext::XPST0003>((yyvsp[(2) - (3)].sval),
7164 parseInfo->staticContext, &ryy);
7174 #line 4119 "querytransformparser.ypp" 7184 #line 4126 "querytransformparser.ypp" 7187 ++parseInfo->elementConstructorDepth;
7193 #line 4131 "querytransformparser.ypp" 7200 if((yyvsp[(5) - (5)].expr))
7201 effExpr =
createCopyOf((yyvsp[(5) - (5)].expr), parseInfo, (yyloc));
7218 exprList.
append(effExpr);
7223 --parseInfo->elementConstructorDepth;
7224 (yyval.expr) =
create(
new ElementConstructor((yyvsp[(3) - (5)].expr), effExpr, parseInfo->isXSLT()), (yyloc), parseInfo);
7230 #line 4165 "querytransformparser.ypp" 7232 (yyval.enums.Bool) =
false;
7238 #line 4169 "querytransformparser.ypp" 7240 (yyval.enums.Bool) =
true;
7246 #line 4177 "querytransformparser.ypp" 7252 if((yyvsp[(4) - (4)].expr))
7261 #line 4189 "querytransformparser.ypp" 7269 #line 4194 "querytransformparser.ypp" 7279 #line 4201 "querytransformparser.ypp" 7283 if((yyvsp[(3) - (3)].expr))
7294 #line 4212 "querytransformparser.ypp" 7302 #line 4216 "querytransformparser.ypp" 7304 parseInfo->restoreNodeTestSource();
7310 #line 4219 "querytransformparser.ypp" 7318 #line 4225 "querytransformparser.ypp" 7326 #line 4231 "querytransformparser.ypp" 7329 (yyval.expr) = (yyvsp[(1) - (1)].expr);
7333 parseInfo->staticContext->namespaceBindings()),
7334 (yyloc), parseInfo);
7341 #line 4246 "querytransformparser.ypp" 7349 #line 4250 "querytransformparser.ypp" 7357 #line 4259 "querytransformparser.ypp" 7365 #line 4264 "querytransformparser.ypp" 7373 #line 4268 "querytransformparser.ypp" 7381 #line 4273 "querytransformparser.ypp" 7389 #line 4277 "querytransformparser.ypp" 7391 (yyval.sequenceType) = (yyvsp[(2) - (2)].sequenceType);
7397 #line 4282 "querytransformparser.ypp" 7399 (yyval.sequenceType) = makeGenericSequenceType((yyvsp[(1) - (2)].itemType), (yyvsp[(2) - (2)].cardinality));
7405 #line 4287 "querytransformparser.ypp" 7413 #line 4291 "querytransformparser.ypp" 7419 #line 4292 "querytransformparser.ypp" 7425 #line 4293 "querytransformparser.ypp" 7431 #line 4294 "querytransformparser.ypp" 7437 #line 4300 "querytransformparser.ypp" 7445 #line 4305 "querytransformparser.ypp" 7447 const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(1) - (1)].qName)));
7451 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The name %1 does not refer to any schema type.")
7459 if(t->isComplexType())
7461 parseInfo->staticContext->error(QtXmlPatterns::tr(
"%1 is an complex type. Casting to complex " 7462 "types is not possible. However, casting " 7463 "to atomic types such as %2 works.")
7464 .arg(
formatType(parseInfo->staticContext->namePool(), t))
7470 parseInfo->staticContext->error(QtXmlPatterns::tr(
"%1 is not an atomic type. Casting " 7471 "is only possible to atomic types.")
7472 .arg(
formatType(parseInfo->staticContext->namePool(), t)),
7481 #line 4349 "querytransformparser.ypp" 7489 #line 4354 "querytransformparser.ypp" 7497 #line 4359 "querytransformparser.ypp" 7506 #line 4368 "querytransformparser.ypp" 7514 #line 4373 "querytransformparser.ypp" 7522 #line 4378 "querytransformparser.ypp" 7530 #line 4383 "querytransformparser.ypp" 7538 #line 4388 "querytransformparser.ypp" 7546 parseInfo->staticContext->error(QtXmlPatterns::tr(
"%1 is not a valid name for a " 7547 "processing-instruction.")
7557 #line 4407 "querytransformparser.ypp" 7565 #line 4412 "querytransformparser.ypp" 7573 #line 4417 "querytransformparser.ypp" 7581 #line 4421 "querytransformparser.ypp" 7583 const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(5) - (6)].qName)));
7589 parseInfo->staticContext->error(
unknownType().arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(5) - (6)].qName))),
7597 #line 4433 "querytransformparser.ypp" 7599 const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(5) - (6)].qName)));
7605 parseInfo->staticContext->error(
unknownType().arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(5) - (6)].qName))),
7613 #line 4446 "querytransformparser.ypp" 7615 parseInfo->staticContext->error(QtXmlPatterns::tr(
"%1 is not in the in-scope attribute " 7616 "declarations. Note that the schema import " 7617 "feature is not supported.")
7618 .arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(3) - (4)].qName))),
7620 (yyval.itemType).
reset();
7626 #line 4456 "querytransformparser.ypp" 7634 #line 4461 "querytransformparser.ypp" 7642 #line 4466 "querytransformparser.ypp" 7650 #line 4471 "querytransformparser.ypp" 7652 const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(5) - (7)].qName)));
7659 .arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(5) - (7)].qName))),
7667 #line 4485 "querytransformparser.ypp" 7669 const SchemaType::Ptr t(parseInfo->staticContext->schemaDefinitions()->createSchemaType((yyvsp[(5) - (7)].qName)));
7675 parseInfo->staticContext->error(QtXmlPatterns::tr(
"%1 is an unknown schema type.")
7676 .arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(5) - (7)].qName))),
7684 #line 4502 "querytransformparser.ypp" 7686 parseInfo->staticContext->error(QtXmlPatterns::tr(
"%1 is not in the in-scope attribute " 7687 "declarations. Note that the schema import " 7688 "feature is not supported.")
7689 .arg(
formatKeyword(parseInfo->staticContext->namePool(), (yyvsp[(3) - (4)].qName))),
7691 (yyval.itemType).
reset();
7697 #line 4514 "querytransformparser.ypp" 7699 (yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(
StandardNamespaces::empty, (yyvsp[(1) - (1)].sval));
7705 #line 4526 "querytransformparser.ypp" 7708 (yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(parseInfo->staticContext->namespaceBindings()->lookupNamespaceURI(
StandardPrefixes::empty), (yyvsp[(1) - (1)].sval));
7710 (yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(
StandardNamespaces::empty, (yyvsp[(1) - (1)].sval));
7716 #line 4540 "querytransformparser.ypp" 7718 (yyval.qName) = parseInfo->staticContext->namePool()->allocateQName(parseInfo->staticContext->defaultFunctionNamespace(), (yyvsp[(1) - (1)].sval));
7724 #line 4544 "querytransformparser.ypp" 7732 #line 4552 "querytransformparser.ypp" 7734 parseInfo->staticContext->error(QtXmlPatterns::tr(
"The name of an extension expression must be in " 7742 #line 4562 "querytransformparser.ypp" 7750 #line 4566 "querytransformparser.ypp" 7758 #line 4571 "querytransformparser.ypp" 7767 parseInfo->staticContext->namespaceBindings(), &ryy);
7774 #line 4583 "querytransformparser.ypp" 7776 (yyval.qName) = parseInfo->staticContext->namePool()->fromClarkName((yyvsp[(1) - (1)].sval));
7782 #line 7763 "qquerytransformparser.cpp" 7800 yystate = yypgoto[yyn -
YYNTOKENS] + *yyssp;
7801 if (0 <= yystate && yystate <=
YYLAST && yycheck[yystate] == *yyssp)
7802 yystate = yytable[yystate];
7817 #if ! YYERROR_VERBOSE 7818 yyerror (&yylloc, parseInfo,
YY_(
"syntax error"));
7827 if (yymsg != yymsgbuf)
7831 yymsg_alloc = yyalloc;
7835 yymsg_alloc =
sizeof yymsgbuf;
7839 if (0 < yysize && yysize <= yymsg_alloc)
7842 yyerror (&yylloc, parseInfo, yymsg);
7846 yyerror (&yylloc, parseInfo,
YY_(
"syntax error"));
7848 goto yyexhaustedlab;
7854 yyerror_range[0] =
yylloc;
7856 if (yyerrstatus == 3)
7861 if (yychar <=
YYEOF)
7864 if (yychar ==
YYEOF)
7870 yytoken, &yylval, &yylloc, parseInfo);
7891 yyerror_range[0] = yylsp[1-yylen];
7909 yyn = yypact[yystate];
7925 yyerror_range[0] = *yylsp;
7927 yystos[yystate], yyvsp, yylsp, parseInfo);
7935 yyerror_range[1] =
yylloc;
7967 yyerror (&yylloc, parseInfo,
YY_(
"memory exhausted"));
7975 yytoken, &yylval, &yylloc, parseInfo);
7980 while (yyssp != yyss)
7983 yystos[*yyssp], yyvsp, yylsp, parseInfo);
7991 if (yymsg != yymsgbuf)
7995 return YYID (yyresult);
8000 #line 4587 "querytransformparser.ypp"
Constructs a text node. This covers both computed and directly constructed text nodes.
VariableSlotID allocateGlobalVariableSlot()
void setAxis(const QXmlNodeModelIndex::Axis newAxis)
Implements XPath 2.0's quantification expressions some and every.
unsigned char yytype_uint8
static Expression::Ptr createDirAttributeValue(const Expression::List &content, const ParserContext *const parseInfo, const YYLTYPE &sourceLocator)
QExplicitlySharedDataPointer< VariableDeclaration > Ptr
static Cardinality zeroOrMore()
static const yytype_int16 yycheck[]
static Expression::Ptr createConcatFN(const ParserContext *const parseInfo, const Expression::List &args, const YYLTYPE &sourceLocator)
Creates a call to fn:concat() with args as the arguments.
VariableSlotID allocateCacheSlot()
ItemType::Ptr nodeTest() const
QString Q_AUTOTEST_EXPORT escape(const QString &input)
Similar to Qt::escape(), but also escapes apostrophes and quotes, such that the result is suitable as...
#define QT_END_NAMESPACE
This macro expands to.
virtual QString description() const
NamespaceCode LocalNameCode
Base class for all AST nodes in an XPath/XQuery/XSL-T expression.
Constructs an element node. This covers both computed and directly constructed element nodes...
Represents a declared variable. Only used at the compilation stage.
static Expression::Ptr typeCheckTemplateBody(const Expression::Ptr &body, const SequenceType::Ptr &reqType, const ParserContext *const parseInfo)
static AtomicValue::Ptr fromLexical(const QString &strNumeric)
A compile time only AST node that changes the static base URI, used when xml:base attributes appears...
const QChar at(int i) const
Returns the character at the given index position in the string.
The QRegExp class provides pattern matching using regular expressions.
QString toString(FormattingOptions options=None) const
Returns the human-displayable string representation of the URL.
QString formatKeyword(const QString &keyword)
static const SequenceType::Ptr ZeroOrMoreItems
static YYSIZE_T yystrlen(const char *yystr)
#define it(className, varName)
int count(const T &t) const
Returns the number of occurrences of value in the vector.
QHash< QXmlName, Template::Ptr > namedTemplates
Together with OrderBy, it implements XQuery 1.0's order by expression.
Creates a DynamicContext which provides the focus item for the function fn:current().
Implements XPath 2.0's castable as expression.
QString formatType(const NamePool::Ptr &np, const T &type)
Formats ItemType and SequenceType.
#define at(className, varName)
static Expression::Ptr findAxisStep(const Expression::Ptr &expr, const bool throughStructures=true)
A special value that when passed as the namespace part to NamespaceResolver::addBinding(), undeclares the prefix.
Implements XSL-T's construction of simple content, which is different from XQuery's approach...
static Expression::Ptr create(Expression *const expr, const YYLTYPE &sourceLocator, const ParserContext *const parseInfo)
static const yytype_uint16 yydefact[]
Q_CORE_EXPORT QTextStream & reset(QTextStream &s)
int length() const
Returns the number of characters in this string.
Implements the path expression, containing two steps, such as in html/body.
QVector< AttributeHolder > AttributeHolderVector
const_iterator constEnd() const
Returns a const STL-style iterator pointing to the imaginary item after the last item in the vector...
A step in a path expression that with an axis and a node test evaluates to a sequence of nodes from t...
Constructs an element node. This covers both computed and directly constructed element nodes...
The QExplicitlySharedDataPointer class represents a pointer to an explicitly shared object...
const_iterator constBegin() const
Returns a const STL-style iterator pointing to the first item in the list.
Implements XPath 2.0's cast as expression.
Constructs a namespace on an element, and naturally only appears as a child of ElementConstructor.
const ParserContext *const m_parseInfo
Implements XPath 2.0's for expression.
QMultiHash< QXmlName, Expression::Ptr > unresolvedVariableReferences
static QXmlName::NamespaceCode namespaceForPrefix(const QXmlName::PrefixCode prefix, const StaticContext::Ptr &context, const SourceLocationReflection *const r)
static void loadPattern(const Expression::Ptr &matchPattern, TemplatePattern::Vector &ourPatterns, const TemplatePattern::ID id, const PatternPriority priority, const Template::Ptr &temp)
Item toItem(const QExplicitlySharedDataPointer< T > atomicValue)
static void changeToTopAxis(const Expression::Ptr &op)
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
int yyparse(ParserContext *const parseInfo)
int count(const T &t) const
Returns the number of occurrences of value in the list.
QExplicitlySharedDataPointer< AtomicType > Ptr
Contains macros for debugging.
static QXmlName expandQName(const QString &lexicalQName, const TReportContext &context, const NamespaceResolver::Ptr &nsResolver, const SourceLocationReflection *const r, const bool asForAttribute=false)
The QUrl class provides a convenient interface for working with URLs.
The QString class provides a Unicode character string.
static bool isReservedNamespace(const QXmlName::NamespaceCode ns)
The QHash class is a template class that provides a hash-table-based dictionary.
static Expression::Ptr createSimpleContent(const Expression::Ptr &source, const YYLTYPE &sourceLocator, const ParserContext *const parseInfo)
Ensures the lexical space of the string value of the Item returned from its child Expression is an NC...
Constructs a namespace on an element, and naturally only appears as a child of ElementConstructor.
static bool isVariableReference(const Expression::ID id)
bool isRelative() const
Returns true if the URL is relative; otherwise returns false.
Implements the node comparison operators >>, <<, and is.
Constructs an element node. This covers both computed and directly constructed element nodes...
static ReturnOrderBy * locateReturnClause(const Expression::Ptr &expr)
When set, the function conversion rules are applied.
static Expression::Ptr createPatternPath(const Expression::Ptr &operand1, const Expression::Ptr &operand2, const QXmlNodeModelIndex::Axis axis, const YYLTYPE &sl, const ParserContext *const parseInfo)
Writes operand1 and operand2, two operands in an XSL-T pattern, into an equivalent XPath expression...
static AtomicString::Ptr fromValue(const QString &value)
QString prefix(const QXmlNamePool &query) const
Returns the prefix.
static const yytype_int16 yypgoto[]
Does node copying in a parameterized way, in order to deal with namespace preservation/inheritance.
Constructs simple content as specified for attributes in direct element constructors in XQuery...
static SequenceType::Ptr quantificationType(const SequenceType::Ptr &type)
bool isEmpty() const
Returns true if the list contains no items; otherwise returns false.
static ItemType::Ptr create(const ItemType::Ptr &primaryType, const QXmlName::NamespaceCode namespaceURI)
static void checkVariableCircularity(const VariableDeclaration::Ptr &var, const Expression::Ptr &checkee, const VariableDeclaration::Type type, FunctionSignature::List &signList, const ParserContext *const parseInfo)
Checks for variable initialization circularity.
Implements XPath 2.0's to expression.
static QString tokenToString(const Token &token)
Performs the sorting by being a parent to ForClause.
static const SequenceType::Ptr ExactlyOneInteger
VariableSlotID slot() const
Contains a set of bindings, plus a pointer to another resolver which is delegates requests to...
static const yytype_int16 yydefgoto[]
const_iterator constBegin() const
Returns a const STL-style iterator pointing to the first item in the vector.
friend class const_iterator
Implements XPath 2.0's conditional expression if([expr]) then [expr] else [expr]. ...
Implements XPath 2.0's general comparions, such as the = operator.
void append(const T &t)
Inserts value at the end of the list.
T * data() const
Returns a pointer to the shared data object.
Implements XPath 2.0 unary expression, (-|+)ValueExpr.
static const yytype_uint8 yyr2[]
#define QT_BEGIN_NAMESPACE
This macro expands to.
const TCastTarget * as() const
void error(const QString &message, const ReportContext::ErrorCode errorCode, const QSourceLocation &sourceLocation)
static QString formatFunction(const NamePool::Ptr &np, const FunctionSignature::Ptr &func)
Formats FunctionSignature.
static void registerNamedTemplate(const QXmlName &name, const Expression::Ptr &body, ParserContext *const parseInfo, const YYLTYPE &sourceLocator, const Template::Ptr &temp)
static bool isEmpty(const char *str)
Implements XPath 2.0's operators for combining node sequences: union, intersect and except...
QExplicitlySharedDataPointer< Template > Ptr
VariableDeclaration::Stack variables
static QNameValue::Ptr fromValue(const NamePool::Ptr &np, const QXmlName name)
static const yytype_int16 yypact[]
static QString unknownType()
Centralizes a translation string for the purpose of increasing consistency.
static Cardinality oneOrMore()
Creates an xs:QName value from a lexical QName using statically known namespace bindings.
bool contains(const T &value) const
static const ItemType::Ptr xsltNodeTest
static QString axisName(const QXmlNodeModelIndex::Axis axis)
Prints the EBNF name corresponding to axis.
static const ItemType::Ptr item
Implements arithmetics, such as multiplication and subtraction.
bool preserveNamespacesMode
static const SequenceType::Ptr ExactlyOneDocumentNode
const T & at(int i) const
Returns the item at index position i in the list.
const QLatin1String XML("http://www.w3.org/XML/1998/namespace")
static const yytype_int16 yytable[]
static char * yystpcpy(char *yydest, const char *yysrc)
Represents the signature of an XPath function.
The namespace for the internal API of QtXmlPatterns.
void append(const T &t)
Inserts value at the end of the vector.
Implements the context item, the dot: ..
void setNodeTest(const ItemType::Ptr &nev)
const_iterator insert(const T &value)
static Expression::Ptr createReturnOrderBy(const OrderSpecTransfer::List &orderSpecTransfer, const Expression::Ptr &returnExpr, const OrderBy::Stability stability, const YYLTYPE &sourceLocator, const ParserContext *const parseInfo)
static const yytype_uint16 yyr1[]
The QSourceLocation class identifies a location in a resource by URI, line, and column.
static Expression::Ptr createCopyOf(const Expression::Ptr &operand, const ParserContext *const parseInfo, const YYLTYPE &sl)
static void checkCallsiteCircularity(CallTargetDescription::List &signList, const Expression::Ptr expr)
Implements the value instance of empty sequence: ().
virtual Expression::List operands() const =0
static bool contains(const VariableDeclaration::List &list, const QXmlName &lookup)
Returns true if list contains lookup.
Carries meta data for a function argument as found in XPath's builtin functions and user declared fun...
static const yytype_uint8 yytranslate[]
virtual Token nextToken(YYLTYPE *const sourceLocator)=0
static QString formatData(const QString &data)
Contains data used when parsing and tokenizing.
virtual QSourceLocation sourceLocation() const
QXmlNodeModelIndex::Axis axis() const
static Expression::Ptr createIdPatternPath(const Expression::Ptr &operand1, const Expression::Ptr &operand2, const QXmlNodeModelIndex::Axis axis, const YYLTYPE &sl, const ParserContext *const parseInfo)
Performs the same role as createPatternPath(), but is tailored for fn:key() and fn:id().
void push(const T &t)
Adds element t to the top of the stack.
static void allowedIn(const QueryLanguages allowedLanguages, const ParserContext *const parseInfo, const YYLTYPE &sourceLocator, const bool isInternal=false)
Flags invalid expressions and declarations in the currently parsed language.
A reference to an argument declared in a UserFunction.
static const AnyNodeType::Ptr node
static Expression::Ptr create(const Expression::Ptr &sourceExpression, const Expression::Ptr &predicateExpression, const StaticContext::Ptr &context, const QSourceLocation &location)
A function created with XQuery's declare function declaration.
Q_CORE_EXPORT bool qIsNaN(double d)
Returns true if the double {d} is not a number (NaN).
unsigned short int yytype_uint16
const T & at(int i) const
Returns the item at index position i in the vector.
const QXmlQuery::QueryLanguage languageAccent
static const ItemType::Ptr document
A compile time only AST node that changes the backwareds compatibility mode. Used for XSL-T 2...
Houses an AtomicValue, making it available as an Expression.
T & first()
Returns a reference to the first item in the list.
QExplicitlySharedDataPointer< Expression > Ptr
A smart pointer wrapping mutable Expression instances.
QString mid(int position, int n=-1) const Q_REQUIRED_RESULT
Returns a string that contains n characters of this string, starting at the specified position index...
static const char *const yytname[]
QString pattern() const
Returns the pattern string of the regular expression.
static const EmptySequenceType::Ptr Empty
static Expression::Ptr createRootExpression(const ParserContext *const parseInfo, const YYLTYPE &sl)
Creates an Expression that corresponds to /. This is literally fn:root(self::node()) treat as documen...
static void variableUnavailable(const QXmlName &variableName, const ParserContext *const parseInfo, const YYLTYPE &location)
static Cardinality zeroOrOne()
The QXmlName class represents the name of an XML node, in an efficient, namespace-aware way...
static ItemType::Ptr create(const ItemType::Ptr &primaryType, const QXmlName qName)
A reference to a variable declared with declare variable or let.
Represents a let-clause, but is only used at compile time.
Contains functions used for formatting arguments, such as keywords and paths, in translated strings...
Constructs a text node. This covers both computed and directly constructed text nodes.
static int XPathlex(YYSTYPE *lexVal, YYLTYPE *sourceLocator, const ParserContext *const parseInfo)
Represents an item in the XPath 2.0 Data Model.
static const AtomicType::Ptr xsQName
static const yytype_uint16 yystos[]
Contains data related to a template.
Base class for all numeric values.
A reference to a variable declared with for or a quantification expression, but not for instance a le...
static bool wxsTypeMatches(const SchemaType::Ptr &type, const SchemaType::Ptr &otherType, QSet< SchemaType::Ptr > &visitedTypes, SchemaType::Ptr &conflictingType)
Evaluates to the same result as its operand, but ensures the operand is evaluated once even if this E...
static Expression::Ptr pushVariable(const QXmlName name, const SequenceType::Ptr &seqType, const Expression::Ptr &expr, const VariableDeclaration::Type type, const YYLTYPE &sourceLocator, ParserContext *const parseInfo, const bool checkSource=true)
static const ItemType::Ptr attribute
static bool isValid(const QString &candidate)
Return true if candidate is a valid xs:anyURI, otherwise false.
static Expression::Ptr applyFunctionConversion(const Expression::Ptr &operand, const SequenceType::Ptr &reqType, const StaticContext::Ptr &context, const ReportContext::ErrorCode code=ReportContext::XPTY0004, const Options=Options(AutomaticallyConvert|CheckFocus))
Builds a pipeline of artificial AST nodes that ensures operand conforms to the type reqType by applyi...
static Expression::Ptr createSlashSlashPath(const Expression::Ptr &begin, const Expression::Ptr &end, const YYLTYPE &sourceLocator, const ParserContext *const parseInfo)
Creates a path expression which contains the step // between begin and and end.
static void validateTargetName(const QString &lexicalNCName, const TReportContext &context, const SourceLocationReflection *const r)
static QString fromLatin1(const char *, int size=-1)
Returns a QString initialized with the first size characters of the Latin-1 string str...
Compile time only AST-node which is a marker for variable references whose declaration has not yet ap...
Q_OUTOFLINE_TEMPLATE QPair< T1, T2 > qMakePair(const T1 &x, const T2 &y)
static QTestResult::TestLocation location
Contains class Numeric. This file was originally called qnumeric_p.h, but various build systems canno...
int size() const
Returns the number of items in the list.
static void splitQName(const QString &qName, QString &prefix, QString &localName)
Splits qName into localName and prefix.
OrderBy::OrderSpec::Vector orderSpecs() const
const StaticContext::Ptr staticContext
static QString formatExpression(const QString &expr)
static const AtomicType::Ptr xsInteger
static Cardinality exactlyOne()
A reference to an at variable, declared with the for-part in XQuery's FLWOR expression.
Tokenizer *const tokenizer
const Expression::Ptr & sourceExpression() const
static QList< QByteArray > enums
static YYSIZE_T yysyntax_error(char *yyresult, int yystate, int yychar)
static QSourceLocation fromYYLTYPE(const YYLTYPE &sourceLocator, const ParserContext *const parseInfo)
bool exactMatch(const QString &str) const
Returns true if str is matched exactly by this regular expression; otherwise returns false...
When combined with other components, implements xsl:apply-templates.
Axis
Identify the axes emanating from a node.
static const AtomicType::Ptr xsDecimal
VariableSlotID allocatePositionalSlot()
Implements the comma(",") operator, the sequence constructor.
const VariableDeclaration * variableDeclaration() const
bool inheritNamespacesMode
A reference to an external variable.
static QString prologMessage(const char *const msg)
Centralizes a translation message, for the purpose of consistency and modularization.
A reference to a template parameter declared with xsl:param.
const T * const_iterator
The QVector::const_iterator typedef provides an STL-style const iterator for QVector and QStack...
static bool isPredicate(const Expression::ID id)
static qreal toDouble(const QChar *&str)
static const ItemType::Ptr text
ReflectYYLTYPE(const YYLTYPE &sourceLocator, const ParserContext *const pi)
static const AtomicType::Ptr xsAnyAtomicType
static QUrl resolveAndCheckCollation(const QString &collation, const ParserContext *const parseInfo, const YYLTYPE &sl)
Resolves against the static base URI and checks that collation is a supported Unicode Collation...
static ItemType::Ptr create(const ItemType::Ptr &primaryType, const QXmlName::LocalNameCode localName)
Carries meta data for xsl:with-param as encountered in template callsites such as xsl:call-template a...
Implements XPath 2.0's logical expression or.
The QFlags class provides a type-safe way of storing OR-combinations of enum values.
Implements XPath 2.0 value comparions, such as the eq operator.
QFlags< QXmlQuery::QueryLanguage > QueryLanguages
OrderBy::Stability stability() const
static QString formatURI(const NamePool::Ptr &np, const QXmlName::NamespaceCode &uri)
Formats uri, that's considered to be a URI, for display.
static const ItemType::Ptr pi
QExplicitlySharedDataPointer< StaticContext > Ptr
virtual const SourceLocationReflection * actualReflection() const
QUrl resolved(const QUrl &relative) const
Returns the result of the merge of this URL with relative.
static const KeyPair *const end
Ensures the lexical space of the string value of the Item returned from its child Expression is an NC...
static bool isWhitespaceOnly(const QStringRef &string)
Determines whether consists only of whitespace. Characters considered whitespace are the ones for whi...
const QUrl & queryURI() const
bool is(const ID id) const
static int XPatherror(YYLTYPE *sourceLocator, const ParserContext *const parseInfo, const char *const msg)
The generated Bison parser calls this function when there is a parse error.
static YYSIZE_T yytnamerr(char *yyres, const char *yystr)
VariableSlotID allocateExpressionSlot()
#define Q_UNUSED(x)
Indicates to the compiler that the parameter with the specified name is not used in the body of a fun...
static const ItemType::Ptr element
static Expression::Ptr wrapAround(const Expression::Ptr &operand, const StaticContext::Ptr &context)
static bool isNCName(const QStringRef &ncName)
Determines whether c is a valid instance of production [4]NCName in the XML 1.0 Namespaces specificat...
Expression::Ptr createNumericLiteral(const QString &in, const YYLTYPE &sl, const ParserContext *const parseInfo)
Centralizes code for creating numeric literals.
static VariableDeclaration::Ptr variableByName(const QXmlName name, const ParserContext *const parseInfo)
The QLatin1Char class provides an 8-bit ASCII/Latin-1 character.
static Expression::Ptr createFirstItem(const Expression::Ptr &sourceExpression)
Expression::Ptr replacement() const
Performs a call to a UserFunction.
Contains functions and classes used by the parser and tokenizer.
static Expression::Ptr resolveVariable(const QXmlName &name, const YYLTYPE &sourceLocator, ParserContext *const parseInfo, const bool raiseErrorOnUnavailability)
static const ItemType::Ptr comment
bool isNull() const
Returns true if this QXmlName is not initialized with a valid combination of {namespace URI}...
static void registerLastPath(const Expression::Ptr &operand)
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, ParserContext *const parseInfo)
static bool isNull(const QVariant::Private *d)
Implements XPath 2.0's logical expression and.
Implements XPath 2.0's treat as expression.
Base class for all instances that represents something at a certain location.
Implements xsl:call-template.
const_iterator constEnd() const
Returns a const STL-style iterator pointing to the imaginary item after the last item in the list...
Whether the focus should be checked or not.
static Expression::Ptr createCompatStore(const Expression::Ptr &expr, const YYLTYPE &sourceLocator, const ParserContext *const parseInfo)
Houses the data necessary for a template pattern.