/* %% [3.0] code to copy yytext_ptr to d2_parser_text[] goes here, if %array \ */\
(yy_c_buf_p) = yy_cp;
/* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
-#define YY_NUM_RULES 54
-#define YY_END_OF_BUFFER 55
+#define YY_NUM_RULES 58
+#define YY_END_OF_BUFFER 59
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static const flex_int16_t yy_accept[304] =
+static const flex_int16_t yy_accept[336] =
{ 0,
- 47, 47, 0, 0, 0, 0, 0, 0, 0, 0,
- 55, 53, 10, 11, 53, 1, 47, 44, 47, 47,
- 53, 46, 45, 53, 53, 53, 53, 53, 40, 41,
- 53, 53, 53, 42, 43, 5, 5, 5, 53, 53,
- 53, 10, 11, 0, 0, 36, 0, 0, 0, 0,
+ 51, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+ 59, 57, 10, 11, 57, 1, 51, 48, 51, 51,
+ 57, 50, 49, 57, 57, 57, 57, 57, 44, 45,
+ 57, 57, 57, 46, 47, 5, 5, 5, 57, 57,
+ 57, 10, 11, 0, 0, 40, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 47, 47, 0, 46, 47, 3,
- 2, 6, 0, 47, 0, 0, 0, 0, 0, 0,
- 4, 0, 0, 9, 0, 37, 0, 0, 0, 0,
- 0, 0, 0, 39, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
- 0, 0, 0, 0, 0, 0, 0, 8, 0, 0,
- 0, 0, 0, 0, 0, 38, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 1, 51, 51, 0, 50,
+ 51, 3, 2, 6, 0, 51, 0, 0, 0, 0,
+ 0, 0, 4, 0, 0, 9, 0, 41, 0, 0,
+ 0, 0, 0, 0, 0, 43, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
+ 0, 0, 8, 0, 0, 0, 0, 0, 0, 0,
+ 42, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 52, 50, 0, 49, 48, 0, 0,
- 0, 0, 0, 19, 18, 0, 0, 0, 0, 0,
+ 0, 56, 54, 0, 53, 52, 0, 0, 0, 0,
+ 0, 19, 18, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 48, 0, 0, 0, 0, 0, 20, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 31, 0,
- 0, 0, 14, 0, 0, 0, 0, 0, 0, 34,
-
- 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 30,
- 0, 0, 26, 0, 0, 0, 27, 0, 0, 0,
- 0, 0, 0, 28, 0, 0, 0, 0, 0, 0,
- 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 33, 0, 24, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 23, 32, 0, 0, 0, 13, 17,
- 0, 0, 0, 25, 0, 0, 0, 0, 0, 0,
- 21, 16, 0, 22, 0, 0, 0, 29, 0, 0,
-
- 0, 15, 0
+ 0, 0, 55, 52, 0, 0, 0, 0, 0, 20,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 35, 0, 0, 0, 14, 0, 0, 0,
+ 0, 0, 0, 38, 39, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 7, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,
+ 0, 0, 30, 0, 0, 0, 31, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 32, 0, 0, 0,
+ 0, 0, 0, 12, 0, 0, 0, 0, 0, 0,
+ 26, 0, 24, 0, 0, 0, 0, 37, 0, 28,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 27, 0, 36, 0, 0, 0, 0, 13, 17, 0,
+ 0, 0, 0, 29, 0, 25, 0, 0, 0, 0,
+ 23, 0, 21, 16, 0, 22, 0, 0, 0, 33,
+ 0, 0, 0, 15, 0
} ;
static const YY_CHAR yy_ec[256] =
3, 3, 3, 3
} ;
-static const flex_int16_t yy_base[316] =
+static const flex_int16_t yy_base[348] =
{ 0,
0, 0, 63, 66, 69, 0, 67, 71, 52, 68,
- 311, 1963, 87, 307, 133, 0, 96, 1963, 130, 133,
- 84, 150, 1963, 288, 109, 69, 67, 72, 1963, 1963,
- 110, 71, 97, 1963, 1963, 1963, 97, 283, 242, 0,
- 273, 139, 281, 132, 194, 1963, 200, 206, 212, 218,
- 224, 227, 250, 256, 268, 275, 288, 296, 312, 318,
- 325, 338, 344, 0, 343, 349, 369, 380, 374, 1963,
- 0, 1963, 220, 230, 128, 165, 124, 171, 177, 145,
- 1963, 233, 248, 1963, 148, 1963, 385, 405, 426, 411,
- 433, 448, 232, 459, 490, 471, 481, 491, 518, 537,
-
- 465, 543, 550, 557, 563, 570, 580, 595, 602, 0,
- 246, 214, 127, 249, 222, 173, 181, 1963, 0, 608,
- 617, 627, 641, 650, 217, 1963, 674, 656, 665, 702,
- 674, 719, 725, 731, 739, 747, 758, 768, 784, 790,
- 796, 805, 185, 1963, 1963, 263, 1963, 1963, 152, 0,
- 828, 813, 835, 1963, 1963, 870, 852, 860, 867, 897,
- 915, 924, 934, 940, 947, 956, 962, 973, 979, 985,
- 994, 1963, 1963, 129, 0, 1005, 1011, 1018, 1963, 1031,
- 1071, 1043, 1037, 1061, 1098, 1069, 1120, 1127, 1963, 1135,
- 1142, 1148, 1963, 1159, 1165, 1172, 1185, 119, 0, 1963,
-
- 1963, 1191, 1202, 1209, 1224, 1239, 1250, 1256, 1263, 1271,
- 1277, 1283, 1295, 1301, 1289, 1309, 1315, 1963, 1321, 1338,
- 1347, 1354, 1360, 1367, 1379, 1386, 1397, 1404, 1416, 1963,
- 1423, 1434, 1963, 1441, 1448, 1456, 1963, 1462, 1478, 1486,
- 1494, 1503, 1510, 1963, 1518, 1524, 1542, 1548, 1562, 1568,
- 1963, 1574, 1580, 1586, 1592, 1600, 1612, 1618, 1633, 1644,
- 1650, 1963, 1657, 1963, 1671, 1677, 1689, 1683, 1695, 1703,
- 1709, 1716, 1722, 1963, 1963, 1736, 1742, 1748, 1963, 1963,
- 1755, 1764, 1775, 1963, 1785, 1792, 1801, 1807, 1813, 1822,
- 1963, 1963, 1833, 1963, 1839, 1845, 1851, 1963, 1860, 1866,
-
- 1878, 1963, 1963, 1924, 1929, 1934, 1939, 1944, 1949, 1954,
- 1957, 146, 132, 91, 88
+ 296, 2262, 87, 289, 133, 0, 96, 2262, 130, 133,
+ 84, 150, 2262, 268, 109, 69, 67, 72, 2262, 2262,
+ 110, 71, 97, 2262, 2262, 2262, 97, 271, 229, 0,
+ 235, 139, 247, 132, 194, 2262, 200, 206, 212, 218,
+ 224, 227, 250, 256, 268, 275, 288, 305, 313, 329,
+ 335, 345, 351, 359, 374, 0, 375, 390, 312, 398,
+ 393, 2262, 0, 2262, 220, 230, 128, 165, 163, 177,
+ 214, 164, 2262, 196, 226, 2262, 148, 2262, 380, 426,
+ 442, 448, 455, 464, 211, 472, 506, 487, 481, 501,
+
+ 534, 551, 557, 563, 572, 584, 590, 596, 604, 613,
+ 622, 628, 637, 650, 0, 240, 247, 127, 246, 267,
+ 185, 160, 2262, 0, 666, 679, 688, 698, 704, 198,
+ 2262, 728, 711, 721, 727, 754, 773, 760, 779, 786,
+ 793, 799, 805, 811, 826, 832, 838, 849, 855, 864,
+ 295, 2262, 2262, 315, 2262, 2262, 113, 0, 882, 870,
+ 910, 2262, 2262, 945, 919, 925, 936, 942, 975, 990,
+ 999, 1005, 1012, 1018, 1032, 1038, 1044, 1055, 1065, 1071,
+ 1083, 1093, 2262, 2262, 120, 0, 1104, 1110, 1116, 2262,
+ 1123, 1163, 1132, 1155, 1162, 1194, 1209, 1217, 1223, 1231,
+
+ 1238, 1255, 2262, 1263, 1278, 1284, 2262, 1292, 1300, 1306,
+ 1322, 115, 0, 2262, 2262, 1329, 1338, 1344, 1350, 1359,
+ 1368, 1387, 1405, 1412, 1419, 1425, 1431, 1444, 1452, 1464,
+ 1470, 1481, 1489, 1496, 2262, 1507, 1514, 1521, 1528, 1535,
+ 1547, 1553, 1560, 1572, 1580, 1590, 1598, 1604, 1617, 2262,
+ 1627, 1636, 2262, 1642, 1649, 1656, 2262, 1664, 1681, 1688,
+ 1694, 1704, 1721, 1732, 1743, 1749, 2262, 1759, 1765, 1771,
+ 1781, 1788, 1803, 2262, 1809, 1826, 1832, 1841, 1847, 1853,
+ 2262, 1864, 2262, 1870, 1885, 1879, 1892, 2262, 1903, 2262,
+ 1909, 1917, 1930, 1941, 1947, 1954, 1962, 1968, 1979, 1987,
+
+ 2262, 2000, 2262, 2006, 2012, 2027, 2044, 2262, 2262, 2052,
+ 2059, 2065, 2071, 2262, 2077, 2262, 2084, 2091, 2103, 2109,
+ 2262, 2117, 2262, 2262, 2128, 2262, 2135, 2141, 2147, 2262,
+ 2156, 2165, 2174, 2262, 2262, 2223, 2228, 2233, 2238, 2243,
+ 2248, 2253, 2256, 146, 132, 91, 88
} ;
-static const flex_int16_t yy_def[316] =
+static const flex_int16_t yy_def[348] =
{ 0,
- 303, 1, 304, 304, 1, 5, 5, 5, 5, 5,
- 303, 303, 303, 303, 305, 306, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 307,
- 303, 303, 303, 308, 305, 303, 305, 305, 305, 305,
- 305, 309, 305, 305, 305, 305, 305, 305, 305, 305,
- 305, 305, 305, 306, 303, 303, 303, 303, 303, 303,
- 310, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 307, 303, 308, 303, 303, 305, 305, 305,
- 305, 305, 311, 305, 309, 305, 305, 305, 305, 305,
-
- 305, 305, 305, 305, 305, 305, 305, 305, 305, 310,
- 303, 303, 303, 303, 303, 303, 303, 303, 312, 305,
- 305, 305, 305, 305, 311, 303, 309, 305, 305, 305,
- 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
- 305, 305, 303, 303, 303, 303, 303, 303, 303, 313,
- 305, 305, 305, 303, 303, 309, 305, 305, 305, 305,
- 305, 305, 305, 305, 305, 305, 305, 305, 305, 305,
- 305, 303, 303, 303, 314, 305, 305, 305, 303, 305,
- 309, 305, 305, 305, 305, 305, 305, 305, 303, 305,
- 305, 305, 303, 305, 305, 305, 305, 303, 315, 303,
-
- 303, 305, 305, 305, 305, 305, 305, 305, 305, 305,
- 305, 305, 305, 305, 305, 305, 305, 303, 305, 305,
- 305, 305, 305, 305, 305, 305, 305, 305, 305, 303,
- 305, 305, 303, 305, 305, 305, 303, 305, 305, 305,
- 305, 305, 305, 303, 305, 305, 305, 305, 305, 305,
- 303, 305, 305, 305, 305, 305, 305, 305, 305, 305,
- 305, 303, 305, 303, 305, 305, 305, 305, 305, 305,
- 305, 305, 305, 303, 303, 305, 305, 305, 303, 303,
- 305, 305, 305, 303, 305, 305, 305, 305, 305, 305,
- 303, 303, 305, 303, 305, 305, 305, 303, 305, 305,
-
- 305, 303, 0, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303
+ 335, 1, 336, 336, 1, 5, 5, 5, 5, 5,
+ 335, 335, 335, 335, 337, 338, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 339,
+ 335, 335, 335, 340, 337, 335, 337, 337, 337, 337,
+ 337, 341, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 338, 335, 335, 335, 335,
+ 335, 335, 342, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 339, 335, 340, 335, 335, 337,
+ 337, 337, 337, 337, 343, 337, 341, 337, 337, 337,
+
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 342, 335, 335, 335, 335, 335,
+ 335, 335, 335, 344, 337, 337, 337, 337, 337, 343,
+ 335, 341, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 335, 335, 335, 335, 335, 335, 335, 345, 337, 337,
+ 337, 335, 335, 341, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 335, 335, 335, 346, 337, 337, 337, 335,
+ 337, 341, 337, 337, 337, 337, 337, 337, 337, 337,
+
+ 337, 337, 335, 337, 337, 337, 335, 337, 337, 337,
+ 337, 335, 347, 335, 335, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 335, 337, 337, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 335,
+ 337, 337, 335, 337, 337, 337, 335, 337, 337, 337,
+ 337, 337, 337, 337, 337, 337, 335, 337, 337, 337,
+ 337, 337, 337, 335, 337, 337, 337, 337, 337, 337,
+ 335, 337, 335, 337, 337, 337, 337, 335, 337, 335,
+ 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
+
+ 335, 337, 335, 337, 337, 337, 337, 335, 335, 337,
+ 337, 337, 337, 335, 337, 335, 337, 337, 337, 337,
+ 335, 337, 335, 335, 337, 335, 337, 337, 337, 335,
+ 337, 337, 337, 335, 0, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335
} ;
-static const flex_int16_t yy_nxt[2028] =
+static const flex_int16_t yy_nxt[2327] =
{ 0,
12, 13, 14, 13, 12, 15, 16, 12, 17, 18,
19, 20, 21, 22, 22, 22, 23, 24, 12, 12,
12, 12, 32, 12, 12, 12, 12, 33, 12, 12,
12, 12, 34, 35, 37, 14, 37, 37, 14, 37,
38, 41, 40, 38, 12, 12, 40, 12, 12, 12,
- 12, 12, 12, 12, 12, 12, 12, 41, 42, 75,
- 42, 70, 85, 12, 12, 199, 71, 12, 42, 12,
-
- 42, 76, 12, 77, 12, 76, 12, 65, 75, 66,
- 66, 66, 12, 12, 12, 12, 39, 73, 12, 73,
- 67, 12, 74, 74, 74, 76, 12, 77, 77, 79,
- 75, 12, 12, 44, 44, 44, 175, 86, 46, 67,
- 42, 65, 42, 68, 68, 68, 69, 69, 69, 78,
- 150, 145, 80, 86, 67, 111, 47, 67, 113, 48,
- 49, 65, 218, 68, 68, 68, 50, 51, 87, 52,
- 145, 198, 53, 67, 67, 54, 67, 55, 111, 113,
- 56, 48, 113, 57, 87, 58, 59, 60, 61, 62,
- 63, 51, 112, 67, 44, 44, 44, 145, 111, 46,
-
- 44, 44, 44, 116, 112, 46, 44, 44, 44, 172,
- 174, 46, 44, 44, 44, 112, 148, 46, 44, 44,
- 44, 114, 126, 46, 44, 44, 44, 115, 172, 46,
- 52, 149, 94, 74, 74, 74, 52, 126, 89, 45,
- 91, 144, 52, 74, 74, 74, 88, 92, 52, 144,
- 44, 44, 44, 118, 52, 46, 44, 44, 44, 91,
- 52, 46, 89, 45, 144, 90, 92, 45, 44, 44,
- 44, 45, 147, 46, 117, 44, 44, 44, 143, 45,
- 46, 143, 45, 43, 45, 95, 52, 172, 44, 44,
- 44, 84, 52, 46, 82, 81, 44, 44, 44, 97,
-
- 96, 46, 143, 98, 52, 146, 173, 72, 99, 43,
- 303, 52, 44, 44, 44, 303, 303, 46, 44, 44,
- 44, 100, 303, 46, 52, 44, 44, 44, 303, 101,
- 46, 303, 52, 303, 303, 103, 303, 104, 44, 44,
- 44, 102, 303, 46, 44, 44, 44, 303, 52, 46,
- 303, 303, 303, 303, 52, 303, 69, 69, 69, 303,
- 65, 52, 66, 66, 66, 303, 91, 67, 107, 303,
- 105, 106, 303, 67, 52, 303, 303, 73, 303, 73,
- 52, 108, 74, 74, 74, 91, 67, 69, 69, 69,
- 85, 65, 67, 68, 68, 68, 303, 85, 67, 303,
-
- 109, 303, 303, 303, 67, 44, 44, 44, 303, 303,
- 46, 44, 44, 44, 303, 303, 46, 67, 303, 303,
- 303, 85, 303, 67, 303, 85, 44, 44, 44, 85,
- 303, 46, 303, 44, 44, 44, 303, 85, 46, 303,
- 85, 52, 85, 119, 303, 303, 120, 52, 44, 44,
- 44, 303, 303, 46, 303, 121, 122, 303, 303, 44,
- 44, 44, 52, 123, 46, 44, 44, 44, 303, 52,
- 46, 44, 44, 44, 303, 133, 46, 303, 124, 121,
- 303, 44, 44, 44, 52, 303, 46, 123, 303, 303,
- 303, 44, 44, 44, 303, 52, 46, 303, 303, 303,
-
- 303, 52, 124, 127, 127, 127, 303, 52, 303, 303,
- 127, 127, 127, 127, 127, 127, 128, 52, 44, 44,
- 44, 129, 303, 46, 303, 303, 303, 52, 303, 127,
- 127, 127, 127, 127, 127, 303, 130, 44, 44, 44,
- 303, 303, 46, 44, 44, 44, 303, 303, 46, 303,
- 44, 44, 44, 303, 52, 46, 303, 44, 44, 44,
- 303, 303, 46, 44, 44, 44, 303, 303, 46, 303,
- 44, 44, 44, 52, 131, 46, 303, 303, 303, 52,
- 44, 44, 44, 303, 303, 46, 52, 303, 134, 303,
- 303, 303, 132, 52, 303, 44, 44, 44, 303, 52,
-
- 46, 135, 44, 44, 44, 303, 52, 46, 44, 44,
- 44, 303, 136, 46, 303, 303, 52, 44, 44, 44,
- 137, 303, 46, 303, 303, 138, 303, 44, 44, 44,
- 303, 52, 46, 303, 303, 303, 140, 303, 52, 139,
- 303, 44, 44, 44, 52, 152, 154, 303, 303, 142,
- 44, 44, 44, 52, 141, 155, 44, 44, 44, 303,
- 303, 46, 151, 52, 303, 44, 44, 44, 303, 152,
- 46, 303, 153, 303, 44, 44, 44, 52, 303, 46,
- 303, 303, 303, 303, 160, 303, 52, 156, 156, 156,
- 303, 303, 52, 303, 156, 156, 156, 156, 156, 156,
-
- 303, 52, 44, 44, 44, 303, 303, 46, 303, 157,
- 52, 303, 303, 156, 156, 156, 156, 156, 156, 44,
- 44, 44, 303, 158, 46, 44, 44, 44, 303, 303,
- 46, 44, 44, 44, 303, 303, 46, 303, 52, 44,
- 44, 44, 303, 303, 46, 159, 303, 44, 44, 44,
- 303, 303, 46, 303, 303, 52, 303, 165, 44, 44,
- 44, 52, 303, 46, 162, 303, 303, 52, 44, 44,
- 44, 303, 303, 46, 303, 52, 163, 303, 303, 161,
- 303, 303, 164, 52, 44, 44, 44, 303, 303, 46,
- 44, 44, 44, 303, 52, 46, 44, 44, 44, 303,
-
- 303, 46, 303, 303, 52, 44, 44, 44, 303, 303,
- 46, 303, 166, 44, 44, 44, 303, 303, 179, 303,
- 52, 303, 303, 303, 303, 167, 52, 168, 44, 44,
- 44, 303, 52, 46, 303, 44, 44, 44, 303, 170,
- 46, 52, 176, 177, 303, 169, 303, 303, 303, 52,
- 171, 178, 44, 44, 44, 303, 303, 46, 303, 303,
- 44, 44, 44, 303, 52, 46, 303, 44, 44, 44,
- 303, 52, 46, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 180, 181, 181, 181, 303, 303, 52, 303,
- 181, 181, 181, 181, 181, 181, 52, 44, 44, 44,
-
- 303, 303, 46, 52, 303, 183, 303, 182, 303, 181,
- 181, 181, 181, 181, 181, 44, 44, 44, 303, 303,
- 46, 303, 303, 184, 44, 44, 44, 303, 303, 46,
- 303, 303, 303, 52, 44, 44, 44, 303, 303, 46,
- 44, 44, 44, 303, 303, 189, 303, 44, 44, 44,
- 303, 52, 46, 185, 186, 303, 44, 44, 44, 303,
- 52, 46, 44, 44, 44, 303, 187, 193, 303, 303,
- 52, 303, 303, 44, 44, 44, 52, 188, 46, 44,
- 44, 44, 303, 52, 46, 44, 44, 44, 303, 303,
- 46, 190, 52, 303, 44, 44, 44, 303, 52, 46,
-
- 303, 191, 303, 303, 197, 44, 44, 44, 303, 52,
- 200, 44, 44, 44, 192, 52, 201, 303, 44, 44,
- 44, 52, 195, 46, 303, 303, 303, 303, 194, 303,
- 52, 44, 44, 44, 303, 303, 46, 44, 44, 44,
- 196, 52, 46, 44, 44, 44, 303, 52, 46, 303,
- 303, 303, 303, 303, 52, 303, 303, 303, 303, 303,
- 202, 44, 44, 44, 303, 303, 46, 52, 303, 44,
- 44, 44, 303, 52, 46, 303, 303, 303, 303, 52,
- 303, 303, 303, 203, 45, 45, 45, 205, 303, 303,
- 204, 45, 45, 45, 45, 45, 45, 52, 44, 44,
-
- 44, 303, 303, 46, 303, 52, 303, 303, 303, 303,
- 45, 45, 45, 45, 45, 45, 303, 303, 206, 303,
- 44, 44, 44, 303, 208, 46, 303, 44, 44, 44,
- 303, 303, 46, 303, 52, 44, 44, 44, 303, 303,
- 46, 207, 44, 44, 44, 303, 303, 46, 44, 44,
- 44, 303, 303, 46, 303, 303, 52, 303, 303, 44,
- 44, 44, 209, 52, 46, 44, 44, 44, 303, 303,
- 46, 52, 44, 44, 44, 303, 303, 46, 52, 303,
- 303, 303, 210, 303, 52, 44, 44, 44, 211, 303,
- 46, 44, 44, 44, 303, 52, 46, 212, 303, 303,
-
- 303, 52, 44, 44, 44, 213, 303, 46, 52, 44,
- 44, 44, 303, 303, 46, 214, 303, 303, 303, 216,
- 303, 52, 215, 303, 44, 44, 44, 52, 303, 46,
- 303, 303, 303, 303, 217, 303, 303, 303, 52, 44,
- 44, 44, 303, 219, 46, 52, 303, 220, 303, 223,
- 44, 44, 44, 303, 303, 46, 44, 44, 44, 303,
- 52, 46, 303, 44, 44, 44, 221, 222, 46, 303,
- 303, 44, 44, 44, 303, 52, 46, 44, 44, 44,
- 303, 303, 46, 44, 44, 44, 52, 303, 46, 44,
- 44, 44, 52, 303, 233, 44, 44, 44, 225, 52,
-
- 230, 44, 44, 44, 303, 224, 46, 52, 303, 44,
- 44, 44, 303, 52, 46, 44, 44, 44, 226, 52,
- 46, 44, 44, 44, 303, 52, 46, 227, 303, 303,
- 303, 52, 228, 231, 303, 303, 229, 52, 44, 44,
- 44, 303, 303, 237, 232, 52, 303, 44, 44, 44,
- 303, 52, 46, 303, 44, 44, 44, 52, 235, 46,
- 44, 44, 44, 303, 303, 46, 234, 44, 44, 44,
- 303, 303, 46, 303, 52, 303, 303, 236, 303, 44,
- 44, 44, 303, 52, 46, 303, 44, 44, 44, 242,
- 52, 46, 303, 238, 303, 303, 52, 44, 44, 44,
-
- 240, 303, 244, 52, 44, 44, 44, 303, 303, 46,
- 303, 303, 303, 239, 303, 52, 44, 44, 44, 303,
- 303, 46, 52, 44, 44, 44, 241, 303, 46, 243,
- 303, 303, 303, 52, 44, 44, 44, 303, 303, 46,
- 52, 44, 44, 44, 248, 303, 46, 303, 44, 44,
- 44, 303, 52, 46, 303, 245, 44, 44, 44, 52,
- 303, 251, 44, 44, 44, 303, 303, 46, 303, 303,
- 52, 303, 303, 246, 303, 303, 247, 52, 44, 44,
- 44, 303, 303, 46, 52, 303, 44, 44, 44, 303,
- 303, 46, 52, 303, 44, 44, 44, 303, 52, 46,
-
- 303, 303, 249, 44, 44, 44, 303, 303, 46, 250,
- 44, 44, 44, 252, 52, 46, 303, 303, 44, 44,
- 44, 253, 52, 46, 44, 44, 44, 303, 303, 46,
- 52, 303, 303, 254, 303, 303, 303, 255, 303, 52,
- 303, 303, 44, 44, 44, 256, 52, 46, 44, 44,
- 44, 303, 303, 46, 52, 303, 303, 258, 303, 303,
- 52, 303, 44, 44, 44, 303, 257, 262, 44, 44,
- 44, 303, 303, 46, 44, 44, 44, 259, 52, 264,
- 44, 44, 44, 303, 52, 46, 44, 44, 44, 303,
- 261, 46, 44, 44, 44, 303, 260, 46, 52, 303,
-
- 44, 44, 44, 303, 52, 46, 303, 303, 303, 303,
- 52, 303, 44, 44, 44, 303, 52, 46, 44, 44,
- 44, 303, 52, 46, 263, 303, 303, 303, 52, 303,
- 265, 303, 303, 44, 44, 44, 52, 303, 46, 303,
- 303, 303, 268, 266, 44, 44, 44, 267, 52, 46,
- 44, 44, 44, 303, 52, 46, 303, 44, 44, 44,
- 303, 303, 274, 303, 303, 303, 303, 303, 269, 52,
- 303, 44, 44, 44, 271, 270, 275, 44, 44, 44,
- 52, 303, 46, 44, 44, 44, 52, 303, 46, 44,
- 44, 44, 273, 52, 46, 44, 44, 44, 303, 277,
-
- 279, 272, 303, 44, 44, 44, 303, 52, 280, 44,
- 44, 44, 303, 52, 46, 303, 44, 44, 44, 52,
- 303, 46, 44, 44, 44, 52, 303, 46, 303, 303,
- 303, 52, 303, 276, 303, 278, 44, 44, 44, 52,
- 303, 284, 44, 44, 44, 52, 303, 46, 44, 44,
- 44, 303, 52, 46, 303, 44, 44, 44, 52, 303,
- 46, 303, 281, 282, 44, 44, 44, 303, 303, 46,
- 303, 303, 52, 303, 283, 44, 44, 44, 52, 303,
- 46, 303, 303, 303, 52, 44, 44, 44, 303, 303,
- 46, 52, 44, 44, 44, 303, 303, 291, 303, 285,
-
- 52, 44, 44, 44, 286, 287, 292, 44, 44, 44,
- 303, 52, 46, 44, 44, 44, 303, 288, 294, 303,
- 303, 52, 44, 44, 44, 303, 303, 46, 52, 303,
- 303, 289, 290, 44, 44, 44, 303, 52, 46, 44,
- 44, 44, 303, 52, 46, 44, 44, 44, 303, 52,
- 298, 44, 44, 44, 303, 303, 46, 303, 52, 293,
- 44, 44, 44, 303, 303, 46, 44, 44, 44, 52,
- 303, 46, 303, 295, 303, 52, 303, 303, 44, 44,
- 44, 52, 297, 302, 303, 303, 303, 52, 303, 296,
- 303, 303, 303, 303, 303, 303, 52, 303, 303, 303,
-
- 303, 303, 52, 303, 299, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 52, 303, 303, 303, 300, 303,
- 303, 303, 303, 301, 36, 36, 36, 36, 36, 45,
- 45, 45, 45, 45, 64, 303, 64, 64, 64, 83,
- 303, 83, 303, 83, 85, 85, 85, 85, 85, 93,
- 93, 93, 93, 93, 110, 303, 110, 110, 110, 125,
- 125, 125, 11, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
-
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303
+ 12, 12, 12, 12, 12, 12, 12, 41, 42, 77,
+ 42, 72, 87, 12, 12, 213, 73, 12, 42, 12,
+
+ 42, 78, 12, 79, 12, 78, 12, 67, 77, 68,
+ 68, 68, 12, 12, 12, 12, 39, 75, 12, 75,
+ 69, 12, 76, 76, 76, 78, 12, 79, 79, 81,
+ 77, 12, 12, 44, 44, 44, 186, 88, 46, 69,
+ 42, 67, 42, 70, 70, 70, 71, 71, 71, 80,
+ 158, 153, 82, 88, 69, 116, 47, 69, 235, 48,
+ 49, 67, 212, 70, 70, 70, 50, 51, 89, 52,
+ 153, 185, 53, 69, 69, 54, 69, 55, 116, 56,
+ 57, 48, 58, 59, 89, 60, 61, 62, 63, 64,
+ 65, 51, 117, 69, 44, 44, 44, 118, 118, 46,
+
+ 44, 44, 44, 131, 116, 46, 44, 44, 44, 153,
+ 157, 46, 44, 44, 44, 117, 131, 46, 44, 44,
+ 44, 118, 121, 46, 44, 44, 44, 119, 156, 46,
+ 52, 123, 96, 76, 76, 76, 52, 122, 91, 45,
+ 93, 117, 52, 76, 76, 76, 90, 94, 52, 43,
+ 44, 44, 44, 86, 52, 46, 44, 44, 44, 93,
+ 52, 46, 91, 45, 120, 92, 94, 45, 44, 44,
+ 44, 45, 151, 46, 152, 44, 44, 44, 151, 45,
+ 46, 84, 45, 83, 45, 97, 52, 74, 44, 44,
+ 44, 43, 52, 46, 152, 335, 151, 152, 99, 100,
+
+ 98, 335, 154, 101, 52, 44, 44, 44, 102, 335,
+ 46, 52, 335, 44, 44, 44, 335, 155, 46, 183,
+ 75, 103, 75, 335, 52, 76, 76, 76, 104, 44,
+ 44, 44, 335, 335, 46, 44, 44, 44, 183, 183,
+ 46, 52, 105, 335, 335, 44, 44, 44, 106, 52,
+ 46, 44, 44, 44, 335, 335, 46, 335, 184, 44,
+ 44, 44, 335, 335, 46, 52, 107, 335, 108, 335,
+ 109, 52, 335, 335, 44, 44, 44, 335, 335, 46,
+ 335, 52, 335, 335, 335, 87, 335, 52, 71, 71,
+ 71, 335, 87, 110, 112, 52, 93, 335, 111, 69,
+
+ 335, 67, 113, 68, 68, 68, 71, 71, 71, 67,
+ 52, 70, 70, 70, 69, 93, 87, 69, 69, 335,
+ 87, 335, 69, 335, 87, 335, 44, 44, 44, 335,
+ 114, 46, 87, 69, 335, 87, 69, 87, 124, 335,
+ 335, 69, 44, 44, 44, 335, 335, 46, 44, 44,
+ 44, 335, 335, 46, 335, 44, 44, 44, 335, 335,
+ 46, 335, 52, 335, 44, 44, 44, 125, 335, 46,
+ 335, 126, 44, 44, 44, 335, 335, 46, 52, 335,
+ 335, 44, 44, 44, 52, 128, 46, 44, 44, 44,
+ 335, 52, 46, 127, 129, 126, 335, 335, 335, 335,
+
+ 52, 44, 44, 44, 335, 335, 46, 335, 52, 128,
+ 335, 335, 335, 335, 335, 335, 335, 52, 129, 132,
+ 132, 132, 335, 52, 335, 335, 132, 132, 132, 132,
+ 132, 132, 133, 134, 44, 44, 44, 52, 335, 46,
+ 335, 135, 335, 335, 335, 132, 132, 132, 132, 132,
+ 132, 44, 44, 44, 335, 335, 46, 44, 44, 44,
+ 335, 335, 46, 44, 44, 44, 335, 335, 46, 335,
+ 52, 335, 44, 44, 44, 335, 335, 46, 335, 136,
+ 335, 335, 140, 335, 44, 44, 44, 52, 335, 46,
+ 44, 44, 44, 52, 335, 46, 44, 44, 44, 52,
+
+ 335, 46, 335, 335, 44, 44, 44, 137, 52, 46,
+ 335, 335, 138, 44, 44, 44, 335, 335, 46, 139,
+ 52, 335, 44, 44, 44, 335, 52, 46, 44, 44,
+ 44, 335, 52, 46, 335, 142, 335, 44, 44, 44,
+ 52, 335, 46, 335, 335, 141, 335, 143, 335, 52,
+ 44, 44, 44, 335, 335, 46, 335, 335, 52, 144,
+ 335, 335, 335, 335, 52, 335, 44, 44, 44, 335,
+ 145, 46, 335, 52, 335, 335, 335, 146, 148, 44,
+ 44, 44, 335, 335, 46, 335, 52, 147, 44, 44,
+ 44, 335, 335, 46, 335, 335, 149, 150, 44, 44,
+
+ 44, 335, 52, 162, 44, 44, 44, 160, 335, 163,
+ 335, 44, 44, 44, 335, 52, 46, 335, 335, 335,
+ 159, 44, 44, 44, 52, 335, 46, 44, 44, 44,
+ 335, 160, 46, 161, 52, 335, 335, 335, 335, 335,
+ 52, 164, 164, 164, 335, 335, 335, 52, 164, 164,
+ 164, 164, 164, 164, 44, 44, 44, 52, 335, 46,
+ 44, 44, 44, 52, 165, 46, 335, 164, 164, 164,
+ 164, 164, 164, 44, 44, 44, 335, 166, 46, 44,
+ 44, 44, 335, 169, 46, 167, 44, 44, 44, 335,
+ 52, 46, 335, 44, 44, 44, 52, 168, 46, 44,
+
+ 44, 44, 335, 173, 46, 44, 44, 44, 335, 52,
+ 46, 44, 44, 44, 335, 52, 46, 335, 335, 335,
+ 170, 176, 52, 335, 335, 172, 44, 44, 44, 52,
+ 335, 46, 44, 44, 44, 52, 171, 46, 44, 44,
+ 44, 52, 335, 46, 174, 335, 335, 52, 175, 44,
+ 44, 44, 335, 335, 46, 44, 44, 44, 335, 335,
+ 46, 335, 52, 335, 44, 44, 44, 335, 52, 46,
+ 44, 44, 44, 335, 52, 190, 335, 335, 335, 335,
+ 177, 179, 44, 44, 44, 52, 335, 46, 335, 178,
+ 335, 52, 335, 335, 335, 335, 187, 188, 181, 335,
+
+ 52, 335, 335, 335, 180, 189, 52, 335, 335, 182,
+ 44, 44, 44, 335, 335, 46, 335, 335, 52, 44,
+ 44, 44, 335, 335, 46, 44, 44, 44, 335, 335,
+ 46, 335, 335, 335, 335, 194, 44, 44, 44, 335,
+ 335, 46, 44, 44, 44, 335, 52, 46, 335, 335,
+ 335, 335, 335, 335, 335, 52, 335, 191, 192, 192,
+ 192, 52, 335, 335, 335, 192, 192, 192, 192, 192,
+ 192, 335, 52, 335, 193, 44, 44, 44, 52, 335,
+ 46, 195, 335, 335, 192, 192, 192, 192, 192, 192,
+ 44, 44, 44, 335, 335, 46, 335, 335, 196, 44,
+
+ 44, 44, 335, 335, 46, 44, 44, 44, 335, 335,
+ 46, 52, 44, 44, 44, 335, 335, 46, 44, 44,
+ 44, 335, 335, 46, 335, 335, 52, 335, 335, 198,
+ 335, 197, 44, 44, 44, 52, 335, 203, 44, 44,
+ 44, 52, 335, 46, 44, 44, 44, 200, 52, 46,
+ 335, 199, 335, 335, 52, 44, 44, 44, 335, 335,
+ 207, 202, 335, 335, 201, 44, 44, 44, 52, 335,
+ 46, 44, 44, 44, 52, 335, 46, 335, 335, 335,
+ 52, 335, 204, 44, 44, 44, 335, 335, 46, 335,
+ 335, 52, 205, 44, 44, 44, 335, 335, 46, 335,
+
+ 335, 52, 206, 211, 44, 44, 44, 52, 335, 214,
+ 44, 44, 44, 335, 209, 215, 44, 44, 44, 52,
+ 208, 46, 335, 44, 44, 44, 335, 335, 46, 52,
+ 335, 335, 44, 44, 44, 335, 335, 46, 210, 335,
+ 52, 335, 335, 335, 335, 335, 52, 335, 335, 335,
+ 335, 335, 52, 335, 335, 44, 44, 44, 216, 52,
+ 46, 335, 44, 44, 44, 335, 335, 46, 52, 335,
+ 335, 335, 335, 335, 335, 217, 45, 45, 45, 218,
+ 335, 335, 335, 45, 45, 45, 45, 45, 45, 335,
+ 335, 52, 335, 335, 44, 44, 44, 219, 52, 46,
+
+ 335, 335, 45, 45, 45, 45, 45, 45, 335, 44,
+ 44, 44, 220, 335, 46, 335, 335, 44, 44, 44,
+ 335, 335, 46, 44, 44, 44, 335, 335, 46, 335,
+ 52, 44, 44, 44, 335, 335, 46, 335, 44, 44,
+ 44, 335, 335, 46, 335, 52, 335, 335, 335, 335,
+ 335, 221, 222, 52, 335, 44, 44, 44, 335, 52,
+ 46, 335, 224, 44, 44, 44, 335, 52, 46, 335,
+ 335, 335, 223, 225, 52, 335, 335, 226, 44, 44,
+ 44, 335, 335, 46, 44, 44, 44, 335, 335, 46,
+ 335, 52, 44, 44, 44, 335, 335, 46, 335, 52,
+
+ 44, 44, 44, 335, 335, 46, 44, 44, 44, 335,
+ 227, 46, 335, 335, 52, 335, 228, 335, 335, 335,
+ 52, 335, 44, 44, 44, 335, 335, 46, 52, 44,
+ 44, 44, 335, 229, 46, 335, 52, 335, 44, 44,
+ 44, 230, 52, 46, 44, 44, 44, 335, 231, 46,
+ 44, 44, 44, 233, 335, 46, 335, 232, 52, 44,
+ 44, 44, 335, 335, 46, 52, 335, 335, 44, 44,
+ 44, 234, 335, 46, 52, 335, 335, 335, 241, 335,
+ 52, 236, 335, 237, 335, 335, 52, 44, 44, 44,
+ 335, 335, 46, 335, 335, 52, 335, 335, 335, 335,
+
+ 335, 238, 240, 239, 52, 44, 44, 44, 335, 335,
+ 46, 335, 44, 44, 44, 335, 335, 46, 335, 44,
+ 44, 44, 335, 52, 46, 44, 44, 44, 335, 335,
+ 46, 44, 44, 44, 335, 335, 46, 335, 335, 335,
+ 335, 52, 242, 335, 44, 44, 44, 243, 52, 46,
+ 335, 335, 44, 44, 44, 52, 335, 46, 335, 335,
+ 335, 52, 335, 244, 44, 44, 44, 52, 335, 250,
+ 44, 44, 44, 335, 245, 46, 246, 335, 335, 335,
+ 52, 44, 44, 44, 335, 335, 253, 247, 52, 44,
+ 44, 44, 335, 335, 46, 335, 44, 44, 44, 248,
+
+ 52, 46, 251, 335, 335, 249, 52, 44, 44, 44,
+ 335, 335, 46, 252, 44, 44, 44, 52, 335, 257,
+ 335, 44, 44, 44, 335, 52, 46, 335, 44, 44,
+ 44, 335, 52, 46, 335, 44, 44, 44, 335, 255,
+ 46, 335, 335, 52, 335, 335, 254, 44, 44, 44,
+ 52, 335, 46, 44, 44, 44, 335, 52, 46, 335,
+ 44, 44, 44, 256, 52, 46, 335, 258, 335, 335,
+ 263, 52, 44, 44, 44, 335, 335, 46, 335, 259,
+ 44, 44, 44, 52, 335, 46, 335, 261, 335, 52,
+ 44, 44, 44, 335, 260, 46, 52, 335, 44, 44,
+
+ 44, 335, 335, 267, 44, 44, 44, 335, 52, 46,
+ 335, 335, 262, 335, 335, 264, 52, 44, 44, 44,
+ 335, 335, 46, 265, 335, 335, 52, 44, 44, 44,
+ 335, 335, 46, 266, 52, 335, 44, 44, 44, 335,
+ 52, 46, 44, 44, 44, 335, 271, 46, 335, 44,
+ 44, 44, 335, 52, 46, 268, 44, 44, 44, 335,
+ 335, 274, 335, 52, 44, 44, 44, 335, 335, 46,
+ 335, 335, 52, 335, 269, 335, 335, 335, 52, 335,
+ 270, 44, 44, 44, 335, 52, 46, 335, 44, 44,
+ 44, 335, 52, 46, 44, 44, 44, 335, 335, 46,
+
+ 52, 335, 335, 272, 44, 44, 44, 335, 335, 46,
+ 273, 335, 335, 335, 335, 275, 335, 52, 335, 335,
+ 276, 44, 44, 44, 52, 335, 46, 335, 335, 335,
+ 52, 277, 44, 44, 44, 335, 335, 281, 335, 335,
+ 52, 278, 335, 44, 44, 44, 335, 279, 46, 44,
+ 44, 44, 335, 335, 283, 335, 335, 52, 335, 44,
+ 44, 44, 335, 280, 46, 44, 44, 44, 52, 335,
+ 46, 44, 44, 44, 335, 335, 46, 335, 335, 52,
+ 335, 44, 44, 44, 335, 52, 46, 335, 44, 44,
+ 44, 335, 335, 288, 335, 52, 335, 335, 284, 282,
+
+ 335, 52, 335, 44, 44, 44, 335, 52, 46, 44,
+ 44, 44, 335, 335, 290, 335, 335, 52, 285, 335,
+ 335, 335, 335, 287, 52, 286, 44, 44, 44, 335,
+ 335, 46, 44, 44, 44, 335, 335, 46, 335, 52,
+ 335, 44, 44, 44, 335, 52, 46, 44, 44, 44,
+ 335, 335, 46, 44, 44, 44, 335, 335, 46, 289,
+ 335, 335, 52, 335, 44, 44, 44, 335, 52, 46,
+ 44, 44, 44, 291, 335, 46, 335, 52, 335, 44,
+ 44, 44, 292, 52, 46, 44, 44, 44, 335, 52,
+ 46, 335, 44, 44, 44, 295, 335, 46, 293, 335,
+
+ 52, 335, 294, 44, 44, 44, 52, 335, 301, 44,
+ 44, 44, 335, 335, 46, 52, 335, 44, 44, 44,
+ 296, 52, 303, 335, 335, 335, 298, 297, 52, 335,
+ 44, 44, 44, 335, 300, 46, 299, 335, 335, 52,
+ 335, 44, 44, 44, 335, 52, 46, 44, 44, 44,
+ 335, 305, 46, 52, 44, 44, 44, 335, 335, 308,
+ 335, 302, 44, 44, 44, 335, 52, 309, 44, 44,
+ 44, 335, 335, 46, 335, 335, 335, 52, 335, 44,
+ 44, 44, 335, 52, 46, 335, 304, 44, 44, 44,
+ 52, 335, 46, 335, 335, 335, 335, 306, 52, 307,
+
+ 44, 44, 44, 335, 52, 46, 44, 44, 44, 335,
+ 335, 314, 44, 44, 44, 52, 335, 46, 335, 335,
+ 335, 310, 335, 52, 335, 335, 311, 44, 44, 44,
+ 335, 335, 316, 335, 335, 335, 52, 335, 335, 312,
+ 335, 335, 52, 335, 44, 44, 44, 335, 52, 46,
+ 335, 335, 44, 44, 44, 335, 313, 46, 335, 44,
+ 44, 44, 335, 52, 46, 44, 44, 44, 335, 315,
+ 46, 44, 44, 44, 335, 335, 321, 44, 44, 44,
+ 52, 335, 46, 335, 44, 44, 44, 335, 52, 323,
+ 335, 44, 44, 44, 335, 52, 324, 335, 335, 335,
+
+ 317, 52, 318, 44, 44, 44, 335, 52, 46, 44,
+ 44, 44, 319, 52, 326, 335, 335, 44, 44, 44,
+ 52, 320, 46, 335, 322, 335, 335, 52, 44, 44,
+ 44, 335, 335, 46, 335, 44, 44, 44, 335, 52,
+ 46, 44, 44, 44, 335, 52, 330, 44, 44, 44,
+ 335, 335, 46, 52, 335, 325, 44, 44, 44, 335,
+ 335, 46, 335, 335, 52, 44, 44, 44, 327, 335,
+ 46, 52, 335, 335, 44, 44, 44, 52, 329, 334,
+ 335, 335, 335, 52, 328, 335, 335, 335, 335, 335,
+ 335, 335, 52, 335, 335, 335, 335, 335, 335, 335,
+
+ 331, 52, 335, 335, 335, 335, 335, 335, 335, 335,
+ 52, 335, 335, 335, 332, 335, 335, 335, 335, 335,
+ 335, 335, 333, 36, 36, 36, 36, 36, 45, 45,
+ 45, 45, 45, 66, 335, 66, 66, 66, 85, 335,
+ 85, 335, 85, 87, 87, 87, 87, 87, 95, 95,
+ 95, 95, 95, 115, 335, 115, 115, 115, 130, 130,
+ 130, 11, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335
} ;
-static const flex_int16_t yy_chk[2028] =
+static const flex_int16_t yy_chk[2327] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 3, 3, 3, 4, 4, 4,
3, 9, 7, 4, 5, 5, 8, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 10, 13, 26,
- 13, 21, 315, 5, 5, 314, 21, 5, 37, 9,
+ 13, 21, 347, 5, 5, 346, 21, 5, 37, 9,
37, 27, 5, 28, 5, 32, 5, 17, 26, 17,
17, 17, 5, 5, 7, 10, 5, 25, 8, 25,
17, 5, 25, 25, 25, 27, 5, 28, 33, 32,
- 31, 5, 5, 15, 15, 15, 313, 44, 15, 17,
+ 31, 5, 5, 15, 15, 15, 345, 44, 15, 17,
42, 19, 42, 19, 19, 19, 20, 20, 20, 31,
- 312, 113, 33, 85, 19, 75, 15, 20, 77, 15,
- 15, 22, 198, 22, 22, 22, 15, 15, 44, 15,
- 113, 174, 15, 19, 22, 15, 20, 15, 75, 80,
- 15, 15, 77, 15, 85, 15, 15, 15, 15, 15,
- 15, 15, 76, 22, 45, 45, 45, 116, 78, 45,
-
- 47, 47, 47, 80, 79, 47, 48, 48, 48, 143,
- 149, 48, 49, 49, 49, 76, 116, 49, 50, 50,
- 50, 78, 125, 50, 51, 51, 51, 79, 143, 51,
- 45, 117, 52, 73, 73, 73, 47, 93, 48, 52,
- 50, 112, 48, 74, 74, 74, 47, 51, 49, 115,
- 53, 53, 53, 83, 50, 53, 54, 54, 54, 50,
- 51, 54, 48, 52, 112, 49, 51, 52, 55, 55,
- 55, 52, 115, 55, 82, 56, 56, 56, 111, 52,
- 56, 114, 52, 43, 52, 52, 53, 146, 57, 57,
- 57, 41, 54, 57, 39, 38, 58, 58, 58, 54,
-
- 53, 58, 111, 54, 55, 114, 146, 24, 54, 14,
- 11, 56, 59, 59, 59, 0, 0, 59, 60, 60,
- 60, 55, 0, 60, 57, 61, 61, 61, 0, 56,
- 61, 0, 58, 0, 0, 58, 0, 58, 62, 62,
- 62, 57, 0, 62, 63, 63, 63, 0, 59, 63,
- 0, 0, 0, 0, 60, 0, 65, 65, 65, 0,
- 66, 61, 66, 66, 66, 0, 63, 65, 61, 0,
- 59, 60, 0, 66, 62, 0, 0, 67, 0, 67,
- 63, 62, 67, 67, 67, 63, 65, 69, 69, 69,
- 87, 68, 66, 68, 68, 68, 0, 87, 69, 0,
-
- 63, 0, 0, 0, 68, 88, 88, 88, 0, 0,
- 88, 90, 90, 90, 0, 0, 90, 69, 0, 0,
- 0, 87, 0, 68, 0, 87, 89, 89, 89, 87,
- 0, 89, 0, 91, 91, 91, 0, 87, 91, 0,
- 87, 88, 87, 87, 0, 0, 88, 90, 92, 92,
- 92, 0, 0, 92, 0, 89, 90, 0, 0, 94,
- 94, 94, 89, 91, 94, 101, 101, 101, 0, 91,
- 101, 96, 96, 96, 0, 101, 96, 0, 92, 89,
- 0, 97, 97, 97, 92, 0, 97, 91, 0, 0,
- 0, 98, 98, 98, 0, 94, 98, 0, 0, 0,
-
- 0, 101, 92, 95, 95, 95, 0, 96, 0, 0,
- 95, 95, 95, 95, 95, 95, 96, 97, 99, 99,
- 99, 97, 0, 99, 0, 0, 0, 98, 0, 95,
- 95, 95, 95, 95, 95, 0, 98, 100, 100, 100,
- 0, 0, 100, 102, 102, 102, 0, 0, 102, 0,
- 103, 103, 103, 0, 99, 103, 0, 104, 104, 104,
- 0, 0, 104, 105, 105, 105, 0, 0, 105, 0,
- 106, 106, 106, 100, 99, 106, 0, 0, 0, 102,
- 107, 107, 107, 0, 0, 107, 103, 0, 102, 0,
- 0, 0, 100, 104, 0, 108, 108, 108, 0, 105,
-
- 108, 103, 109, 109, 109, 0, 106, 109, 120, 120,
- 120, 0, 104, 120, 0, 0, 107, 121, 121, 121,
- 105, 0, 121, 0, 0, 106, 0, 122, 122, 122,
- 0, 108, 122, 0, 0, 0, 108, 0, 109, 107,
- 0, 123, 123, 123, 120, 121, 123, 0, 0, 109,
- 124, 124, 124, 121, 108, 124, 128, 128, 128, 0,
- 0, 128, 120, 122, 0, 129, 129, 129, 0, 121,
- 129, 0, 122, 0, 131, 131, 131, 123, 0, 131,
- 0, 0, 0, 0, 131, 0, 124, 127, 127, 127,
- 0, 0, 128, 0, 127, 127, 127, 127, 127, 127,
-
- 0, 129, 130, 130, 130, 0, 0, 130, 0, 128,
- 131, 0, 0, 127, 127, 127, 127, 127, 127, 132,
- 132, 132, 0, 129, 132, 133, 133, 133, 0, 0,
- 133, 134, 134, 134, 0, 0, 134, 0, 130, 135,
- 135, 135, 0, 0, 135, 130, 0, 136, 136, 136,
- 0, 0, 136, 0, 0, 132, 0, 136, 137, 137,
- 137, 133, 0, 137, 133, 0, 0, 134, 138, 138,
- 138, 0, 0, 138, 0, 135, 134, 0, 0, 132,
- 0, 0, 135, 136, 139, 139, 139, 0, 0, 139,
- 140, 140, 140, 0, 137, 140, 141, 141, 141, 0,
-
- 0, 141, 0, 0, 138, 142, 142, 142, 0, 0,
- 142, 0, 137, 152, 152, 152, 0, 0, 152, 0,
- 139, 0, 0, 0, 0, 138, 140, 139, 151, 151,
- 151, 0, 141, 151, 0, 153, 153, 153, 0, 141,
- 153, 142, 151, 151, 0, 140, 0, 0, 0, 152,
- 142, 151, 157, 157, 157, 0, 0, 157, 0, 0,
- 158, 158, 158, 0, 151, 158, 0, 159, 159, 159,
- 0, 153, 159, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 153, 156, 156, 156, 0, 0, 157, 0,
- 156, 156, 156, 156, 156, 156, 158, 160, 160, 160,
-
- 0, 0, 160, 159, 0, 158, 0, 157, 0, 156,
- 156, 156, 156, 156, 156, 161, 161, 161, 0, 0,
- 161, 0, 0, 159, 162, 162, 162, 0, 0, 162,
- 0, 0, 0, 160, 163, 163, 163, 0, 0, 163,
- 164, 164, 164, 0, 0, 164, 0, 165, 165, 165,
- 0, 161, 165, 160, 161, 0, 166, 166, 166, 0,
- 162, 166, 167, 167, 167, 0, 162, 167, 0, 0,
- 163, 0, 0, 168, 168, 168, 164, 163, 168, 169,
- 169, 169, 0, 165, 169, 170, 170, 170, 0, 0,
- 170, 165, 166, 0, 171, 171, 171, 0, 167, 171,
-
- 0, 165, 0, 0, 171, 176, 176, 176, 0, 168,
- 176, 177, 177, 177, 166, 169, 177, 0, 178, 178,
- 178, 170, 169, 178, 0, 0, 0, 0, 168, 0,
- 171, 180, 180, 180, 0, 0, 180, 183, 183, 183,
- 170, 176, 183, 182, 182, 182, 0, 177, 182, 0,
- 0, 0, 0, 0, 178, 0, 0, 0, 0, 0,
- 178, 184, 184, 184, 0, 0, 184, 180, 0, 186,
- 186, 186, 0, 183, 186, 0, 0, 0, 0, 182,
- 0, 0, 0, 180, 181, 181, 181, 183, 0, 0,
- 182, 181, 181, 181, 181, 181, 181, 184, 185, 185,
-
- 185, 0, 0, 185, 0, 186, 0, 0, 0, 0,
- 181, 181, 181, 181, 181, 181, 0, 0, 184, 0,
- 187, 187, 187, 0, 186, 187, 0, 188, 188, 188,
- 0, 0, 188, 0, 185, 190, 190, 190, 0, 0,
- 190, 185, 191, 191, 191, 0, 0, 191, 192, 192,
- 192, 0, 0, 192, 0, 0, 187, 0, 0, 194,
- 194, 194, 187, 188, 194, 195, 195, 195, 0, 0,
- 195, 190, 196, 196, 196, 0, 0, 196, 191, 0,
- 0, 0, 188, 0, 192, 197, 197, 197, 190, 0,
- 197, 202, 202, 202, 0, 194, 202, 191, 0, 0,
-
- 0, 195, 203, 203, 203, 192, 0, 203, 196, 204,
- 204, 204, 0, 0, 204, 194, 0, 0, 0, 196,
- 0, 197, 195, 0, 205, 205, 205, 202, 0, 205,
- 0, 0, 0, 0, 197, 0, 0, 0, 203, 206,
- 206, 206, 0, 202, 206, 204, 0, 203, 0, 206,
- 207, 207, 207, 0, 0, 207, 208, 208, 208, 0,
- 205, 208, 0, 209, 209, 209, 204, 205, 209, 0,
- 0, 210, 210, 210, 0, 206, 210, 211, 211, 211,
- 0, 0, 211, 212, 212, 212, 207, 0, 212, 215,
- 215, 215, 208, 0, 215, 213, 213, 213, 208, 209,
-
- 213, 214, 214, 214, 0, 207, 214, 210, 0, 216,
- 216, 216, 0, 211, 216, 217, 217, 217, 209, 212,
- 217, 219, 219, 219, 0, 215, 219, 210, 0, 0,
- 0, 213, 211, 213, 0, 0, 212, 214, 220, 220,
- 220, 0, 0, 220, 214, 216, 0, 221, 221, 221,
- 0, 217, 221, 0, 222, 222, 222, 219, 217, 222,
- 223, 223, 223, 0, 0, 223, 216, 224, 224, 224,
- 0, 0, 224, 0, 220, 0, 0, 219, 0, 225,
- 225, 225, 0, 221, 225, 0, 226, 226, 226, 225,
- 222, 226, 0, 221, 0, 0, 223, 227, 227, 227,
-
- 223, 0, 227, 224, 228, 228, 228, 0, 0, 228,
- 0, 0, 0, 222, 0, 225, 229, 229, 229, 0,
- 0, 229, 226, 231, 231, 231, 224, 0, 231, 226,
- 0, 0, 0, 227, 232, 232, 232, 0, 0, 232,
- 228, 234, 234, 234, 232, 0, 234, 0, 235, 235,
- 235, 0, 229, 235, 0, 228, 236, 236, 236, 231,
- 0, 236, 238, 238, 238, 0, 0, 238, 0, 0,
- 232, 0, 0, 229, 0, 0, 231, 234, 239, 239,
- 239, 0, 0, 239, 235, 0, 240, 240, 240, 0,
- 0, 240, 236, 0, 241, 241, 241, 0, 238, 241,
-
- 0, 0, 234, 242, 242, 242, 0, 0, 242, 235,
- 243, 243, 243, 238, 239, 243, 0, 0, 245, 245,
- 245, 239, 240, 245, 246, 246, 246, 0, 0, 246,
- 241, 0, 0, 240, 0, 0, 0, 241, 0, 242,
- 0, 0, 247, 247, 247, 242, 243, 247, 248, 248,
- 248, 0, 0, 248, 245, 0, 0, 245, 0, 0,
- 246, 0, 249, 249, 249, 0, 243, 249, 250, 250,
- 250, 0, 0, 250, 252, 252, 252, 246, 247, 252,
- 253, 253, 253, 0, 248, 253, 254, 254, 254, 0,
- 248, 254, 255, 255, 255, 0, 247, 255, 249, 0,
-
- 256, 256, 256, 0, 250, 256, 0, 0, 0, 0,
- 252, 0, 257, 257, 257, 0, 253, 257, 258, 258,
- 258, 0, 254, 258, 250, 0, 0, 0, 255, 0,
- 253, 0, 0, 259, 259, 259, 256, 0, 259, 0,
- 0, 0, 256, 254, 260, 260, 260, 255, 257, 260,
- 261, 261, 261, 0, 258, 261, 0, 263, 263, 263,
- 0, 0, 263, 0, 0, 0, 0, 0, 257, 259,
- 0, 265, 265, 265, 259, 258, 265, 266, 266, 266,
- 260, 0, 266, 268, 268, 268, 261, 0, 268, 267,
- 267, 267, 261, 263, 267, 269, 269, 269, 0, 267,
-
- 269, 260, 0, 270, 270, 270, 0, 265, 270, 271,
- 271, 271, 0, 266, 271, 0, 272, 272, 272, 268,
- 0, 272, 273, 273, 273, 267, 0, 273, 0, 0,
- 0, 269, 0, 266, 0, 268, 276, 276, 276, 270,
- 0, 276, 277, 277, 277, 271, 0, 277, 278, 278,
- 278, 0, 272, 278, 0, 281, 281, 281, 273, 0,
- 281, 0, 271, 272, 282, 282, 282, 0, 0, 282,
- 0, 0, 276, 0, 273, 283, 283, 283, 277, 0,
- 283, 0, 0, 0, 278, 285, 285, 285, 0, 0,
- 285, 281, 286, 286, 286, 0, 0, 286, 0, 277,
-
- 282, 287, 287, 287, 278, 281, 287, 288, 288, 288,
- 0, 283, 288, 289, 289, 289, 0, 282, 289, 0,
- 0, 285, 290, 290, 290, 0, 0, 290, 286, 0,
- 0, 283, 285, 293, 293, 293, 0, 287, 293, 295,
- 295, 295, 0, 288, 295, 296, 296, 296, 0, 289,
- 296, 297, 297, 297, 0, 0, 297, 0, 290, 288,
- 299, 299, 299, 0, 0, 299, 300, 300, 300, 293,
- 0, 300, 0, 290, 0, 295, 0, 0, 301, 301,
- 301, 296, 295, 301, 0, 0, 0, 297, 0, 293,
- 0, 0, 0, 0, 0, 0, 299, 0, 0, 0,
-
- 0, 0, 300, 0, 297, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 301, 0, 0, 0, 299, 0,
- 0, 0, 0, 300, 304, 304, 304, 304, 304, 305,
- 305, 305, 305, 305, 306, 0, 306, 306, 306, 307,
- 0, 307, 0, 307, 308, 308, 308, 308, 308, 309,
- 309, 309, 309, 309, 310, 0, 310, 310, 310, 311,
- 311, 311, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
-
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303, 303, 303, 303,
- 303, 303, 303, 303, 303, 303, 303
+ 344, 118, 33, 87, 19, 77, 15, 20, 212, 15,
+ 15, 22, 185, 22, 22, 22, 15, 15, 44, 15,
+ 118, 157, 15, 19, 22, 15, 20, 15, 77, 15,
+ 15, 15, 15, 15, 87, 15, 15, 15, 15, 15,
+ 15, 15, 78, 22, 45, 45, 45, 79, 82, 45,
+
+ 47, 47, 47, 130, 80, 47, 48, 48, 48, 121,
+ 122, 48, 49, 49, 49, 78, 95, 49, 50, 50,
+ 50, 79, 82, 50, 51, 51, 51, 80, 121, 51,
+ 45, 85, 52, 75, 75, 75, 47, 84, 48, 52,
+ 50, 81, 48, 76, 76, 76, 47, 51, 49, 43,
+ 53, 53, 53, 41, 50, 53, 54, 54, 54, 50,
+ 51, 54, 48, 52, 81, 49, 51, 52, 55, 55,
+ 55, 52, 116, 55, 117, 56, 56, 56, 119, 52,
+ 56, 39, 52, 38, 52, 52, 53, 24, 57, 57,
+ 57, 14, 54, 57, 120, 11, 116, 117, 54, 54,
+
+ 53, 0, 119, 54, 55, 58, 58, 58, 54, 0,
+ 58, 56, 0, 59, 59, 59, 0, 120, 59, 151,
+ 69, 55, 69, 0, 57, 69, 69, 69, 56, 60,
+ 60, 60, 0, 0, 60, 61, 61, 61, 151, 154,
+ 61, 58, 57, 0, 0, 62, 62, 62, 58, 59,
+ 62, 63, 63, 63, 0, 0, 63, 0, 154, 64,
+ 64, 64, 0, 0, 64, 60, 59, 0, 60, 0,
+ 60, 61, 0, 0, 65, 65, 65, 0, 0, 65,
+ 0, 62, 0, 0, 0, 89, 0, 63, 67, 67,
+ 67, 0, 89, 61, 63, 64, 65, 0, 62, 67,
+
+ 0, 68, 64, 68, 68, 68, 71, 71, 71, 70,
+ 65, 70, 70, 70, 68, 65, 89, 71, 67, 0,
+ 89, 0, 70, 0, 89, 0, 90, 90, 90, 0,
+ 65, 90, 89, 68, 0, 89, 71, 89, 89, 0,
+ 0, 70, 91, 91, 91, 0, 0, 91, 92, 92,
+ 92, 0, 0, 92, 0, 93, 93, 93, 0, 0,
+ 93, 0, 90, 0, 94, 94, 94, 90, 0, 94,
+ 0, 91, 96, 96, 96, 0, 0, 96, 91, 0,
+ 0, 99, 99, 99, 92, 93, 99, 98, 98, 98,
+ 0, 93, 98, 92, 94, 91, 0, 0, 0, 0,
+
+ 94, 100, 100, 100, 0, 0, 100, 0, 96, 93,
+ 0, 0, 0, 0, 0, 0, 0, 99, 94, 97,
+ 97, 97, 0, 98, 0, 0, 97, 97, 97, 97,
+ 97, 97, 98, 99, 101, 101, 101, 100, 0, 101,
+ 0, 100, 0, 0, 0, 97, 97, 97, 97, 97,
+ 97, 102, 102, 102, 0, 0, 102, 103, 103, 103,
+ 0, 0, 103, 104, 104, 104, 0, 0, 104, 0,
+ 101, 0, 105, 105, 105, 0, 0, 105, 0, 101,
+ 0, 0, 105, 0, 106, 106, 106, 102, 0, 106,
+ 107, 107, 107, 103, 0, 107, 108, 108, 108, 104,
+
+ 0, 108, 0, 0, 109, 109, 109, 102, 105, 109,
+ 0, 0, 103, 110, 110, 110, 0, 0, 110, 104,
+ 106, 0, 111, 111, 111, 0, 107, 111, 112, 112,
+ 112, 0, 108, 112, 0, 107, 0, 113, 113, 113,
+ 109, 0, 113, 0, 0, 106, 0, 108, 0, 110,
+ 114, 114, 114, 0, 0, 114, 0, 0, 111, 109,
+ 0, 0, 0, 0, 112, 0, 125, 125, 125, 0,
+ 110, 125, 0, 113, 0, 0, 0, 111, 113, 126,
+ 126, 126, 0, 0, 126, 0, 114, 112, 127, 127,
+ 127, 0, 0, 127, 0, 0, 113, 114, 128, 128,
+
+ 128, 0, 125, 128, 129, 129, 129, 126, 0, 129,
+ 0, 133, 133, 133, 0, 126, 133, 0, 0, 0,
+ 125, 134, 134, 134, 127, 0, 134, 135, 135, 135,
+ 0, 126, 135, 127, 128, 0, 0, 0, 0, 0,
+ 129, 132, 132, 132, 0, 0, 0, 133, 132, 132,
+ 132, 132, 132, 132, 136, 136, 136, 134, 0, 136,
+ 138, 138, 138, 135, 133, 138, 0, 132, 132, 132,
+ 132, 132, 132, 137, 137, 137, 0, 134, 137, 139,
+ 139, 139, 0, 137, 139, 135, 140, 140, 140, 0,
+ 136, 140, 0, 141, 141, 141, 138, 136, 141, 142,
+
+ 142, 142, 0, 141, 142, 143, 143, 143, 0, 137,
+ 143, 144, 144, 144, 0, 139, 144, 0, 0, 0,
+ 138, 144, 140, 0, 0, 140, 145, 145, 145, 141,
+ 0, 145, 146, 146, 146, 142, 139, 146, 147, 147,
+ 147, 143, 0, 147, 142, 0, 0, 144, 143, 148,
+ 148, 148, 0, 0, 148, 149, 149, 149, 0, 0,
+ 149, 0, 145, 0, 150, 150, 150, 0, 146, 150,
+ 160, 160, 160, 0, 147, 160, 0, 0, 0, 0,
+ 145, 147, 159, 159, 159, 148, 0, 159, 0, 146,
+ 0, 149, 0, 0, 0, 0, 159, 159, 149, 0,
+
+ 150, 0, 0, 0, 148, 159, 160, 0, 0, 150,
+ 161, 161, 161, 0, 0, 161, 0, 0, 159, 165,
+ 165, 165, 0, 0, 165, 166, 166, 166, 0, 0,
+ 166, 0, 0, 0, 0, 166, 167, 167, 167, 0,
+ 0, 167, 168, 168, 168, 0, 161, 168, 0, 0,
+ 0, 0, 0, 0, 0, 165, 0, 161, 164, 164,
+ 164, 166, 0, 0, 0, 164, 164, 164, 164, 164,
+ 164, 0, 167, 0, 165, 169, 169, 169, 168, 0,
+ 169, 167, 0, 0, 164, 164, 164, 164, 164, 164,
+ 170, 170, 170, 0, 0, 170, 0, 0, 168, 171,
+
+ 171, 171, 0, 0, 171, 172, 172, 172, 0, 0,
+ 172, 169, 173, 173, 173, 0, 0, 173, 174, 174,
+ 174, 0, 0, 174, 0, 0, 170, 0, 0, 170,
+ 0, 169, 175, 175, 175, 171, 0, 175, 176, 176,
+ 176, 172, 0, 176, 177, 177, 177, 172, 173, 177,
+ 0, 171, 0, 0, 174, 178, 178, 178, 0, 0,
+ 178, 174, 0, 0, 173, 179, 179, 179, 175, 0,
+ 179, 180, 180, 180, 176, 0, 180, 0, 0, 0,
+ 177, 0, 176, 181, 181, 181, 0, 0, 181, 0,
+ 0, 178, 176, 182, 182, 182, 0, 0, 182, 0,
+
+ 0, 179, 177, 182, 187, 187, 187, 180, 0, 187,
+ 188, 188, 188, 0, 180, 188, 189, 189, 189, 181,
+ 179, 189, 0, 191, 191, 191, 0, 0, 191, 182,
+ 0, 0, 193, 193, 193, 0, 0, 193, 181, 0,
+ 187, 0, 0, 0, 0, 0, 188, 0, 0, 0,
+ 0, 0, 189, 0, 0, 194, 194, 194, 189, 191,
+ 194, 0, 195, 195, 195, 0, 0, 195, 193, 0,
+ 0, 0, 0, 0, 0, 191, 192, 192, 192, 193,
+ 0, 0, 0, 192, 192, 192, 192, 192, 192, 0,
+ 0, 194, 0, 0, 196, 196, 196, 194, 195, 196,
+
+ 0, 0, 192, 192, 192, 192, 192, 192, 0, 197,
+ 197, 197, 195, 0, 197, 0, 0, 198, 198, 198,
+ 0, 0, 198, 199, 199, 199, 0, 0, 199, 0,
+ 196, 200, 200, 200, 0, 0, 200, 0, 201, 201,
+ 201, 0, 0, 201, 0, 197, 0, 0, 0, 0,
+ 0, 196, 197, 198, 0, 202, 202, 202, 0, 199,
+ 202, 0, 199, 204, 204, 204, 0, 200, 204, 0,
+ 0, 0, 198, 200, 201, 0, 0, 201, 205, 205,
+ 205, 0, 0, 205, 206, 206, 206, 0, 0, 206,
+ 0, 202, 208, 208, 208, 0, 0, 208, 0, 204,
+
+ 209, 209, 209, 0, 0, 209, 210, 210, 210, 0,
+ 202, 210, 0, 0, 205, 0, 204, 0, 0, 0,
+ 206, 0, 211, 211, 211, 0, 0, 211, 208, 216,
+ 216, 216, 0, 205, 216, 0, 209, 0, 217, 217,
+ 217, 206, 210, 217, 218, 218, 218, 0, 208, 218,
+ 219, 219, 219, 210, 0, 219, 0, 209, 211, 220,
+ 220, 220, 0, 0, 220, 216, 0, 0, 221, 221,
+ 221, 211, 0, 221, 217, 0, 0, 0, 221, 0,
+ 218, 216, 0, 217, 0, 0, 219, 222, 222, 222,
+ 0, 0, 222, 0, 0, 220, 0, 0, 0, 0,
+
+ 0, 218, 220, 219, 221, 223, 223, 223, 0, 0,
+ 223, 0, 224, 224, 224, 0, 0, 224, 0, 225,
+ 225, 225, 0, 222, 225, 226, 226, 226, 0, 0,
+ 226, 227, 227, 227, 0, 0, 227, 0, 0, 0,
+ 0, 223, 222, 0, 228, 228, 228, 223, 224, 228,
+ 0, 0, 229, 229, 229, 225, 0, 229, 0, 0,
+ 0, 226, 0, 224, 230, 230, 230, 227, 0, 230,
+ 231, 231, 231, 0, 225, 231, 226, 0, 0, 0,
+ 228, 232, 232, 232, 0, 0, 232, 227, 229, 233,
+ 233, 233, 0, 0, 233, 0, 234, 234, 234, 228,
+
+ 230, 234, 230, 0, 0, 229, 231, 236, 236, 236,
+ 0, 0, 236, 231, 237, 237, 237, 232, 0, 237,
+ 0, 238, 238, 238, 0, 233, 238, 0, 239, 239,
+ 239, 0, 234, 239, 0, 240, 240, 240, 0, 234,
+ 240, 0, 0, 236, 0, 0, 233, 241, 241, 241,
+ 237, 0, 241, 242, 242, 242, 0, 238, 242, 0,
+ 243, 243, 243, 236, 239, 243, 0, 238, 0, 0,
+ 243, 240, 244, 244, 244, 0, 0, 244, 0, 239,
+ 245, 245, 245, 241, 0, 245, 0, 241, 0, 242,
+ 246, 246, 246, 0, 240, 246, 243, 0, 247, 247,
+
+ 247, 0, 0, 247, 248, 248, 248, 0, 244, 248,
+ 0, 0, 242, 0, 0, 244, 245, 249, 249, 249,
+ 0, 0, 249, 245, 0, 0, 246, 251, 251, 251,
+ 0, 0, 251, 246, 247, 0, 252, 252, 252, 0,
+ 248, 252, 254, 254, 254, 0, 252, 254, 0, 255,
+ 255, 255, 0, 249, 255, 248, 256, 256, 256, 0,
+ 0, 256, 0, 251, 258, 258, 258, 0, 0, 258,
+ 0, 0, 252, 0, 249, 0, 0, 0, 254, 0,
+ 251, 259, 259, 259, 0, 255, 259, 0, 260, 260,
+ 260, 0, 256, 260, 261, 261, 261, 0, 0, 261,
+
+ 258, 0, 0, 254, 262, 262, 262, 0, 0, 262,
+ 255, 0, 0, 0, 0, 258, 0, 259, 0, 0,
+ 259, 263, 263, 263, 260, 0, 263, 0, 0, 0,
+ 261, 260, 264, 264, 264, 0, 0, 264, 0, 0,
+ 262, 261, 0, 265, 265, 265, 0, 262, 265, 266,
+ 266, 266, 0, 0, 266, 0, 0, 263, 0, 268,
+ 268, 268, 0, 263, 268, 269, 269, 269, 264, 0,
+ 269, 270, 270, 270, 0, 0, 270, 0, 0, 265,
+ 0, 271, 271, 271, 0, 266, 271, 0, 272, 272,
+ 272, 0, 0, 272, 0, 268, 0, 0, 268, 265,
+
+ 0, 269, 0, 273, 273, 273, 0, 270, 273, 275,
+ 275, 275, 0, 0, 275, 0, 0, 271, 269, 0,
+ 0, 0, 0, 271, 272, 270, 276, 276, 276, 0,
+ 0, 276, 277, 277, 277, 0, 0, 277, 0, 273,
+ 0, 278, 278, 278, 0, 275, 278, 279, 279, 279,
+ 0, 0, 279, 280, 280, 280, 0, 0, 280, 273,
+ 0, 0, 276, 0, 282, 282, 282, 0, 277, 282,
+ 284, 284, 284, 276, 0, 284, 0, 278, 0, 286,
+ 286, 286, 277, 279, 286, 285, 285, 285, 0, 280,
+ 285, 0, 287, 287, 287, 280, 0, 287, 278, 0,
+
+ 282, 0, 279, 289, 289, 289, 284, 0, 289, 291,
+ 291, 291, 0, 0, 291, 286, 0, 292, 292, 292,
+ 282, 285, 292, 0, 0, 0, 285, 284, 287, 0,
+ 293, 293, 293, 0, 287, 293, 286, 0, 0, 289,
+ 0, 294, 294, 294, 0, 291, 294, 295, 295, 295,
+ 0, 294, 295, 292, 296, 296, 296, 0, 0, 296,
+ 0, 291, 297, 297, 297, 0, 293, 297, 298, 298,
+ 298, 0, 0, 298, 0, 0, 0, 294, 0, 299,
+ 299, 299, 0, 295, 299, 0, 293, 300, 300, 300,
+ 296, 0, 300, 0, 0, 0, 0, 294, 297, 295,
+
+ 302, 302, 302, 0, 298, 302, 304, 304, 304, 0,
+ 0, 304, 305, 305, 305, 299, 0, 305, 0, 0,
+ 0, 298, 0, 300, 0, 0, 299, 306, 306, 306,
+ 0, 0, 306, 0, 0, 0, 302, 0, 0, 300,
+ 0, 0, 304, 0, 307, 307, 307, 0, 305, 307,
+ 0, 0, 310, 310, 310, 0, 302, 310, 0, 311,
+ 311, 311, 0, 306, 311, 312, 312, 312, 0, 305,
+ 312, 313, 313, 313, 0, 0, 313, 315, 315, 315,
+ 307, 0, 315, 0, 317, 317, 317, 0, 310, 317,
+ 0, 318, 318, 318, 0, 311, 318, 0, 0, 0,
+
+ 307, 312, 310, 319, 319, 319, 0, 313, 319, 320,
+ 320, 320, 311, 315, 320, 0, 0, 322, 322, 322,
+ 317, 312, 322, 0, 315, 0, 0, 318, 325, 325,
+ 325, 0, 0, 325, 0, 327, 327, 327, 0, 319,
+ 327, 328, 328, 328, 0, 320, 328, 329, 329, 329,
+ 0, 0, 329, 322, 0, 319, 331, 331, 331, 0,
+ 0, 331, 0, 0, 325, 332, 332, 332, 322, 0,
+ 332, 327, 0, 0, 333, 333, 333, 328, 327, 333,
+ 0, 0, 0, 329, 325, 0, 0, 0, 0, 0,
+ 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
+
+ 329, 332, 0, 0, 0, 0, 0, 0, 0, 0,
+ 333, 0, 0, 0, 331, 0, 0, 0, 0, 0,
+ 0, 0, 332, 336, 336, 336, 336, 336, 337, 337,
+ 337, 337, 337, 338, 0, 338, 338, 338, 339, 0,
+ 339, 0, 339, 340, 340, 340, 340, 340, 341, 341,
+ 341, 341, 341, 342, 0, 342, 342, 342, 343, 343,
+ 343, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335, 335, 335, 335, 335,
+ 335, 335, 335, 335, 335, 335
} ;
static yy_state_type yy_last_accepting_state;
extern int d2_parser__flex_debug;
int d2_parser__flex_debug = 1;
-static const flex_int16_t yy_rule_linenum[54] =
+static const flex_int16_t yy_rule_linenum[58] =
{ 0,
117, 119, 121, 126, 127, 132, 133, 134, 146, 149,
- 154, 160, 169, 178, 187, 196, 205, 214, 224, 234,
- 244, 253, 262, 271, 280, 289, 299, 308, 317, 326,
- 335, 345, 354, 363, 372, 382, 480, 485, 490, 495,
- 496, 497, 498, 499, 500, 502, 520, 533, 538, 542,
- 544, 546, 548
+ 154, 160, 169, 179, 189, 198, 207, 216, 226, 236,
+ 246, 255, 264, 274, 283, 292, 302, 311, 320, 329,
+ 339, 348, 357, 366, 375, 386, 395, 404, 413, 423,
+ 521, 526, 531, 536, 537, 538, 539, 540, 541, 543,
+ 561, 574, 579, 583, 585, 587, 589
} ;
/* The intent behind this definition is that it'll catch
// To avoid the call to exit... oops!
#define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg)
-#line 1207 "d2_lexer.cc"
+#line 1282 "d2_lexer.cc"
/* noyywrap disables automatic rewinding for the next file to parse. Since we
always parse only a single string, there's no need to do any wraps. And
using yywrap requires linking with -lfl, which provides the default yywrap
// by moving it ahead by yyleng bytes. yyleng specifies the length of the
// currently matched token.
#define YY_USER_ACTION driver.loc_.columns(yyleng);
-#line 1233 "d2_lexer.cc"
-#line 1234 "d2_lexer.cc"
+#line 1308 "d2_lexer.cc"
+#line 1309 "d2_lexer.cc"
#define INITIAL 0
#define COMMENT 1
}
-#line 1542 "d2_lexer.cc"
+#line 1617 "d2_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 304 )
+ if ( yy_current_state >= 336 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
++yy_cp;
}
- while ( yy_current_state != 303 );
+ while ( yy_current_state != 335 );
yy_cp = (yy_last_accepting_cpos);
yy_current_state = (yy_last_accepting_state);
{
if ( yy_act == 0 )
fprintf( stderr, "--scanner backing up\n" );
- else if ( yy_act < 54 )
+ else if ( yy_act < 58 )
fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n",
(long)yy_rule_linenum[yy_act], d2_parser_text );
- else if ( yy_act == 54 )
+ else if ( yy_act == 58 )
fprintf( stderr, "--accepting default rule (\"%s\")\n",
d2_parser_text );
- else if ( yy_act == 55 )
+ else if ( yy_act == 59 )
fprintf( stderr, "--(end of buffer or a NUL)\n" );
else
fprintf( stderr, "--EOF (start condition %d)\n", YY_START );
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
+ case isc::d2::D2ParserContext::DNS_SERVERS:
return isc::d2::D2Parser::make_IP_ADDRESS(driver.loc_);
default:
return isc::d2::D2Parser::make_STRING("ip-address", driver.loc_);
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 178 "d2_lexer.ll"
+#line 179 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
+ case isc::d2::D2ParserContext::DNS_SERVERS:
return isc::d2::D2Parser::make_PORT(driver.loc_);
default:
return isc::d2::D2Parser::make_STRING("port", driver.loc_);
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 187 "d2_lexer.ll"
+#line 189 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 196 "d2_lexer.ll"
+#line 198 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 205 "d2_lexer.ll"
+#line 207 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 214 "d2_lexer.ll"
+#line 216 "d2_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) {
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 224 "d2_lexer.ll"
+#line 226 "d2_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) {
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 234 "d2_lexer.ll"
+#line 236 "d2_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_FORMAT) {
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 244 "d2_lexer.ll"
+#line 246 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 253 "d2_lexer.ll"
+#line 255 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 262 "d2_lexer.ll"
+#line 264 "d2_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::d2::D2ParserContext::FORWARD_DDNS:
+ case isc::d2::D2ParserContext::REVERSE_DDNS:
+ return isc::d2::D2Parser::make_DDNS_DOMAINS(driver.loc_);
+ default:
+ return isc::d2::D2Parser::make_STRING("ddns-domains", driver.loc_);
+ }
+}
+ YY_BREAK
+case 24:
+YY_RULE_SETUP
+#line 274 "d2_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::d2::D2ParserContext::DDNS_DOMAINS:
+ return isc::d2::D2Parser::make_KEY_NAME(driver.loc_);
+ default:
+ return isc::d2::D2Parser::make_STRING("key-name", driver.loc_);
+ }
+}
+ YY_BREAK
+case 25:
+YY_RULE_SETUP
+#line 283 "d2_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::d2::D2ParserContext::DDNS_DOMAINS:
+ return isc::d2::D2Parser::make_DNS_SERVERS(driver.loc_);
+ default:
+ return isc::d2::D2Parser::make_STRING("dns-servers", driver.loc_);
+ }
+}
+ YY_BREAK
+case 26:
+YY_RULE_SETUP
+#line 292 "d2_lexer.ll"
+{
+ switch(driver.ctx_) {
+ case isc::d2::D2ParserContext::DNS_SERVERS:
+ return isc::d2::D2Parser::make_HOSTNAME(driver.loc_);
+ default:
+ return isc::d2::D2Parser::make_STRING("hostname", driver.loc_);
+ }
+}
+ YY_BREAK
+case 27:
+YY_RULE_SETUP
+#line 302 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
}
}
YY_BREAK
-case 24:
+case 28:
YY_RULE_SETUP
-#line 271 "d2_lexer.ll"
+#line 311 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::TSIG_KEYS:
}
}
YY_BREAK
-case 25:
+case 29:
YY_RULE_SETUP
-#line 280 "d2_lexer.ll"
+#line 320 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::TSIG_KEYS:
}
}
YY_BREAK
-case 26:
+case 30:
YY_RULE_SETUP
-#line 289 "d2_lexer.ll"
+#line 329 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::TSIG_KEYS:
}
}
YY_BREAK
-case 27:
+case 31:
YY_RULE_SETUP
-#line 299 "d2_lexer.ll"
+#line 339 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONFIG:
}
}
YY_BREAK
-case 28:
+case 32:
YY_RULE_SETUP
-#line 308 "d2_lexer.ll"
+#line 348 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGING:
}
}
YY_BREAK
-case 29:
+case 33:
YY_RULE_SETUP
-#line 317 "d2_lexer.ll"
+#line 357 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
}
}
YY_BREAK
-case 30:
+case 34:
YY_RULE_SETUP
-#line 326 "d2_lexer.ll"
+#line 366 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
}
}
YY_BREAK
-case 31:
+case 35:
YY_RULE_SETUP
-#line 335 "d2_lexer.ll"
+#line 375 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
case isc::d2::D2ParserContext::TSIG_KEYS:
+ case isc::d2::D2ParserContext::DDNS_DOMAINS:
return isc::d2::D2Parser::make_NAME(driver.loc_);
default:
return isc::d2::D2Parser::make_STRING("name", driver.loc_);
}
}
YY_BREAK
-case 32:
+case 36:
YY_RULE_SETUP
-#line 345 "d2_lexer.ll"
+#line 386 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
}
}
YY_BREAK
-case 33:
+case 37:
YY_RULE_SETUP
-#line 354 "d2_lexer.ll"
+#line 395 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
}
}
YY_BREAK
-case 34:
+case 38:
YY_RULE_SETUP
-#line 363 "d2_lexer.ll"
+#line 404 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONFIG:
}
}
YY_BREAK
-case 35:
+case 39:
YY_RULE_SETUP
-#line 372 "d2_lexer.ll"
+#line 413 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONFIG:
}
}
YY_BREAK
-case 36:
+case 40:
YY_RULE_SETUP
-#line 382 "d2_lexer.ll"
+#line 423 "d2_lexer.ll"
{
// A string has been matched. It contains the actual string and single quotes.
// We need to get those quotes out of the way and just use its content, e.g.
return isc::d2::D2Parser::make_STRING(decoded, driver.loc_);
}
YY_BREAK
-case 37:
-/* rule 37 can match eol */
+case 41:
+/* rule 41 can match eol */
YY_RULE_SETUP
-#line 480 "d2_lexer.ll"
+#line 521 "d2_lexer.ll"
{
// Bad string with a forbidden control character inside
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
}
YY_BREAK
-case 38:
-/* rule 38 can match eol */
+case 42:
+/* rule 42 can match eol */
YY_RULE_SETUP
-#line 485 "d2_lexer.ll"
+#line 526 "d2_lexer.ll"
{
// Bad string with a bad escape inside
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
}
YY_BREAK
-case 39:
+case 43:
YY_RULE_SETUP
-#line 490 "d2_lexer.ll"
+#line 531 "d2_lexer.ll"
{
// Bad string with an open escape at the end
driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
}
YY_BREAK
-case 40:
+case 44:
YY_RULE_SETUP
-#line 495 "d2_lexer.ll"
+#line 536 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 41:
+case 45:
YY_RULE_SETUP
-#line 496 "d2_lexer.ll"
+#line 537 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
-case 42:
+case 46:
YY_RULE_SETUP
-#line 497 "d2_lexer.ll"
+#line 538 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 43:
+case 47:
YY_RULE_SETUP
-#line 498 "d2_lexer.ll"
+#line 539 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
-case 44:
+case 48:
YY_RULE_SETUP
-#line 499 "d2_lexer.ll"
+#line 540 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COMMA(driver.loc_); }
YY_BREAK
-case 45:
+case 49:
YY_RULE_SETUP
-#line 500 "d2_lexer.ll"
+#line 541 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COLON(driver.loc_); }
YY_BREAK
-case 46:
+case 50:
YY_RULE_SETUP
-#line 502 "d2_lexer.ll"
+#line 543 "d2_lexer.ll"
{
// An integer was found.
std::string tmp(yytext);
return isc::d2::D2Parser::make_INTEGER(integer, driver.loc_);
}
YY_BREAK
-case 47:
+case 51:
YY_RULE_SETUP
-#line 520 "d2_lexer.ll"
+#line 561 "d2_lexer.ll"
{
// A floating point was found.
std::string tmp(yytext);
return isc::d2::D2Parser::make_FLOAT(fp, driver.loc_);
}
YY_BREAK
-case 48:
+case 52:
YY_RULE_SETUP
-#line 533 "d2_lexer.ll"
+#line 574 "d2_lexer.ll"
{
string tmp(yytext);
return isc::d2::D2Parser::make_BOOLEAN(tmp == "true", driver.loc_);
}
YY_BREAK
-case 49:
+case 53:
YY_RULE_SETUP
-#line 538 "d2_lexer.ll"
+#line 579 "d2_lexer.ll"
{
return isc::d2::D2Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
-case 50:
+case 54:
YY_RULE_SETUP
-#line 542 "d2_lexer.ll"
+#line 583 "d2_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
-case 51:
+case 55:
YY_RULE_SETUP
-#line 544 "d2_lexer.ll"
+#line 585 "d2_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
-case 52:
+case 56:
YY_RULE_SETUP
-#line 546 "d2_lexer.ll"
+#line 587 "d2_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
-case 53:
+case 57:
YY_RULE_SETUP
-#line 548 "d2_lexer.ll"
+#line 589 "d2_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 550 "d2_lexer.ll"
+#line 591 "d2_lexer.ll"
{
if (driver.states_.empty()) {
return isc::d2::D2Parser::make_END(driver.loc_);
BEGIN(DIR_EXIT);
}
YY_BREAK
-case 54:
+case 58:
YY_RULE_SETUP
-#line 573 "d2_lexer.ll"
+#line 614 "d2_lexer.ll"
ECHO;
YY_BREAK
-#line 2257 "d2_lexer.cc"
+#line 2384 "d2_lexer.cc"
case YY_END_OF_BUFFER:
{
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 304 )
+ if ( yy_current_state >= 336 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 304 )
+ if ( yy_current_state >= 336 )
yy_c = yy_meta[yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
- yy_is_jam = (yy_current_state == 303);
+ yy_is_jam = (yy_current_state == 335);
return yy_is_jam ? 0 : yy_current_state;
}
/* %ok-for-header */
-#line 573 "d2_lexer.ll"
+#line 614 "d2_lexer.ll"
using namespace isc::dhcp;
{
switch (that.type_get ())
{
- case 46: // value
- case 73: // ncr_protocol_value
+ case 50: // value
+ case 77: // ncr_protocol_value
value.move< ElementPtr > (that.value);
break;
- case 40: // "boolean"
+ case 44: // "boolean"
value.move< bool > (that.value);
break;
- case 39: // "floating point"
+ case 43: // "floating point"
value.move< double > (that.value);
break;
- case 38: // "integer"
+ case 42: // "integer"
value.move< int64_t > (that.value);
break;
- case 37: // "constant string"
+ case 41: // "constant string"
value.move< std::string > (that.value);
break;
state = that.state;
switch (that.type_get ())
{
- case 46: // value
- case 73: // ncr_protocol_value
+ case 50: // value
+ case 77: // ncr_protocol_value
value.copy< ElementPtr > (that.value);
break;
- case 40: // "boolean"
+ case 44: // "boolean"
value.copy< bool > (that.value);
break;
- case 39: // "floating point"
+ case 43: // "floating point"
value.copy< double > (that.value);
break;
- case 38: // "integer"
+ case 42: // "integer"
value.copy< int64_t > (that.value);
break;
- case 37: // "constant string"
+ case 41: // "constant string"
value.copy< std::string > (that.value);
break;
<< yysym.location << ": ";
switch (yytype)
{
- case 37: // "constant string"
+ case 41: // "constant string"
-#line 94 "d2_parser.yy" // lalr1.cc:636
+#line 98 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< std::string > (); }
#line 354 "d2_parser.cc" // lalr1.cc:636
break;
- case 38: // "integer"
+ case 42: // "integer"
-#line 94 "d2_parser.yy" // lalr1.cc:636
+#line 98 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< int64_t > (); }
#line 361 "d2_parser.cc" // lalr1.cc:636
break;
- case 39: // "floating point"
+ case 43: // "floating point"
-#line 94 "d2_parser.yy" // lalr1.cc:636
+#line 98 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< double > (); }
#line 368 "d2_parser.cc" // lalr1.cc:636
break;
- case 40: // "boolean"
+ case 44: // "boolean"
-#line 94 "d2_parser.yy" // lalr1.cc:636
+#line 98 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< bool > (); }
#line 375 "d2_parser.cc" // lalr1.cc:636
break;
- case 46: // value
+ case 50: // value
-#line 94 "d2_parser.yy" // lalr1.cc:636
+#line 98 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< ElementPtr > (); }
#line 382 "d2_parser.cc" // lalr1.cc:636
break;
- case 73: // ncr_protocol_value
+ case 77: // ncr_protocol_value
-#line 94 "d2_parser.yy" // lalr1.cc:636
+#line 98 "d2_parser.yy" // lalr1.cc:636
{ yyoutput << yysym.value.template as< ElementPtr > (); }
#line 389 "d2_parser.cc" // lalr1.cc:636
break;
when using variants. */
switch (yyr1_[yyn])
{
- case 46: // value
- case 73: // ncr_protocol_value
+ case 50: // value
+ case 77: // ncr_protocol_value
yylhs.value.build< ElementPtr > ();
break;
- case 40: // "boolean"
+ case 44: // "boolean"
yylhs.value.build< bool > ();
break;
- case 39: // "floating point"
+ case 43: // "floating point"
yylhs.value.build< double > ();
break;
- case 38: // "integer"
+ case 42: // "integer"
yylhs.value.build< int64_t > ();
break;
- case 37: // "constant string"
+ case 41: // "constant string"
yylhs.value.build< std::string > ();
break;
switch (yyn)
{
case 2:
-#line 103 "d2_parser.yy" // lalr1.cc:859
+#line 107 "d2_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.NO_KEYWORD; }
#line 630 "d2_parser.cc" // lalr1.cc:859
break;
case 4:
-#line 104 "d2_parser.yy" // lalr1.cc:859
+#line 108 "d2_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.CONFIG; }
#line 636 "d2_parser.cc" // lalr1.cc:859
break;
case 6:
-#line 105 "d2_parser.yy" // lalr1.cc:859
+#line 109 "d2_parser.yy" // lalr1.cc:859
{ ctx.ctx_ = ctx.DHCPDDNS; }
#line 642 "d2_parser.cc" // lalr1.cc:859
break;
case 8:
-#line 113 "d2_parser.yy" // lalr1.cc:859
+#line 117 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); }
#line 648 "d2_parser.cc" // lalr1.cc:859
break;
case 9:
-#line 114 "d2_parser.yy" // lalr1.cc:859
+#line 118 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); }
#line 654 "d2_parser.cc" // lalr1.cc:859
break;
case 10:
-#line 115 "d2_parser.yy" // lalr1.cc:859
+#line 119 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); }
#line 660 "d2_parser.cc" // lalr1.cc:859
break;
case 11:
-#line 116 "d2_parser.yy" // lalr1.cc:859
+#line 120 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); }
#line 666 "d2_parser.cc" // lalr1.cc:859
break;
case 12:
-#line 117 "d2_parser.yy" // lalr1.cc:859
+#line 121 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); }
#line 672 "d2_parser.cc" // lalr1.cc:859
break;
case 13:
-#line 118 "d2_parser.yy" // lalr1.cc:859
+#line 122 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
#line 678 "d2_parser.cc" // lalr1.cc:859
break;
case 14:
-#line 119 "d2_parser.yy" // lalr1.cc:859
+#line 123 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); }
#line 684 "d2_parser.cc" // lalr1.cc:859
break;
case 15:
-#line 122 "d2_parser.yy" // lalr1.cc:859
+#line 126 "d2_parser.yy" // lalr1.cc:859
{
// Push back the JSON value on the stack
ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ());
break;
case 16:
-#line 127 "d2_parser.yy" // lalr1.cc:859
+#line 131 "d2_parser.yy" // lalr1.cc:859
{
// This code is executed when we're about to start parsing
// the content of the map
break;
case 17:
-#line 132 "d2_parser.yy" // lalr1.cc:859
+#line 136 "d2_parser.yy" // lalr1.cc:859
{
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
break;
case 20:
-#line 143 "d2_parser.yy" // lalr1.cc:859
+#line 147 "d2_parser.yy" // lalr1.cc:859
{
// map containing a single entry
ctx.stack_.back()->set(yystack_[2].value.as< std::string > (), yystack_[0].value.as< ElementPtr > ());
break;
case 21:
-#line 147 "d2_parser.yy" // lalr1.cc:859
+#line 151 "d2_parser.yy" // lalr1.cc:859
{
// map consisting of a shorter map followed by
// comma and string:value
break;
case 22:
-#line 154 "d2_parser.yy" // lalr1.cc:859
+#line 158 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.push_back(l);
break;
case 23:
-#line 157 "d2_parser.yy" // lalr1.cc:859
+#line 161 "d2_parser.yy" // lalr1.cc:859
{
// list parsing complete. Put any sanity checking here
}
break;
case 26:
-#line 173 "d2_parser.yy" // lalr1.cc:859
+#line 169 "d2_parser.yy" // lalr1.cc:859
{
// List consisting of a single element.
ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
break;
case 27:
-#line 177 "d2_parser.yy" // lalr1.cc:859
+#line 173 "d2_parser.yy" // lalr1.cc:859
{
// List ending with , and a value.
ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ());
break;
case 28:
-#line 188 "d2_parser.yy" // lalr1.cc:859
+#line 184 "d2_parser.yy" // lalr1.cc:859
{
const std::string& where = ctx.contextName();
const std::string& keyword = yystack_[1].value.as< std::string > ();
break;
case 29:
-#line 198 "d2_parser.yy" // lalr1.cc:859
+#line 194 "d2_parser.yy" // lalr1.cc:859
{
// This code is executed when we're about to start parsing
// the content of the map
break;
case 30:
-#line 203 "d2_parser.yy" // lalr1.cc:859
+#line 199 "d2_parser.yy" // lalr1.cc:859
{
// map parsing completed. If we ever want to do any wrap up
// (maybe some sanity checking), this would be the best place
break;
case 38:
-#line 224 "d2_parser.yy" // lalr1.cc:859
+#line 220 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("DhcpDdns", m);
break;
case 39:
-#line 229 "d2_parser.yy" // lalr1.cc:859
+#line 225 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
break;
case 40:
-#line 234 "d2_parser.yy" // lalr1.cc:859
+#line 230 "d2_parser.yy" // lalr1.cc:859
{
// Parse the dhcpddns map
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
break;
case 41:
-#line 238 "d2_parser.yy" // lalr1.cc:859
+#line 234 "d2_parser.yy" // lalr1.cc:859
{
// parsing completed
}
break;
case 53:
-#line 257 "d2_parser.yy" // lalr1.cc:859
+#line 253 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
break;
case 54:
-#line 259 "d2_parser.yy" // lalr1.cc:859
+#line 255 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ip-address", s);
break;
case 55:
-#line 265 "d2_parser.yy" // lalr1.cc:859
+#line 261 "d2_parser.yy" // lalr1.cc:859
{
if (yystack_[0].value.as< int64_t > () <= 0) {
error(yystack_[0].location, "port must be greater than zero");
break;
case 56:
-#line 273 "d2_parser.yy" // lalr1.cc:859
+#line 269 "d2_parser.yy" // lalr1.cc:859
{
if (yystack_[0].value.as< int64_t > () <= 0) {
error(yystack_[0].location, "dns-server-timeout must be greater than zero");
break;
case 57:
-#line 282 "d2_parser.yy" // lalr1.cc:859
+#line 278 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_PROTOCOL);
}
break;
case 58:
-#line 284 "d2_parser.yy" // lalr1.cc:859
+#line 280 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
break;
case 59:
-#line 290 "d2_parser.yy" // lalr1.cc:859
+#line 286 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); }
#line 904 "d2_parser.cc" // lalr1.cc:859
break;
case 60:
-#line 291 "d2_parser.yy" // lalr1.cc:859
+#line 287 "d2_parser.yy" // lalr1.cc:859
{ yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); }
#line 910 "d2_parser.cc" // lalr1.cc:859
break;
case 61:
-#line 294 "d2_parser.yy" // lalr1.cc:859
+#line 290 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NCR_FORMAT);
}
break;
case 62:
-#line 296 "d2_parser.yy" // lalr1.cc:859
+#line 292 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("ncr-format", json);
break;
case 63:
-#line 302 "d2_parser.yy" // lalr1.cc:859
+#line 298 "d2_parser.yy" // lalr1.cc:859
{
- ctx.enter(ctx.NO_KEYWORD);
+ ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("forward-ddns", m);
+ ctx.stack_.push_back(m);
+ ctx.enter(ctx.FORWARD_DDNS);
}
-#line 936 "d2_parser.cc" // lalr1.cc:859
+#line 939 "d2_parser.cc" // lalr1.cc:859
break;
case 64:
-#line 304 "d2_parser.yy" // lalr1.cc:859
+#line 303 "d2_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("forward-ddns", yystack_[0].value.as< ElementPtr > ());
+ ctx.stack_.pop_back();
ctx.leave();
}
-#line 945 "d2_parser.cc" // lalr1.cc:859
+#line 948 "d2_parser.cc" // lalr1.cc:859
break;
case 65:
-#line 309 "d2_parser.yy" // lalr1.cc:859
+#line 308 "d2_parser.yy" // lalr1.cc:859
{
- ctx.enter(ctx.NO_KEYWORD);
+ ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("reverse-ddns", m);
+ ctx.stack_.push_back(m);
+ ctx.enter(ctx.REVERSE_DDNS);
}
-#line 953 "d2_parser.cc" // lalr1.cc:859
+#line 959 "d2_parser.cc" // lalr1.cc:859
break;
case 66:
-#line 311 "d2_parser.yy" // lalr1.cc:859
+#line 313 "d2_parser.yy" // lalr1.cc:859
{
- ctx.stack_.back()->set("reverse-ddns", yystack_[0].value.as< ElementPtr > ());
+ ctx.stack_.pop_back();
ctx.leave();
}
-#line 962 "d2_parser.cc" // lalr1.cc:859
+#line 968 "d2_parser.cc" // lalr1.cc:859
break;
- case 67:
-#line 318 "d2_parser.yy" // lalr1.cc:859
+ case 73:
+#line 333 "d2_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("ddns-domains", l);
+ ctx.stack_.push_back(l);
+ ctx.enter(ctx.DDNS_DOMAINS);
+}
+#line 979 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 74:
+#line 338 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.pop_back();
+ ctx.leave();
+}
+#line 988 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 79:
+#line 351 "d2_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->add(m);
+ ctx.stack_.push_back(m);
+}
+#line 998 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 80:
+#line 355 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.pop_back();
+}
+#line 1006 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 87:
+#line 370 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1014 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 88:
+#line 372 "d2_parser.yy" // lalr1.cc:859
+ {
+ if (yystack_[0].value.as< std::string > () == "") {
+ error(yystack_[1].location, "name cannot be blank");
+ }
+ ElementPtr elem(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("name", name);
+ ctx.leave();
+}
+#line 1028 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 89:
+#line 382 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1036 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 90:
+#line 384 "d2_parser.yy" // lalr1.cc:859
+ {
+ if (yystack_[0].value.as< std::string > () == "") {
+ error(yystack_[1].location, "key-name cannot be blank");
+ }
+ ElementPtr elem(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("key-name", name);
+ ctx.leave();
+}
+#line 1050 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 91:
+#line 397 "d2_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("dns-servers", l);
+ ctx.stack_.push_back(l);
+ ctx.enter(ctx.DNS_SERVERS);
+}
+#line 1061 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 92:
+#line 402 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.pop_back();
+ ctx.leave();
+}
+#line 1070 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 97:
+#line 415 "d2_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->add(m);
+ ctx.stack_.push_back(m);
+}
+#line 1080 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 98:
+#line 419 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.stack_.pop_back();
+}
+#line 1088 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 105:
+#line 433 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1096 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 106:
+#line 435 "d2_parser.yy" // lalr1.cc:859
+ {
+ if (yystack_[0].value.as< std::string > () == "") {
+ error(yystack_[1].location, "hostname cannot be blank");
+ }
+ ElementPtr elem(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("hostname", name);
+ ctx.leave();
+}
+#line 1110 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 107:
+#line 445 "d2_parser.yy" // lalr1.cc:859
+ {
+ ctx.enter(ctx.NO_KEYWORD);
+}
+#line 1118 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 108:
+#line 447 "d2_parser.yy" // lalr1.cc:859
+ {
+ ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("ip-address", s);
+ ctx.leave();
+}
+#line 1128 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 109:
+#line 453 "d2_parser.yy" // lalr1.cc:859
+ {
+ if (yystack_[0].value.as< int64_t > () <= 0) {
+ error(yystack_[0].location, "port must be greater than zero");
+ }
+ ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
+ ctx.stack_.back()->set("port", i);
+}
+#line 1140 "d2_parser.cc" // lalr1.cc:859
+ break;
+
+ case 110:
+#line 467 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("tsig-keys", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.TSIG_KEYS);
}
-#line 973 "d2_parser.cc" // lalr1.cc:859
+#line 1151 "d2_parser.cc" // lalr1.cc:859
break;
- case 68:
-#line 323 "d2_parser.yy" // lalr1.cc:859
+ case 111:
+#line 472 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 982 "d2_parser.cc" // lalr1.cc:859
+#line 1160 "d2_parser.cc" // lalr1.cc:859
break;
- case 73:
-#line 336 "d2_parser.yy" // lalr1.cc:859
+ case 116:
+#line 485 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 992 "d2_parser.cc" // lalr1.cc:859
+#line 1170 "d2_parser.cc" // lalr1.cc:859
break;
- case 74:
-#line 340 "d2_parser.yy" // lalr1.cc:859
+ case 117:
+#line 489 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 1000 "d2_parser.cc" // lalr1.cc:859
+#line 1178 "d2_parser.cc" // lalr1.cc:859
break;
- case 82:
-#line 355 "d2_parser.yy" // lalr1.cc:859
+ case 125:
+#line 504 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1008 "d2_parser.cc" // lalr1.cc:859
+#line 1186 "d2_parser.cc" // lalr1.cc:859
break;
- case 83:
-#line 357 "d2_parser.yy" // lalr1.cc:859
+ case 126:
+#line 506 "d2_parser.yy" // lalr1.cc:859
{
if (yystack_[0].value.as< std::string > () == "") {
error(yystack_[1].location, "name cannot be blank");
ctx.stack_.back()->set("name", name);
ctx.leave();
}
-#line 1022 "d2_parser.cc" // lalr1.cc:859
+#line 1200 "d2_parser.cc" // lalr1.cc:859
break;
- case 84:
-#line 367 "d2_parser.yy" // lalr1.cc:859
+ case 127:
+#line 516 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1030 "d2_parser.cc" // lalr1.cc:859
+#line 1208 "d2_parser.cc" // lalr1.cc:859
break;
- case 85:
-#line 369 "d2_parser.yy" // lalr1.cc:859
+ case 128:
+#line 518 "d2_parser.yy" // lalr1.cc:859
{
if (yystack_[0].value.as< std::string > () == "") {
error(yystack_[1].location, "algorithm cannot be blank");
ctx.stack_.back()->set("algorithm", elem);
ctx.leave();
}
-#line 1043 "d2_parser.cc" // lalr1.cc:859
+#line 1221 "d2_parser.cc" // lalr1.cc:859
break;
- case 86:
-#line 378 "d2_parser.yy" // lalr1.cc:859
+ case 129:
+#line 527 "d2_parser.yy" // lalr1.cc:859
{
if (yystack_[0].value.as< int64_t > () < 0 || (yystack_[0].value.as< int64_t > () > 0 && (yystack_[0].value.as< int64_t > () % 8 != 0))) {
error(yystack_[0].location, "digest-bits must either be zero or a positive, multiple of eight");
ElementPtr elem(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("digest-bits", elem);
}
-#line 1055 "d2_parser.cc" // lalr1.cc:859
+#line 1233 "d2_parser.cc" // lalr1.cc:859
break;
- case 87:
-#line 386 "d2_parser.yy" // lalr1.cc:859
+ case 130:
+#line 535 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1063 "d2_parser.cc" // lalr1.cc:859
+#line 1241 "d2_parser.cc" // lalr1.cc:859
break;
- case 88:
-#line 388 "d2_parser.yy" // lalr1.cc:859
+ case 131:
+#line 537 "d2_parser.yy" // lalr1.cc:859
{
if (yystack_[0].value.as< std::string > () == "") {
error(yystack_[1].location, "secret cannot be blank");
ctx.stack_.back()->set("secret", elem);
ctx.leave();
}
-#line 1076 "d2_parser.cc" // lalr1.cc:859
+#line 1254 "d2_parser.cc" // lalr1.cc:859
break;
- case 89:
-#line 401 "d2_parser.yy" // lalr1.cc:859
+ case 132:
+#line 550 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1084 "d2_parser.cc" // lalr1.cc:859
+#line 1262 "d2_parser.cc" // lalr1.cc:859
break;
- case 90:
-#line 403 "d2_parser.yy" // lalr1.cc:859
+ case 133:
+#line 552 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1093 "d2_parser.cc" // lalr1.cc:859
+#line 1271 "d2_parser.cc" // lalr1.cc:859
break;
- case 91:
-#line 408 "d2_parser.yy" // lalr1.cc:859
+ case 134:
+#line 557 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1101 "d2_parser.cc" // lalr1.cc:859
+#line 1279 "d2_parser.cc" // lalr1.cc:859
break;
- case 92:
-#line 410 "d2_parser.yy" // lalr1.cc:859
+ case 135:
+#line 559 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ());
ctx.leave();
}
-#line 1110 "d2_parser.cc" // lalr1.cc:859
+#line 1288 "d2_parser.cc" // lalr1.cc:859
break;
- case 93:
-#line 420 "d2_parser.yy" // lalr1.cc:859
+ case 136:
+#line 569 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("Logging", m);
ctx.stack_.push_back(m);
ctx.enter(ctx.LOGGING);
}
-#line 1121 "d2_parser.cc" // lalr1.cc:859
+#line 1299 "d2_parser.cc" // lalr1.cc:859
break;
- case 94:
-#line 425 "d2_parser.yy" // lalr1.cc:859
+ case 137:
+#line 574 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1130 "d2_parser.cc" // lalr1.cc:859
+#line 1308 "d2_parser.cc" // lalr1.cc:859
break;
- case 98:
-#line 442 "d2_parser.yy" // lalr1.cc:859
+ case 141:
+#line 591 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("loggers", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.LOGGERS);
}
-#line 1141 "d2_parser.cc" // lalr1.cc:859
+#line 1319 "d2_parser.cc" // lalr1.cc:859
break;
- case 99:
-#line 447 "d2_parser.yy" // lalr1.cc:859
+ case 142:
+#line 596 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1150 "d2_parser.cc" // lalr1.cc:859
+#line 1328 "d2_parser.cc" // lalr1.cc:859
break;
- case 102:
-#line 459 "d2_parser.yy" // lalr1.cc:859
+ case 145:
+#line 608 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr l(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(l);
ctx.stack_.push_back(l);
}
-#line 1160 "d2_parser.cc" // lalr1.cc:859
+#line 1338 "d2_parser.cc" // lalr1.cc:859
break;
- case 103:
-#line 463 "d2_parser.yy" // lalr1.cc:859
+ case 146:
+#line 612 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 1168 "d2_parser.cc" // lalr1.cc:859
+#line 1346 "d2_parser.cc" // lalr1.cc:859
break;
- case 111:
-#line 478 "d2_parser.yy" // lalr1.cc:859
+ case 154:
+#line 627 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1176 "d2_parser.cc" // lalr1.cc:859
+#line 1354 "d2_parser.cc" // lalr1.cc:859
break;
- case 112:
-#line 480 "d2_parser.yy" // lalr1.cc:859
+ case 155:
+#line 629 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("name", name);
ctx.leave();
}
-#line 1186 "d2_parser.cc" // lalr1.cc:859
+#line 1364 "d2_parser.cc" // lalr1.cc:859
break;
- case 113:
-#line 486 "d2_parser.yy" // lalr1.cc:859
+ case 156:
+#line 635 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr dl(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("debuglevel", dl);
}
-#line 1195 "d2_parser.cc" // lalr1.cc:859
+#line 1373 "d2_parser.cc" // lalr1.cc:859
break;
- case 114:
-#line 490 "d2_parser.yy" // lalr1.cc:859
+ case 157:
+#line 639 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1203 "d2_parser.cc" // lalr1.cc:859
+#line 1381 "d2_parser.cc" // lalr1.cc:859
break;
- case 115:
-#line 492 "d2_parser.yy" // lalr1.cc:859
+ case 158:
+#line 641 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("severity", sev);
ctx.leave();
}
-#line 1213 "d2_parser.cc" // lalr1.cc:859
+#line 1391 "d2_parser.cc" // lalr1.cc:859
break;
- case 116:
-#line 498 "d2_parser.yy" // lalr1.cc:859
+ case 159:
+#line 647 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output_options", l);
ctx.stack_.push_back(l);
ctx.enter(ctx.OUTPUT_OPTIONS);
}
-#line 1224 "d2_parser.cc" // lalr1.cc:859
+#line 1402 "d2_parser.cc" // lalr1.cc:859
break;
- case 117:
-#line 503 "d2_parser.yy" // lalr1.cc:859
+ case 160:
+#line 652 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
ctx.leave();
}
-#line 1233 "d2_parser.cc" // lalr1.cc:859
+#line 1411 "d2_parser.cc" // lalr1.cc:859
break;
- case 120:
-#line 512 "d2_parser.yy" // lalr1.cc:859
+ case 163:
+#line 661 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->add(m);
ctx.stack_.push_back(m);
}
-#line 1243 "d2_parser.cc" // lalr1.cc:859
+#line 1421 "d2_parser.cc" // lalr1.cc:859
break;
- case 121:
-#line 516 "d2_parser.yy" // lalr1.cc:859
+ case 164:
+#line 665 "d2_parser.yy" // lalr1.cc:859
{
ctx.stack_.pop_back();
}
-#line 1251 "d2_parser.cc" // lalr1.cc:859
+#line 1429 "d2_parser.cc" // lalr1.cc:859
break;
- case 124:
-#line 524 "d2_parser.yy" // lalr1.cc:859
+ case 167:
+#line 673 "d2_parser.yy" // lalr1.cc:859
{
ctx.enter(ctx.NO_KEYWORD);
}
-#line 1259 "d2_parser.cc" // lalr1.cc:859
+#line 1437 "d2_parser.cc" // lalr1.cc:859
break;
- case 125:
-#line 526 "d2_parser.yy" // lalr1.cc:859
+ case 168:
+#line 675 "d2_parser.yy" // lalr1.cc:859
{
ElementPtr sev(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location)));
ctx.stack_.back()->set("output", sev);
ctx.leave();
}
-#line 1269 "d2_parser.cc" // lalr1.cc:859
+#line 1447 "d2_parser.cc" // lalr1.cc:859
break;
-#line 1273 "d2_parser.cc" // lalr1.cc:859
+#line 1451 "d2_parser.cc" // lalr1.cc:859
default:
break;
}
}
- const signed char D2Parser::yypact_ninf_ = -78;
+ const signed char D2Parser::yypact_ninf_ = -104;
const signed char D2Parser::yytable_ninf_ = -1;
- const signed char
+ const short int
D2Parser::yypact_[] =
{
- 28, -78, -78, -78, 5, -3, 12, 13, -78, -78,
- -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
- -78, -78, -78, -78, -3, -7, 1, 2, -78, 27,
- 43, 54, 52, 66, -78, -78, -78, -78, 67, -78,
- 0, -78, -78, -78, -78, -78, -78, 68, 69, -78,
- -78, -78, -78, -78, -78, 6, -78, -78, -78, -78,
- -78, -78, -78, -78, -78, -78, -3, -3, -78, 33,
- 70, 71, 72, 75, -78, 1, -78, 76, 44, 45,
- 80, 81, 82, 83, 84, 2, -78, -78, -78, 85,
- -3, -3, 86, 87, -78, 55, -78, -78, 48, 77,
- -3, -3, 90, -78, -3, -78, -78, 2, 62, -78,
- -78, -78, -78, -78, -78, -78, 89, -78, 19, -78,
- 23, -78, -78, -78, 92, 88, -78, -78, 95, 62,
- -78, 16, -78, 89, 96, -78, -78, 98, -78, -78,
- -78, 49, -78, -78, -78, -78, -78, -78, 93, 99,
- 73, 100, 102, 16, -78, -78, 4, -78, 78, -78,
- 79, 91, -78, 18, 93, -78, -78, -78, -78, -78,
- -78, 103, -78, -78, 51, -78, -78, -78, -78, -78,
- -78, 104, 105, 74, 106, 18, -78, 94, 108, -78,
- 97, -78, -78, 107, -78, -78, 26, -78, 101, 107,
- -78, -78, 53, -78, -78, 113, 101, -78, 109, -78,
- -78
+ -24, -104, -104, -104, 3, -3, -2, 0, -104, -104,
+ -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
+ -104, -104, -104, -104, -3, -8, 1, 4, -104, 42,
+ 47, 58, 68, 79, -104, -104, -104, -104, 83, -104,
+ 19, -104, -104, -104, -104, -104, -104, 88, 89, -104,
+ -104, -104, -104, -104, -104, 21, -104, -104, -104, -104,
+ -104, -104, -104, -104, -104, -104, -3, -3, -104, 53,
+ 91, 92, 93, 94, -104, 1, -104, 95, 59, 60,
+ 96, 99, 100, 101, 102, 4, -104, -104, -104, 103,
+ -3, -3, 104, 105, -104, 74, -104, -104, 73, 90,
+ 107, 110, 113, -104, -3, -104, -104, 4, 87, -104,
+ -104, -104, -104, -104, -13, -13, 114, -104, 27, -104,
+ 51, -104, -104, -104, -104, 63, -104, -104, -104, 66,
+ -104, 116, 106, -104, -104, 119, 87, -104, 120, -13,
+ -104, -104, 23, -104, 114, 115, -104, 121, -104, -104,
+ 123, -104, -104, -104, 67, -104, -104, -104, -104, -104,
+ -104, 118, 122, 124, 97, 126, 127, 23, -104, -104,
+ 31, -104, -104, 128, 129, -104, 108, -104, 109, 111,
+ -104, 24, 118, -104, 22, -104, 122, -104, -104, -104,
+ -104, -104, 131, -104, -104, 69, -104, -104, -104, -104,
+ -104, -104, -104, -104, -104, -104, 70, -104, -104, -104,
+ -104, -104, 132, 133, 98, 134, 24, -104, 138, 139,
+ 140, 22, -104, 112, 141, -104, 125, -104, 130, 142,
+ 135, -104, -104, 144, -104, -104, 147, -104, -104, 80,
+ -104, -104, 150, 145, -104, 137, 144, -104, -5, -104,
+ 147, -104, 76, -104, -104, -104, 153, -104, -104, 77,
+ -104, -104, -104, -104, -104, 155, 137, -104, 156, 136,
+ 157, -5, -104, 143, -104, 146, -104, 148, -104, -104,
+ -104, -104
};
const unsigned char
0, 2, 4, 6, 0, 0, 0, 0, 1, 22,
16, 12, 11, 8, 9, 10, 15, 3, 13, 14,
29, 5, 40, 7, 24, 18, 0, 0, 26, 0,
- 25, 0, 0, 19, 89, 91, 38, 93, 0, 37,
+ 25, 0, 0, 19, 132, 134, 38, 136, 0, 37,
0, 31, 36, 33, 35, 34, 53, 0, 0, 57,
- 61, 63, 65, 67, 52, 0, 42, 44, 45, 46,
+ 61, 63, 65, 110, 52, 0, 42, 44, 45, 46,
47, 48, 49, 50, 51, 23, 0, 0, 17, 0,
0, 0, 0, 0, 28, 0, 30, 0, 0, 0,
0, 0, 0, 0, 0, 0, 41, 27, 20, 0,
0, 0, 0, 0, 32, 0, 55, 56, 0, 0,
- 0, 0, 0, 43, 0, 90, 92, 0, 0, 54,
- 59, 60, 58, 62, 64, 66, 69, 21, 0, 98,
- 0, 95, 97, 73, 0, 70, 71, 39, 0, 0,
- 94, 0, 68, 0, 0, 96, 84, 0, 87, 82,
- 81, 0, 75, 77, 78, 79, 80, 72, 0, 0,
- 0, 0, 0, 0, 74, 102, 0, 100, 0, 86,
- 0, 0, 76, 0, 0, 99, 85, 88, 83, 111,
- 116, 0, 114, 110, 0, 104, 106, 108, 109, 107,
- 101, 0, 0, 0, 0, 0, 103, 0, 0, 113,
- 0, 105, 112, 0, 115, 120, 0, 118, 0, 0,
- 117, 124, 0, 122, 119, 0, 0, 121, 0, 123,
- 125
+ 0, 0, 0, 43, 0, 133, 135, 0, 0, 54,
+ 59, 60, 58, 62, 67, 67, 112, 21, 0, 141,
+ 0, 138, 140, 73, 72, 0, 68, 69, 71, 0,
+ 116, 0, 113, 114, 39, 0, 0, 137, 0, 0,
+ 64, 66, 0, 111, 0, 0, 139, 0, 70, 127,
+ 0, 130, 125, 124, 0, 118, 120, 121, 122, 123,
+ 115, 0, 75, 0, 0, 0, 0, 0, 117, 145,
+ 0, 143, 79, 0, 76, 77, 0, 129, 0, 0,
+ 119, 0, 0, 142, 0, 74, 0, 128, 131, 126,
+ 154, 159, 0, 157, 153, 0, 147, 149, 151, 152,
+ 150, 144, 89, 91, 87, 86, 0, 81, 83, 84,
+ 85, 78, 0, 0, 0, 0, 0, 146, 0, 0,
+ 0, 0, 80, 0, 0, 156, 0, 148, 0, 0,
+ 0, 82, 155, 0, 158, 90, 93, 88, 163, 0,
+ 161, 97, 0, 94, 95, 0, 0, 160, 0, 92,
+ 0, 167, 0, 165, 162, 107, 0, 105, 104, 0,
+ 99, 101, 102, 103, 96, 0, 0, 164, 0, 0,
+ 0, 0, 98, 0, 166, 0, 109, 0, 100, 168,
+ 108, 106
};
const signed char
D2Parser::yypgoto_[] =
{
- -78, -78, -78, -78, -78, -23, -78, -78, -78, -78,
- -78, -78, -78, -78, -78, -26, -78, -78, -78, 46,
- -78, -78, -78, -78, 11, 34, -78, -78, -78, -78,
- -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
- -78, -78, -78, -13, -78, -78, -31, -78, -78, -78,
- -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
- -78, -6, -78, -78, -78, -40, -78, -78, -60, -78,
- -78, -78, -78, -78, -78, -78, -78, -73, -78, -78,
- -77, -78
+ -104, -104, -104, -104, -104, -23, -104, -104, -104, -104,
+ -104, -104, -104, -104, -104, -26, -104, -104, -104, 33,
+ -104, -104, -104, -104, 26, 78, -104, -104, -104, -104,
+ -104, -104, -104, -104, -104, -104, -104, -104, -104, 30,
+ -104, 25, -104, -104, -104, -104, -21, -104, -104, -59,
+ -104, -104, -104, -104, -104, -104, -104, -104, -83, -104,
+ -104, -103, -104, -104, -104, -104, -104, -104, -104, -104,
+ -104, 29, -104, -104, 2, -104, -104, -104, -104, -104,
+ -104, -104, -104, -104, -104, -104, -104, -104, -104, 34,
+ -104, -104, -104, -7, -104, -104, -42, -104, -104, -104,
+ -104, -104, -104, -104, -104, -69, -104, -104, -87, -104
};
const short int
-1, 4, 5, 6, 7, 16, 17, 18, 25, 32,
33, 19, 24, 29, 30, 54, 21, 26, 40, 41,
42, 72, 23, 27, 55, 56, 57, 77, 58, 59,
- 60, 80, 112, 61, 81, 62, 82, 63, 83, 64,
- 84, 124, 125, 126, 131, 141, 142, 143, 152, 144,
- 149, 145, 146, 151, 43, 70, 44, 71, 45, 73,
- 120, 121, 122, 128, 156, 157, 163, 174, 175, 176,
- 181, 177, 178, 184, 179, 182, 196, 197, 198, 202,
- 203, 205
+ 60, 80, 112, 61, 81, 62, 82, 63, 83, 125,
+ 126, 127, 128, 138, 173, 174, 175, 184, 206, 207,
+ 208, 220, 209, 218, 210, 219, 242, 243, 244, 248,
+ 259, 260, 261, 270, 262, 268, 263, 64, 84, 131,
+ 132, 133, 142, 154, 155, 156, 166, 157, 163, 158,
+ 159, 165, 43, 70, 44, 71, 45, 73, 120, 121,
+ 122, 135, 170, 171, 181, 195, 196, 197, 212, 198,
+ 199, 215, 200, 213, 239, 240, 245, 252, 253, 265
};
- const unsigned char
+ const unsigned short int
D2Parser::yytable_[] =
{
- 39, 28, 9, 75, 10, 8, 11, 164, 76, 85,
- 165, 34, 35, 36, 86, 46, 47, 48, 49, 20,
- 22, 50, 85, 51, 52, 53, 129, 127, 37, 199,
- 31, 130, 200, 65, 12, 13, 14, 15, 38, 38,
- 136, 137, 138, 87, 88, 139, 66, 169, 170, 39,
- 171, 172, 153, 38, 185, 38, 206, 154, 67, 186,
- 68, 207, 1, 2, 3, 110, 111, 105, 106, 69,
- 89, 74, 78, 79, 90, 91, 92, 114, 115, 93,
- 95, 117, 96, 97, 98, 99, 100, 101, 102, 104,
- 119, 133, 109, 107, 108, 116, 123, 113, 132, 134,
- 155, 148, 150, 158, 160, 140, 161, 183, 187, 188,
- 190, 159, 189, 193, 195, 166, 167, 208, 118, 103,
- 147, 94, 162, 135, 180, 191, 204, 140, 168, 209,
- 0, 192, 201, 0, 194, 0, 0, 173, 0, 0,
- 0, 0, 0, 0, 0, 0, 210, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 173
+ 39, 28, 9, 8, 10, 20, 11, 22, 255, 256,
+ 123, 34, 35, 36, 1, 2, 3, 46, 47, 48,
+ 49, 257, 75, 50, 85, 51, 52, 76, 38, 86,
+ 85, 53, 37, 31, 182, 134, 38, 183, 12, 13,
+ 14, 15, 38, 87, 88, 38, 202, 203, 65, 39,
+ 66, 149, 150, 151, 136, 204, 152, 190, 191, 137,
+ 192, 193, 67, 38, 38, 38, 139, 105, 106, 139,
+ 167, 140, 216, 221, 141, 168, 68, 217, 222, 266,
+ 271, 117, 69, 246, 267, 272, 247, 74, 124, 124,
+ 110, 111, 78, 79, 89, 90, 91, 92, 93, 95,
+ 98, 96, 97, 99, 100, 101, 102, 104, 94, 144,
+ 113, 107, 108, 124, 114, 109, 153, 115, 116, 119,
+ 161, 130, 143, 145, 147, 169, 162, 164, 176, 172,
+ 178, 179, 186, 118, 185, 214, 223, 224, 226, 177,
+ 225, 153, 228, 229, 230, 129, 233, 236, 250, 187,
+ 188, 238, 189, 232, 241, 194, 249, 269, 205, 273,
+ 275, 277, 231, 103, 148, 211, 234, 264, 278, 180,
+ 146, 235, 251, 160, 227, 201, 237, 254, 276, 274,
+ 0, 0, 0, 0, 279, 0, 0, 280, 0, 281,
+ 194, 0, 0, 0, 0, 205, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 258, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 258
};
const short int
D2Parser::yycheck_[] =
{
- 26, 24, 5, 3, 7, 0, 9, 3, 8, 3,
- 6, 10, 11, 12, 8, 13, 14, 15, 16, 7,
- 7, 19, 3, 21, 22, 23, 3, 8, 27, 3,
- 37, 8, 6, 6, 37, 38, 39, 40, 37, 37,
- 24, 25, 26, 66, 67, 29, 3, 29, 30, 75,
- 32, 33, 3, 37, 3, 37, 3, 8, 4, 8,
- 8, 8, 34, 35, 36, 17, 18, 90, 91, 3,
- 37, 4, 4, 4, 4, 4, 4, 100, 101, 4,
- 4, 104, 38, 38, 4, 4, 4, 4, 4, 4,
- 28, 3, 37, 7, 7, 5, 7, 20, 6, 4,
- 7, 5, 4, 4, 4, 131, 4, 4, 4, 4,
- 4, 38, 38, 5, 7, 37, 37, 4, 107, 85,
- 133, 75, 153, 129, 164, 185, 199, 153, 37, 206,
- -1, 37, 31, -1, 37, -1, -1, 163, -1, -1,
- -1, -1, -1, -1, -1, -1, 37, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 185
+ 26, 24, 5, 0, 7, 7, 9, 7, 13, 14,
+ 23, 10, 11, 12, 38, 39, 40, 13, 14, 15,
+ 16, 26, 3, 19, 3, 21, 22, 8, 41, 8,
+ 3, 27, 31, 41, 3, 8, 41, 6, 41, 42,
+ 43, 44, 41, 66, 67, 41, 24, 25, 6, 75,
+ 3, 28, 29, 30, 3, 33, 33, 33, 34, 8,
+ 36, 37, 4, 41, 41, 41, 3, 90, 91, 3,
+ 3, 8, 3, 3, 8, 8, 8, 8, 8, 3,
+ 3, 104, 3, 3, 8, 8, 6, 4, 114, 115,
+ 17, 18, 4, 4, 41, 4, 4, 4, 4, 4,
+ 4, 42, 42, 4, 4, 4, 4, 4, 75, 3,
+ 20, 7, 7, 139, 7, 41, 142, 7, 5, 32,
+ 5, 7, 6, 4, 4, 7, 5, 4, 4, 7,
+ 4, 4, 3, 107, 6, 4, 4, 4, 4, 42,
+ 42, 167, 4, 4, 4, 115, 5, 5, 3, 41,
+ 41, 7, 41, 41, 7, 181, 6, 4, 184, 4,
+ 4, 4, 221, 85, 139, 186, 41, 250, 271, 167,
+ 136, 41, 35, 144, 216, 182, 41, 246, 42, 266,
+ -1, -1, -1, -1, 41, -1, -1, 41, -1, 41,
+ 216, -1, -1, -1, -1, 221, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 248, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 271
};
const unsigned char
D2Parser::yystos_[] =
{
- 0, 34, 35, 36, 42, 43, 44, 45, 0, 5,
- 7, 9, 37, 38, 39, 40, 46, 47, 48, 52,
- 7, 57, 7, 63, 53, 49, 58, 64, 46, 54,
- 55, 37, 50, 51, 10, 11, 12, 27, 37, 56,
- 59, 60, 61, 95, 97, 99, 13, 14, 15, 16,
- 19, 21, 22, 23, 56, 65, 66, 67, 69, 70,
- 71, 74, 76, 78, 80, 6, 3, 4, 8, 3,
- 96, 98, 62, 100, 4, 3, 8, 68, 4, 4,
- 72, 75, 77, 79, 81, 3, 8, 46, 46, 37,
- 4, 4, 4, 4, 60, 4, 38, 38, 4, 4,
- 4, 4, 4, 66, 4, 46, 46, 7, 7, 37,
- 17, 18, 73, 20, 46, 46, 5, 46, 65, 28,
- 101, 102, 103, 7, 82, 83, 84, 8, 104, 3,
- 8, 85, 6, 3, 4, 102, 24, 25, 26, 29,
- 56, 86, 87, 88, 90, 92, 93, 84, 5, 91,
- 4, 94, 89, 3, 8, 7, 105, 106, 4, 38,
- 4, 4, 87, 107, 3, 6, 37, 37, 37, 29,
- 30, 32, 33, 56, 108, 109, 110, 112, 113, 115,
- 106, 111, 116, 4, 114, 3, 8, 4, 4, 38,
- 4, 109, 37, 5, 37, 7, 117, 118, 119, 3,
- 6, 31, 120, 121, 118, 122, 3, 8, 4, 121,
- 37
+ 0, 38, 39, 40, 46, 47, 48, 49, 0, 5,
+ 7, 9, 41, 42, 43, 44, 50, 51, 52, 56,
+ 7, 61, 7, 67, 57, 53, 62, 68, 50, 58,
+ 59, 41, 54, 55, 10, 11, 12, 31, 41, 60,
+ 63, 64, 65, 127, 129, 131, 13, 14, 15, 16,
+ 19, 21, 22, 27, 60, 69, 70, 71, 73, 74,
+ 75, 78, 80, 82, 112, 6, 3, 4, 8, 3,
+ 128, 130, 66, 132, 4, 3, 8, 72, 4, 4,
+ 76, 79, 81, 83, 113, 3, 8, 50, 50, 41,
+ 4, 4, 4, 4, 64, 4, 42, 42, 4, 4,
+ 4, 4, 4, 70, 4, 50, 50, 7, 7, 41,
+ 17, 18, 77, 20, 7, 7, 5, 50, 69, 32,
+ 133, 134, 135, 23, 60, 84, 85, 86, 87, 84,
+ 7, 114, 115, 116, 8, 136, 3, 8, 88, 3,
+ 8, 8, 117, 6, 3, 4, 134, 4, 86, 28,
+ 29, 30, 33, 60, 118, 119, 120, 122, 124, 125,
+ 116, 5, 5, 123, 4, 126, 121, 3, 8, 7,
+ 137, 138, 7, 89, 90, 91, 4, 42, 4, 4,
+ 119, 139, 3, 6, 92, 6, 3, 41, 41, 41,
+ 33, 34, 36, 37, 60, 140, 141, 142, 144, 145,
+ 147, 138, 24, 25, 33, 60, 93, 94, 95, 97,
+ 99, 91, 143, 148, 4, 146, 3, 8, 98, 100,
+ 96, 3, 8, 4, 4, 42, 4, 141, 4, 4,
+ 4, 94, 41, 5, 41, 41, 5, 41, 7, 149,
+ 150, 7, 101, 102, 103, 151, 3, 6, 104, 6,
+ 3, 35, 152, 153, 150, 13, 14, 26, 60, 105,
+ 106, 107, 109, 111, 103, 154, 3, 8, 110, 4,
+ 108, 3, 8, 4, 153, 4, 42, 4, 106, 41,
+ 41, 41
};
const unsigned char
D2Parser::yyr1_[] =
{
- 0, 41, 43, 42, 44, 42, 45, 42, 46, 46,
- 46, 46, 46, 46, 46, 47, 49, 48, 50, 50,
- 51, 51, 53, 52, 54, 54, 55, 55, 56, 58,
- 57, 59, 59, 60, 60, 60, 60, 60, 62, 61,
- 64, 63, 65, 65, 66, 66, 66, 66, 66, 66,
- 66, 66, 66, 68, 67, 69, 70, 72, 71, 73,
- 73, 75, 74, 77, 76, 79, 78, 81, 80, 82,
- 82, 83, 83, 85, 84, 86, 86, 87, 87, 87,
- 87, 87, 89, 88, 91, 90, 92, 94, 93, 96,
- 95, 98, 97, 100, 99, 101, 101, 102, 104, 103,
- 105, 105, 107, 106, 108, 108, 109, 109, 109, 109,
- 109, 111, 110, 112, 114, 113, 116, 115, 117, 117,
- 119, 118, 120, 120, 122, 121
+ 0, 45, 47, 46, 48, 46, 49, 46, 50, 50,
+ 50, 50, 50, 50, 50, 51, 53, 52, 54, 54,
+ 55, 55, 57, 56, 58, 58, 59, 59, 60, 62,
+ 61, 63, 63, 64, 64, 64, 64, 64, 66, 65,
+ 68, 67, 69, 69, 70, 70, 70, 70, 70, 70,
+ 70, 70, 70, 72, 71, 73, 74, 76, 75, 77,
+ 77, 79, 78, 81, 80, 83, 82, 84, 84, 85,
+ 85, 86, 86, 88, 87, 89, 89, 90, 90, 92,
+ 91, 93, 93, 94, 94, 94, 94, 96, 95, 98,
+ 97, 100, 99, 101, 101, 102, 102, 104, 103, 105,
+ 105, 106, 106, 106, 106, 108, 107, 110, 109, 111,
+ 113, 112, 114, 114, 115, 115, 117, 116, 118, 118,
+ 119, 119, 119, 119, 119, 121, 120, 123, 122, 124,
+ 126, 125, 128, 127, 130, 129, 132, 131, 133, 133,
+ 134, 136, 135, 137, 137, 139, 138, 140, 140, 141,
+ 141, 141, 141, 141, 143, 142, 144, 146, 145, 148,
+ 147, 149, 149, 151, 150, 152, 152, 154, 153
};
const unsigned char
4, 1, 3, 1, 1, 1, 1, 1, 0, 6,
0, 4, 1, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, 4, 3, 3, 0, 4, 1,
- 1, 0, 4, 0, 4, 0, 4, 0, 6, 0,
- 1, 1, 3, 0, 4, 1, 3, 1, 1, 1,
- 1, 1, 0, 4, 0, 4, 3, 0, 4, 0,
- 4, 0, 4, 0, 6, 1, 3, 1, 0, 6,
- 1, 3, 0, 4, 1, 3, 1, 1, 1, 1,
- 1, 0, 4, 3, 0, 4, 0, 6, 1, 3,
- 0, 4, 1, 3, 0, 4
+ 1, 0, 4, 0, 6, 0, 6, 0, 1, 1,
+ 3, 1, 1, 0, 6, 0, 1, 1, 3, 0,
+ 4, 1, 3, 1, 1, 1, 1, 0, 4, 0,
+ 4, 0, 6, 0, 1, 1, 3, 0, 4, 1,
+ 3, 1, 1, 1, 1, 0, 4, 0, 4, 3,
+ 0, 6, 0, 1, 1, 3, 0, 4, 1, 3,
+ 1, 1, 1, 1, 1, 0, 4, 0, 4, 3,
+ 0, 4, 0, 4, 0, 4, 0, 6, 1, 3,
+ 1, 0, 6, 1, 3, 0, 4, 1, 3, 1,
+ 1, 1, 1, 1, 0, 4, 3, 0, 4, 0,
+ 6, 1, 3, 0, 4, 1, 3, 0, 4
};
"\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Dhcp6\"", "\"Dhcp4\"",
"\"DhcpDdns\"", "\"ip-address\"", "\"port\"", "\"dns-server-timeout\"",
"\"ncr-protocol\"", "\"UDP\"", "\"TCP\"", "\"ncr-format\"", "\"JSON\"",
- "\"forward-ddns\"", "\"reverse-ddns\"", "\"tsig-keys\"", "\"algorithm\"",
- "\"digest-bits\"", "\"secret\"", "\"Logging\"", "\"loggers\"",
- "\"name\"", "\"output_options\"", "\"output\"", "\"debuglevel\"",
- "\"severity\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCPDDNS", "SUB_DHCPDDNS",
- "\"constant string\"", "\"integer\"", "\"floating point\"",
- "\"boolean\"", "$accept", "start", "$@1", "$@2", "$@3", "value",
- "sub_json", "map2", "$@4", "map_content", "not_empty_map",
- "list_generic", "$@5", "list_content", "not_empty_list",
+ "\"forward-ddns\"", "\"reverse-ddns\"", "\"ddns-domains\"",
+ "\"key-name\"", "\"dns-servers\"", "\"hostname\"", "\"tsig-keys\"",
+ "\"algorithm\"", "\"digest-bits\"", "\"secret\"", "\"Logging\"",
+ "\"loggers\"", "\"name\"", "\"output_options\"", "\"output\"",
+ "\"debuglevel\"", "\"severity\"", "TOPLEVEL_JSON", "TOPLEVEL_DHCPDDNS",
+ "SUB_DHCPDDNS", "\"constant string\"", "\"integer\"",
+ "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2",
+ "$@3", "value", "sub_json", "map2", "$@4", "map_content",
+ "not_empty_map", "list_generic", "$@5", "list_content", "not_empty_list",
"unknown_map_entry", "syntax_map", "$@6", "global_objects",
"global_object", "dhcpddns_object", "$@7", "sub_dhcpddns", "$@8",
"dhcpddns_params", "dhcpddns_param", "ip_address", "$@9", "port",
"dns_server_timeout", "ncr_protocol", "$@10", "ncr_protocol_value",
"ncr_format", "$@11", "forward_ddns", "$@12", "reverse_ddns", "$@13",
- "tsig_keys", "$@14", "tsig_keys_list", "not_empty_tsig_keys_list",
- "tsig_key", "$@15", "tsig_key_params", "tsig_key_param", "tsig_key_name",
- "$@16", "tsig_key_algorithm", "$@17", "tsig_key_digest_bits",
- "tsig_key_secret", "$@18", "dhcp6_json_object", "$@19",
- "dhcp4_json_object", "$@20", "logging_object", "$@21", "logging_params",
- "logging_param", "loggers", "$@22", "loggers_entries", "logger_entry",
- "$@23", "logger_params", "logger_param", "name", "$@24", "debuglevel",
- "severity", "$@25", "output_options_list", "$@26",
- "output_options_list_content", "output_entry", "$@27", "output_params",
- "output_param", "$@28", YY_NULLPTR
+ "ddns_mgr_params", "not_empty_ddns_mgr_params", "ddns_mgr_param",
+ "ddns_domains", "$@14", "ddns_domain_list", "not_empty_ddns_domain_list",
+ "ddns_domain", "$@15", "ddns_domain_params", "ddns_domain_param",
+ "ddns_domain_name", "$@16", "ddns_domain_key_name", "$@17",
+ "dns_servers", "$@18", "dns_server_list", "not_empty_dns_server_list",
+ "dns_server", "$@19", "dns_server_params", "dns_server_param",
+ "dns_server_hostname", "$@20", "dns_server_ip_address", "$@21",
+ "dns_server_port", "tsig_keys", "$@22", "tsig_keys_list",
+ "not_empty_tsig_keys_list", "tsig_key", "$@23", "tsig_key_params",
+ "tsig_key_param", "tsig_key_name", "$@24", "tsig_key_algorithm", "$@25",
+ "tsig_key_digest_bits", "tsig_key_secret", "$@26", "dhcp6_json_object",
+ "$@27", "dhcp4_json_object", "$@28", "logging_object", "$@29",
+ "logging_params", "logging_param", "loggers", "$@30", "loggers_entries",
+ "logger_entry", "$@31", "logger_params", "logger_param", "name", "$@32",
+ "debuglevel", "severity", "$@33", "output_options_list", "$@34",
+ "output_options_list_content", "output_entry", "$@35", "output_params",
+ "output_param", "$@36", YY_NULLPTR
};
#if D2_PARSER_DEBUG
const unsigned short int
D2Parser::yyrline_[] =
{
- 0, 103, 103, 103, 104, 104, 105, 105, 113, 114,
- 115, 116, 117, 118, 119, 122, 127, 127, 139, 140,
- 143, 147, 154, 154, 169, 170, 173, 177, 188, 198,
- 198, 210, 211, 215, 216, 217, 218, 219, 224, 224,
- 234, 234, 242, 243, 246, 247, 248, 249, 250, 251,
- 252, 253, 254, 257, 257, 265, 273, 282, 282, 290,
- 291, 294, 294, 302, 302, 309, 309, 318, 318, 328,
- 329, 332, 333, 336, 336, 344, 345, 348, 349, 350,
- 351, 352, 355, 355, 367, 367, 378, 386, 386, 401,
- 401, 408, 408, 420, 420, 433, 434, 438, 442, 442,
- 454, 455, 459, 459, 467, 468, 471, 472, 473, 474,
- 475, 478, 478, 486, 490, 490, 498, 498, 508, 509,
- 512, 512, 520, 521, 524, 524
+ 0, 107, 107, 107, 108, 108, 109, 109, 117, 118,
+ 119, 120, 121, 122, 123, 126, 131, 131, 143, 144,
+ 147, 151, 158, 158, 165, 166, 169, 173, 184, 194,
+ 194, 206, 207, 211, 212, 213, 214, 215, 220, 220,
+ 230, 230, 238, 239, 242, 243, 244, 245, 246, 247,
+ 248, 249, 250, 253, 253, 261, 269, 278, 278, 286,
+ 287, 290, 290, 298, 298, 308, 308, 318, 319, 322,
+ 323, 326, 327, 333, 333, 343, 344, 347, 348, 351,
+ 351, 359, 360, 363, 364, 365, 366, 370, 370, 382,
+ 382, 397, 397, 407, 408, 411, 412, 415, 415, 423,
+ 424, 427, 428, 429, 430, 433, 433, 445, 445, 453,
+ 467, 467, 477, 478, 481, 482, 485, 485, 493, 494,
+ 497, 498, 499, 500, 501, 504, 504, 516, 516, 527,
+ 535, 535, 550, 550, 557, 557, 569, 569, 582, 583,
+ 587, 591, 591, 603, 604, 608, 608, 616, 617, 620,
+ 621, 622, 623, 624, 627, 627, 635, 639, 639, 647,
+ 647, 657, 658, 661, 661, 669, 670, 673, 673
};
// Print the state stack on the debug stream.
#line 14 "d2_parser.yy" // lalr1.cc:1167
} } // isc::d2
-#line 1806 "d2_parser.cc" // lalr1.cc:1167
-#line 532 "d2_parser.yy" // lalr1.cc:1168
+#line 2047 "d2_parser.cc" // lalr1.cc:1167
+#line 681 "d2_parser.yy" // lalr1.cc:1168
void