From: Francis Dupont Date: Wed, 8 Feb 2017 23:12:27 +0000 (+0000) Subject: [trac5076] regen flex/bison files X-Git-Tag: trac3590_base~3^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=13db3cbe63757eb8b496ddcd5e1059f2536d264a;p=thirdparty%2Fkea.git [trac5076] regen flex/bison files --- diff --git a/src/bin/agent/agent_lexer.cc b/src/bin/agent/agent_lexer.cc index 162252f6a3..d8bcc6f93d 100644 --- a/src/bin/agent/agent_lexer.cc +++ b/src/bin/agent/agent_lexer.cc @@ -524,8 +524,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); /* %% [3.0] code to copy yytext_ptr to agent_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 52 -#define YY_END_OF_BUFFER 53 +#define YY_NUM_RULES 53 +#define YY_END_OF_BUFFER 54 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -533,41 +533,42 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[300] = +static const flex_int16_t yy_accept[305] = { 0, - 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, - 53, 51, 10, 11, 51, 1, 45, 42, 45, 45, - 51, 44, 43, 51, 51, 51, 51, 51, 38, 39, - 51, 51, 51, 40, 41, 5, 5, 5, 51, 51, - 51, 10, 11, 0, 0, 34, 0, 0, 0, 0, + 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, + 54, 52, 10, 11, 52, 1, 46, 43, 46, 46, + 52, 45, 44, 52, 52, 52, 52, 52, 39, 40, + 52, 52, 52, 41, 42, 5, 5, 5, 52, 52, + 52, 10, 11, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 45, 45, 0, 44, 45, 3, 2, 6, 0, 45, + 46, 46, 0, 45, 46, 3, 2, 6, 0, 46, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, - 0, 35, 0, 0, 0, 0, 0, 37, 0, 0, + 0, 36, 0, 0, 0, 0, 0, 38, 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, 36, 0, 0, + 0, 8, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 50, 48, 0, 47, 46, 0, + 0, 0, 0, 0, 51, 49, 0, 48, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, - 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, - 0, 0, 18, 0, 0, 0, 32, 33, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, + 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, + 0, 0, 0, 21, 0, 0, 0, 32, 33, 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, 23, 0, 0, 0, - 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, - 0, 28, 21, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 13, - 14, 0, 0, 0, 0, 0, 0, 24, 0, 0, - 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 31, 30, 0, 0, 15, 16, 0, 0, 12, - 0, 0, 0, 0, 0, 22, 29, 26, 0 - + 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, + 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, + 0, 0, 0, 0, 0, 23, 26, 0, 0, 0, + 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 31, 0, 0, 0, 0, 18, + 0, 0, 0, 0, 13, 14, 0, 0, 0, 0, + 0, 0, 30, 0, 0, 0, 0, 24, 0, 0, + 0, 0, 0, 0, 0, 0, 19, 20, 0, 0, + 16, 17, 0, 0, 12, 0, 0, 0, 0, 0, + + 28, 15, 22, 0 } ; static const YY_CHAR yy_ec[256] = @@ -613,85 +614,85 @@ static const YY_CHAR yy_meta[62] = 3 } ; -static const flex_int16_t yy_base[312] = +static const flex_int16_t yy_base[317] = { 0, 0, 0, 60, 63, 66, 0, 64, 68, 48, 65, - 287, 1953, 85, 279, 127, 0, 89, 1953, 108, 121, - 83, 127, 1953, 260, 171, 75, 84, 118, 1953, 1953, - 123, 133, 140, 1953, 1953, 1953, 86, 263, 225, 0, - 249, 152, 245, 159, 189, 1953, 195, 202, 208, 210, + 287, 2023, 85, 279, 127, 0, 89, 2023, 108, 121, + 83, 127, 2023, 260, 171, 75, 84, 118, 2023, 2023, + 123, 133, 140, 2023, 2023, 2023, 86, 263, 225, 0, + 249, 152, 245, 159, 189, 2023, 195, 202, 208, 210, 216, 226, 271, 277, 283, 289, 295, 301, 307, 0, - 323, 344, 241, 352, 357, 1953, 0, 1953, 143, 219, - 71, 136, 143, 172, 178, 169, 1953, 200, 225, 1953, - 207, 1953, 342, 387, 399, 405, 215, 411, 436, 422, + 323, 344, 241, 352, 357, 2023, 0, 2023, 143, 219, + 71, 136, 143, 172, 178, 169, 2023, 200, 225, 2023, + 207, 2023, 342, 387, 399, 405, 215, 411, 436, 422, 430, 465, 479, 485, 491, 500, 506, 521, 527, 541, 551, 557, 563, 0, 184, 216, 228, 208, 266, 273, - 164, 1953, 0, 571, 577, 587, 201, 1953, 618, 612, + 164, 2023, 0, 571, 577, 587, 201, 2023, 618, 612, 601, 618, 648, 662, 669, 675, 683, 689, 700, 710, - 731, 737, 748, 274, 1953, 1953, 285, 1953, 1953, 118, - 0, 754, 761, 768, 801, 784, 796, 844, 850, 856, - 862, 868, 874, 880, 892, 898, 911, 917, 923, 1953, - 1953, 132, 0, 933, 939, 948, 954, 991, 960, 974, - 990, 1034, 1040, 1046, 1018, 1053, 1059, 1953, 1065, 1076, - 1084, 1090, 1953, 107, 0, 1096, 1953, 1953, 1102, 1120, - 1126, 1132, 1146, 1156, 1163, 1169, 1183, 1191, 1200, 1206, - - 1213, 1221, 1227, 1953, 1258, 1243, 1264, 1271, 1279, 1285, - 1295, 1306, 1315, 1322, 1332, 1341, 1953, 1352, 1358, 1371, - 1377, 1383, 1953, 1389, 1396, 1413, 1407, 1432, 1438, 1444, - 1451, 1953, 1953, 1460, 1468, 1481, 1487, 1495, 1507, 1517, - 1525, 1531, 1537, 1543, 1555, 1561, 1568, 1574, 1580, 1953, - 1586, 1596, 1604, 1610, 1953, 1616, 1622, 1635, 1641, 1953, - 1953, 1652, 1659, 1665, 1679, 1687, 1700, 1953, 1707, 1714, - 1722, 1728, 1953, 1737, 1749, 1763, 1775, 1784, 1790, 1798, - 1805, 1953, 1953, 1821, 1828, 1953, 1953, 1835, 1844, 1953, - 1851, 1858, 1865, 1872, 1879, 1953, 1953, 1953, 1953, 1914, - - 1919, 1924, 1929, 1934, 1939, 1944, 1947, 141, 127, 113, - 102 + 731, 737, 748, 274, 2023, 2023, 285, 2023, 2023, 118, + 0, 754, 761, 768, 801, 796, 831, 844, 851, 857, + 869, 875, 881, 892, 899, 916, 906, 927, 936, 2023, + 2023, 132, 0, 942, 951, 972, 978, 986, 1023, 993, + 999, 1008, 1024, 1066, 1072, 1052, 1078, 1087, 2023, 1093, + 1108, 1114, 1123, 2023, 107, 0, 1131, 2023, 2023, 1150, + 1161, 1167, 1174, 1181, 1187, 1205, 1218, 1211, 1226, 1232, + + 1241, 1248, 1254, 1262, 1268, 2023, 1299, 1305, 1312, 1318, + 1325, 1335, 1342, 1348, 1360, 1370, 1379, 1385, 1395, 2023, + 1401, 1407, 1415, 1425, 1432, 1438, 2023, 1452, 1460, 1475, + 1483, 1490, 1496, 1502, 1513, 2023, 2023, 1520, 1526, 1538, + 1548, 1557, 1563, 2023, 1574, 1587, 1593, 1599, 1609, 1617, + 1629, 1636, 1644, 1652, 2023, 1659, 1666, 1672, 1680, 2023, + 1687, 1694, 1710, 1722, 2023, 2023, 1729, 1736, 1745, 1753, + 1764, 1771, 2023, 1780, 1788, 1795, 1801, 2023, 1807, 1818, + 1825, 1837, 1843, 1853, 1860, 1867, 2023, 2023, 1880, 1888, + 2023, 2023, 1895, 1906, 2023, 1918, 1926, 1932, 1943, 1949, + + 2023, 2023, 2023, 2023, 1984, 1989, 1994, 1999, 2004, 2009, + 2014, 2017, 141, 127, 113, 102 } ; -static const flex_int16_t yy_def[312] = +static const flex_int16_t yy_def[317] = { 0, - 299, 1, 300, 300, 1, 5, 5, 5, 5, 5, - 299, 299, 299, 299, 301, 302, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 303, - 299, 299, 299, 304, 301, 299, 301, 301, 301, 305, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 302, - 299, 299, 299, 299, 299, 299, 306, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 303, 299, - 304, 299, 299, 301, 301, 301, 307, 301, 305, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - - 301, 301, 301, 306, 299, 299, 299, 299, 299, 299, - 299, 299, 308, 301, 301, 301, 307, 299, 305, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 299, 299, 299, 299, 299, 299, 299, - 309, 301, 301, 301, 305, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 299, - 299, 299, 310, 301, 301, 301, 301, 305, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 299, 301, 301, - 301, 301, 299, 299, 311, 301, 299, 299, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 301, - - 301, 301, 301, 299, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 301, 299, 301, 301, 301, - 301, 301, 299, 301, 301, 301, 301, 301, 301, 301, - 301, 299, 299, 301, 301, 301, 301, 301, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 301, 301, 299, - 301, 301, 301, 301, 299, 301, 301, 301, 301, 299, - 299, 301, 301, 301, 301, 301, 301, 299, 301, 301, - 301, 301, 299, 301, 301, 301, 301, 301, 301, 301, - 301, 299, 299, 301, 301, 299, 299, 301, 301, 299, - 301, 301, 301, 301, 301, 299, 299, 299, 0, 299, - - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299 + 304, 1, 305, 305, 1, 5, 5, 5, 5, 5, + 304, 304, 304, 304, 306, 307, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 308, + 304, 304, 304, 309, 306, 304, 306, 306, 306, 310, + 306, 306, 306, 306, 306, 306, 306, 306, 306, 307, + 304, 304, 304, 304, 304, 304, 311, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 308, 304, + 309, 304, 304, 306, 306, 306, 312, 306, 310, 306, + 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, + + 306, 306, 306, 311, 304, 304, 304, 304, 304, 304, + 304, 304, 313, 306, 306, 306, 312, 304, 310, 306, + 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, + 306, 306, 306, 304, 304, 304, 304, 304, 304, 304, + 314, 306, 306, 306, 310, 306, 306, 306, 306, 306, + 306, 306, 306, 306, 306, 306, 306, 306, 306, 304, + 304, 304, 315, 306, 306, 306, 306, 306, 310, 306, + 306, 306, 306, 306, 306, 306, 306, 306, 304, 306, + 306, 306, 306, 304, 304, 316, 306, 304, 304, 306, + 306, 306, 306, 306, 306, 306, 306, 306, 306, 306, + + 306, 306, 306, 306, 306, 304, 306, 306, 306, 306, + 306, 306, 306, 306, 306, 306, 306, 306, 306, 304, + 306, 306, 306, 306, 306, 306, 304, 306, 306, 306, + 306, 306, 306, 306, 306, 304, 304, 306, 306, 306, + 306, 306, 306, 304, 306, 306, 306, 306, 306, 306, + 306, 306, 306, 306, 304, 306, 306, 306, 306, 304, + 306, 306, 306, 306, 304, 304, 306, 306, 306, 306, + 306, 306, 304, 306, 306, 306, 306, 304, 306, 306, + 306, 306, 306, 306, 306, 306, 304, 304, 306, 306, + 304, 304, 306, 306, 304, 306, 306, 306, 306, 306, + + 304, 304, 304, 0, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304 } ; -static const flex_int16_t yy_nxt[2015] = +static const flex_int16_t yy_nxt[2085] = { 0, 12, 13, 14, 13, 12, 15, 16, 12, 17, 18, 19, 20, 21, 22, 22, 22, 22, 23, 24, 12, @@ -705,13 +706,13 @@ static const flex_int16_t yy_nxt[2015] = 66, 12, 12, 12, 12, 67, 71, 12, 105, 12, 61, 12, 62, 62, 62, 62, 81, 12, 12, 12, - 12, 39, 71, 12, 63, 12, 72, 185, 105, 61, + 12, 39, 71, 12, 63, 12, 72, 186, 105, 61, 12, 64, 64, 64, 64, 12, 12, 44, 44, 44, 63, 163, 46, 63, 65, 65, 65, 65, 61, 72, - 64, 64, 64, 64, 71, 141, 63, 73, 204, 63, + 64, 64, 64, 64, 71, 141, 63, 73, 206, 63, 47, 48, 63, 42, 49, 42, 70, 70, 70, 70, 74, 50, 63, 106, 82, 72, 51, 52, 63, 73, - 73, 53, 184, 162, 54, 107, 55, 56, 57, 69, + 73, 53, 185, 162, 54, 107, 55, 56, 57, 69, 58, 69, 59, 106, 70, 70, 70, 70, 75, 44, 44, 44, 76, 83, 46, 44, 44, 44, 107, 105, @@ -723,201 +724,208 @@ static const flex_int16_t yy_nxt[2015] = 50, 69, 45, 136, 70, 70, 70, 70, 86, 45, 50, 137, 45, 135, 45, 89, 90, 92, 80, 136, 93, 44, 44, 44, 78, 77, 46, 44, 44, 44, - 68, 43, 46, 44, 44, 44, 299, 299, 46, 44, - 44, 44, 299, 135, 46, 44, 44, 44, 136, 160, - - 46, 44, 44, 44, 299, 50, 46, 44, 44, 44, - 160, 50, 46, 138, 139, 160, 299, 50, 299, 299, - 98, 94, 96, 50, 299, 95, 161, 97, 299, 50, - 299, 299, 100, 299, 299, 50, 65, 65, 65, 65, - 299, 50, 101, 299, 99, 299, 299, 81, 63, 299, - 299, 102, 299, 299, 81, 61, 103, 62, 62, 62, - 62, 299, 299, 61, 63, 64, 64, 64, 64, 63, - 65, 65, 65, 65, 299, 299, 81, 63, 299, 299, - 81, 299, 63, 299, 81, 63, 299, 44, 44, 44, - 299, 81, 46, 63, 81, 299, 81, 113, 63, 44, - - 44, 44, 299, 299, 46, 44, 44, 44, 299, 299, - 46, 44, 44, 44, 299, 299, 46, 299, 299, 299, - 299, 50, 44, 44, 44, 299, 299, 46, 299, 299, - 44, 44, 44, 50, 299, 46, 114, 299, 115, 50, - 121, 299, 299, 299, 299, 50, 299, 299, 116, 119, - 119, 119, 119, 299, 299, 299, 50, 119, 119, 119, - 119, 119, 119, 299, 50, 44, 44, 44, 299, 299, - 46, 120, 299, 119, 119, 119, 119, 119, 119, 44, - 44, 44, 299, 299, 46, 44, 44, 44, 299, 299, - 46, 44, 44, 44, 299, 299, 46, 299, 299, 50, - - 44, 44, 44, 122, 299, 46, 44, 44, 44, 299, - 299, 46, 299, 50, 299, 299, 299, 299, 123, 50, - 299, 44, 44, 44, 299, 50, 46, 44, 44, 44, - 299, 299, 46, 299, 50, 124, 299, 299, 126, 299, - 50, 44, 44, 44, 299, 125, 46, 299, 299, 127, - 299, 44, 44, 44, 299, 50, 46, 44, 44, 44, - 299, 50, 46, 44, 44, 44, 299, 299, 46, 128, - 299, 44, 44, 44, 299, 50, 46, 44, 44, 44, - 299, 129, 46, 299, 299, 50, 299, 44, 44, 44, - 299, 50, 46, 130, 299, 299, 132, 50, 299, 299, - - 299, 44, 44, 44, 299, 50, 46, 131, 133, 299, - 299, 50, 44, 44, 44, 299, 299, 46, 44, 44, - 44, 50, 299, 46, 299, 142, 299, 299, 143, 299, - 144, 145, 145, 145, 145, 50, 299, 299, 299, 145, - 145, 145, 145, 145, 145, 299, 50, 299, 44, 44, - 44, 299, 50, 46, 147, 145, 145, 145, 145, 145, - 145, 299, 44, 44, 44, 299, 146, 46, 299, 44, - 44, 44, 299, 148, 46, 44, 44, 44, 299, 299, - 46, 299, 50, 44, 44, 44, 299, 299, 46, 44, - 44, 44, 299, 299, 46, 299, 50, 299, 299, 149, - - 44, 44, 44, 50, 299, 46, 299, 299, 150, 50, - 44, 44, 44, 299, 299, 46, 299, 50, 299, 299, - 151, 299, 299, 50, 299, 299, 153, 152, 299, 299, - 154, 44, 44, 44, 50, 299, 46, 44, 44, 44, - 299, 299, 46, 299, 50, 299, 299, 156, 44, 44, - 44, 155, 299, 46, 44, 44, 44, 299, 299, 46, - 299, 44, 44, 44, 299, 50, 46, 299, 44, 44, - 44, 50, 157, 46, 299, 299, 165, 166, 299, 299, - 299, 299, 50, 158, 44, 44, 44, 299, 50, 46, - 299, 299, 299, 299, 299, 50, 44, 44, 44, 299, - - 299, 46, 50, 299, 299, 159, 164, 299, 299, 299, - 299, 299, 299, 167, 168, 168, 168, 168, 50, 299, - 299, 299, 168, 168, 168, 168, 168, 168, 299, 299, - 50, 299, 299, 299, 299, 299, 169, 170, 168, 168, - 168, 168, 168, 168, 44, 44, 44, 299, 299, 46, - 44, 44, 44, 299, 299, 46, 44, 44, 44, 299, - 299, 46, 44, 44, 44, 172, 173, 46, 44, 44, - 44, 299, 175, 46, 44, 44, 44, 299, 50, 46, - 44, 44, 44, 299, 50, 178, 299, 171, 299, 299, - 50, 299, 44, 44, 44, 299, 50, 46, 44, 44, - - 44, 299, 50, 46, 299, 176, 299, 299, 50, 174, - 299, 44, 44, 44, 50, 177, 46, 44, 44, 44, - 299, 299, 46, 44, 44, 44, 50, 299, 183, 299, - 299, 299, 50, 44, 44, 44, 299, 299, 46, 44, - 44, 44, 299, 299, 187, 50, 180, 179, 44, 44, - 44, 50, 299, 188, 44, 44, 44, 50, 182, 46, - 44, 44, 44, 181, 299, 46, 299, 50, 299, 299, - 299, 299, 299, 50, 44, 44, 44, 299, 299, 46, - 299, 299, 50, 186, 299, 299, 299, 299, 50, 299, - 44, 44, 44, 299, 50, 46, 299, 299, 299, 299, - - 299, 299, 299, 189, 45, 45, 45, 45, 50, 299, - 190, 299, 45, 45, 45, 45, 45, 45, 44, 44, - 44, 299, 299, 46, 50, 299, 191, 299, 45, 45, - 45, 45, 45, 45, 44, 44, 44, 192, 299, 46, - 44, 44, 44, 299, 193, 46, 44, 44, 44, 299, - 194, 46, 50, 44, 44, 44, 195, 299, 46, 44, - 44, 44, 196, 299, 46, 44, 44, 44, 50, 197, - 46, 299, 299, 299, 50, 299, 44, 44, 44, 299, - 50, 46, 299, 299, 44, 44, 44, 50, 299, 46, - 44, 44, 44, 50, 299, 46, 44, 44, 44, 50, - - 299, 46, 44, 44, 44, 198, 299, 46, 299, 299, - 50, 199, 299, 299, 299, 299, 299, 201, 50, 200, - 44, 44, 44, 299, 50, 46, 44, 44, 44, 202, - 50, 46, 44, 44, 44, 299, 50, 46, 299, 299, - 299, 299, 299, 205, 203, 206, 44, 44, 44, 299, - 299, 46, 299, 299, 50, 299, 44, 44, 44, 299, - 50, 46, 299, 44, 44, 44, 50, 207, 46, 44, - 44, 44, 299, 209, 46, 299, 299, 299, 299, 299, - 50, 299, 208, 44, 44, 44, 299, 299, 46, 299, - 50, 44, 44, 44, 299, 299, 46, 50, 299, 210, - - 44, 44, 44, 50, 299, 46, 44, 44, 44, 211, - 212, 217, 299, 44, 44, 44, 299, 50, 46, 213, - 299, 44, 44, 44, 299, 50, 46, 44, 44, 44, - 299, 299, 46, 214, 50, 299, 299, 221, 299, 299, - 50, 299, 218, 44, 44, 44, 299, 50, 223, 215, - 299, 299, 299, 216, 299, 50, 299, 299, 44, 44, - 44, 50, 299, 46, 44, 44, 44, 219, 222, 46, - 299, 44, 44, 44, 224, 220, 46, 50, 299, 44, - 44, 44, 299, 299, 46, 44, 44, 44, 299, 299, - 46, 299, 50, 299, 299, 44, 44, 44, 50, 299, - - 46, 299, 299, 299, 299, 50, 44, 44, 44, 299, - 299, 46, 225, 50, 299, 44, 44, 44, 299, 50, - 46, 299, 44, 44, 44, 299, 227, 46, 299, 50, - 299, 299, 44, 44, 44, 226, 228, 232, 299, 299, - 50, 44, 44, 44, 299, 299, 233, 299, 299, 50, - 299, 229, 44, 44, 44, 299, 50, 46, 44, 44, - 44, 299, 299, 46, 299, 299, 50, 299, 230, 299, - 299, 44, 44, 44, 231, 50, 46, 44, 44, 44, - 299, 299, 46, 44, 44, 44, 50, 299, 46, 44, - 44, 44, 50, 299, 46, 299, 44, 44, 44, 235, - - 299, 46, 234, 299, 299, 50, 299, 44, 44, 44, - 299, 50, 46, 44, 44, 44, 299, 50, 46, 299, - 239, 299, 299, 50, 299, 299, 237, 299, 299, 236, - 50, 238, 44, 44, 44, 299, 299, 46, 44, 44, - 44, 50, 240, 46, 44, 44, 44, 50, 241, 46, - 299, 44, 44, 44, 242, 299, 46, 299, 299, 243, - 44, 44, 44, 299, 299, 46, 50, 299, 44, 44, - 44, 299, 50, 46, 299, 299, 245, 299, 50, 299, - 299, 44, 44, 44, 244, 50, 250, 44, 44, 44, - 299, 299, 46, 299, 50, 44, 44, 44, 246, 299, - - 46, 299, 50, 299, 299, 247, 299, 44, 44, 44, - 299, 248, 46, 299, 299, 50, 299, 44, 44, 44, - 249, 50, 46, 299, 251, 44, 44, 44, 299, 50, - 255, 44, 44, 44, 299, 299, 46, 44, 44, 44, - 299, 50, 46, 44, 44, 44, 299, 299, 46, 299, - 253, 50, 299, 252, 299, 44, 44, 44, 299, 50, - 46, 44, 44, 44, 299, 50, 260, 254, 44, 44, - 44, 50, 299, 261, 44, 44, 44, 50, 256, 46, - 44, 44, 44, 299, 299, 46, 44, 44, 44, 50, - 299, 46, 299, 257, 299, 50, 44, 44, 44, 258, - - 299, 46, 50, 299, 44, 44, 44, 259, 50, 46, - 44, 44, 44, 299, 50, 46, 44, 44, 44, 299, - 50, 268, 44, 44, 44, 299, 299, 46, 262, 299, - 50, 299, 299, 263, 264, 44, 44, 44, 50, 299, - 46, 44, 44, 44, 50, 266, 46, 265, 299, 267, - 50, 299, 44, 44, 44, 299, 50, 46, 299, 44, - 44, 44, 299, 269, 273, 44, 44, 44, 299, 50, - 46, 299, 299, 299, 299, 50, 270, 299, 271, 44, - 44, 44, 299, 299, 46, 299, 50, 44, 44, 44, - 299, 299, 46, 50, 299, 299, 299, 272, 299, 50, - - 44, 44, 44, 299, 299, 46, 274, 44, 44, 44, - 299, 299, 46, 50, 44, 44, 44, 299, 299, 46, - 275, 50, 44, 44, 44, 299, 299, 46, 44, 44, - 44, 299, 299, 46, 50, 299, 276, 44, 44, 44, - 299, 50, 282, 299, 299, 299, 277, 299, 50, 44, - 44, 44, 299, 299, 283, 299, 50, 299, 299, 278, - 299, 299, 50, 44, 44, 44, 279, 299, 46, 299, - 299, 50, 299, 299, 280, 44, 44, 44, 281, 299, - 46, 299, 299, 50, 44, 44, 44, 299, 299, 286, - 44, 44, 44, 299, 299, 287, 299, 50, 44, 44, - - 44, 299, 299, 46, 299, 44, 44, 44, 299, 50, - 46, 299, 299, 299, 299, 299, 285, 284, 50, 299, - 299, 44, 44, 44, 50, 299, 290, 299, 44, 44, - 44, 299, 50, 46, 299, 44, 44, 44, 299, 50, - 46, 299, 299, 288, 44, 44, 44, 299, 299, 46, - 299, 44, 44, 44, 289, 50, 46, 299, 44, 44, - 44, 299, 50, 46, 299, 44, 44, 44, 299, 50, - 296, 299, 44, 44, 44, 299, 292, 297, 50, 44, - 44, 44, 291, 299, 298, 50, 299, 299, 299, 299, - 299, 299, 50, 299, 299, 299, 299, 293, 299, 50, - - 299, 299, 299, 299, 294, 299, 50, 299, 299, 299, - 299, 295, 299, 50, 36, 36, 36, 36, 36, 45, - 45, 45, 45, 45, 60, 299, 60, 60, 60, 79, - 299, 79, 299, 79, 81, 81, 81, 81, 81, 87, - 87, 87, 87, 87, 104, 299, 104, 104, 104, 117, - 117, 117, 11, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299 + 68, 43, 46, 44, 44, 44, 304, 304, 46, 44, + 44, 44, 304, 135, 46, 44, 44, 44, 136, 160, + + 46, 44, 44, 44, 304, 50, 46, 44, 44, 44, + 160, 50, 46, 138, 139, 160, 304, 50, 304, 304, + 98, 94, 96, 50, 304, 95, 161, 97, 304, 50, + 304, 304, 100, 304, 304, 50, 65, 65, 65, 65, + 304, 50, 101, 304, 99, 304, 304, 81, 63, 304, + 304, 102, 304, 304, 81, 61, 103, 62, 62, 62, + 62, 304, 304, 61, 63, 64, 64, 64, 64, 63, + 65, 65, 65, 65, 304, 304, 81, 63, 304, 304, + 81, 304, 63, 304, 81, 63, 304, 44, 44, 44, + 304, 81, 46, 63, 81, 304, 81, 113, 63, 44, + + 44, 44, 304, 304, 46, 44, 44, 44, 304, 304, + 46, 44, 44, 44, 304, 304, 46, 304, 304, 304, + 304, 50, 44, 44, 44, 304, 304, 46, 304, 304, + 44, 44, 44, 50, 304, 46, 114, 304, 115, 50, + 121, 304, 304, 304, 304, 50, 304, 304, 116, 119, + 119, 119, 119, 304, 304, 304, 50, 119, 119, 119, + 119, 119, 119, 304, 50, 44, 44, 44, 304, 304, + 46, 120, 304, 119, 119, 119, 119, 119, 119, 44, + 44, 44, 304, 304, 46, 44, 44, 44, 304, 304, + 46, 44, 44, 44, 304, 304, 46, 304, 304, 50, + + 44, 44, 44, 122, 304, 46, 44, 44, 44, 304, + 304, 46, 304, 50, 304, 304, 304, 304, 123, 50, + 304, 44, 44, 44, 304, 50, 46, 44, 44, 44, + 304, 304, 46, 304, 50, 124, 304, 304, 126, 304, + 50, 44, 44, 44, 304, 125, 46, 304, 304, 127, + 304, 44, 44, 44, 304, 50, 46, 44, 44, 44, + 304, 50, 46, 44, 44, 44, 304, 304, 46, 128, + 304, 44, 44, 44, 304, 50, 46, 44, 44, 44, + 304, 129, 46, 304, 304, 50, 304, 44, 44, 44, + 304, 50, 46, 130, 304, 304, 132, 50, 304, 304, + + 304, 44, 44, 44, 304, 50, 46, 131, 133, 304, + 304, 50, 44, 44, 44, 304, 304, 46, 44, 44, + 44, 50, 304, 46, 304, 142, 304, 304, 143, 304, + 144, 145, 145, 145, 145, 50, 304, 304, 304, 145, + 145, 145, 145, 145, 145, 304, 50, 304, 44, 44, + 44, 304, 50, 46, 147, 145, 145, 145, 145, 145, + 145, 304, 44, 44, 44, 304, 146, 46, 304, 44, + 44, 44, 304, 148, 46, 44, 44, 44, 304, 304, + 46, 304, 50, 44, 44, 44, 304, 304, 46, 44, + 44, 44, 304, 304, 46, 304, 50, 304, 304, 149, + + 44, 44, 44, 50, 304, 46, 304, 304, 150, 50, + 44, 44, 44, 304, 304, 46, 304, 50, 304, 304, + 151, 304, 304, 50, 304, 304, 153, 152, 304, 304, + 154, 44, 44, 44, 50, 304, 46, 44, 44, 44, + 304, 304, 46, 304, 50, 304, 304, 156, 44, 44, + 44, 155, 304, 46, 44, 44, 44, 304, 304, 46, + 304, 44, 44, 44, 304, 50, 46, 304, 44, 44, + 44, 50, 157, 46, 304, 304, 165, 166, 304, 304, + 304, 304, 50, 158, 304, 167, 304, 304, 50, 304, + 304, 304, 304, 304, 304, 50, 44, 44, 44, 304, + + 304, 46, 50, 304, 304, 159, 164, 304, 304, 304, + 304, 304, 304, 168, 169, 169, 169, 169, 304, 304, + 304, 304, 169, 169, 169, 169, 169, 169, 304, 304, + 50, 44, 44, 44, 304, 304, 46, 304, 169, 169, + 169, 169, 169, 169, 44, 44, 44, 304, 170, 46, + 304, 44, 44, 44, 304, 304, 46, 44, 44, 44, + 304, 304, 46, 304, 304, 50, 173, 174, 304, 44, + 44, 44, 171, 304, 46, 44, 44, 44, 50, 176, + 46, 44, 44, 44, 304, 50, 46, 172, 304, 304, + 304, 50, 44, 44, 44, 304, 304, 179, 304, 44, + + 44, 44, 304, 50, 46, 304, 44, 44, 44, 50, + 175, 46, 177, 304, 304, 50, 44, 44, 44, 304, + 304, 46, 178, 304, 304, 304, 50, 44, 44, 44, + 304, 304, 46, 50, 304, 304, 44, 44, 44, 304, + 50, 184, 44, 44, 44, 304, 304, 46, 304, 304, + 50, 44, 44, 44, 180, 304, 188, 304, 182, 304, + 304, 50, 304, 304, 181, 304, 304, 304, 183, 304, + 50, 304, 44, 44, 44, 304, 50, 189, 44, 44, + 44, 304, 304, 46, 304, 50, 44, 44, 44, 304, + 304, 46, 187, 44, 44, 44, 304, 304, 46, 44, + + 44, 44, 304, 304, 46, 304, 50, 304, 44, 44, + 44, 304, 50, 46, 304, 304, 304, 304, 190, 304, + 50, 304, 304, 304, 44, 44, 44, 50, 304, 46, + 304, 304, 304, 50, 195, 191, 45, 45, 45, 45, + 304, 304, 50, 192, 45, 45, 45, 45, 45, 45, + 304, 193, 44, 44, 44, 194, 304, 46, 50, 304, + 45, 45, 45, 45, 45, 45, 44, 44, 44, 304, + 304, 46, 44, 44, 44, 304, 196, 46, 44, 44, + 44, 304, 197, 46, 304, 304, 50, 44, 44, 44, + 304, 304, 46, 44, 44, 44, 198, 304, 46, 304, + + 50, 304, 304, 199, 304, 304, 50, 304, 44, 44, + 44, 304, 50, 46, 44, 44, 44, 304, 304, 46, + 304, 50, 304, 44, 44, 44, 304, 50, 46, 304, + 200, 44, 44, 44, 304, 304, 46, 304, 304, 201, + 304, 304, 50, 304, 304, 304, 304, 202, 50, 203, + 44, 44, 44, 304, 304, 46, 304, 50, 304, 204, + 304, 44, 44, 44, 304, 50, 46, 44, 44, 44, + 304, 304, 46, 304, 44, 44, 44, 205, 207, 46, + 304, 44, 44, 44, 50, 304, 46, 44, 44, 44, + 304, 304, 46, 304, 304, 50, 304, 304, 304, 208, + + 304, 50, 304, 304, 209, 44, 44, 44, 50, 304, + 46, 44, 44, 44, 210, 50, 46, 304, 44, 44, + 44, 50, 212, 46, 304, 304, 44, 44, 44, 304, + 211, 46, 44, 44, 44, 304, 304, 46, 304, 50, + 213, 44, 44, 44, 304, 50, 46, 304, 44, 44, + 44, 304, 50, 220, 44, 44, 44, 304, 214, 46, + 50, 216, 44, 44, 44, 215, 50, 46, 44, 44, + 44, 304, 304, 46, 304, 50, 217, 304, 224, 304, + 304, 304, 50, 304, 221, 304, 304, 304, 50, 304, + 218, 304, 304, 304, 219, 304, 50, 304, 304, 44, + + 44, 44, 50, 304, 46, 44, 44, 44, 222, 225, + 46, 304, 44, 44, 44, 304, 223, 227, 44, 44, + 44, 304, 304, 46, 304, 44, 44, 44, 228, 304, + 46, 304, 304, 50, 304, 44, 44, 44, 304, 50, + 46, 304, 44, 44, 44, 304, 50, 46, 44, 44, + 44, 304, 50, 46, 304, 304, 304, 304, 226, 50, + 44, 44, 44, 304, 304, 46, 229, 304, 304, 50, + 44, 44, 44, 304, 304, 46, 50, 304, 304, 44, + 44, 44, 50, 231, 46, 44, 44, 44, 304, 232, + 236, 230, 304, 304, 50, 44, 44, 44, 304, 304, + + 237, 44, 44, 44, 50, 233, 46, 44, 44, 44, + 304, 304, 46, 50, 304, 44, 44, 44, 304, 50, + 46, 304, 304, 234, 304, 44, 44, 44, 304, 50, + 46, 235, 44, 44, 44, 50, 304, 46, 44, 44, + 44, 50, 304, 244, 304, 304, 304, 304, 239, 50, + 304, 238, 44, 44, 44, 304, 304, 46, 304, 50, + 44, 44, 44, 304, 304, 46, 50, 304, 304, 243, + 304, 304, 50, 240, 241, 44, 44, 44, 304, 242, + 46, 304, 304, 44, 44, 44, 50, 304, 46, 304, + 44, 44, 44, 304, 50, 46, 44, 44, 44, 304, + + 304, 46, 44, 44, 44, 245, 304, 46, 304, 50, + 304, 304, 246, 44, 44, 44, 247, 50, 46, 304, + 44, 44, 44, 304, 50, 46, 44, 44, 44, 304, + 50, 46, 304, 304, 250, 248, 50, 304, 44, 44, + 44, 304, 249, 255, 304, 304, 304, 50, 44, 44, + 44, 304, 304, 46, 50, 304, 251, 44, 44, 44, + 50, 304, 46, 44, 44, 44, 304, 252, 46, 304, + 304, 253, 50, 304, 44, 44, 44, 304, 254, 46, + 304, 304, 50, 304, 304, 256, 304, 44, 44, 44, + 304, 50, 260, 44, 44, 44, 304, 50, 46, 44, + + 44, 44, 304, 304, 46, 304, 258, 304, 50, 44, + 44, 44, 304, 304, 46, 257, 304, 44, 44, 44, + 304, 50, 46, 304, 259, 304, 304, 50, 304, 44, + 44, 44, 304, 50, 265, 304, 44, 44, 44, 304, + 261, 266, 304, 50, 44, 44, 44, 304, 304, 46, + 304, 50, 44, 44, 44, 262, 304, 46, 304, 44, + 44, 44, 304, 50, 46, 263, 44, 44, 44, 264, + 50, 46, 44, 44, 44, 304, 304, 46, 50, 304, + 44, 44, 44, 304, 304, 46, 50, 44, 44, 44, + 304, 304, 273, 50, 44, 44, 44, 304, 267, 46, + + 50, 304, 304, 304, 304, 268, 50, 269, 304, 304, + 44, 44, 44, 271, 50, 46, 304, 270, 304, 272, + 304, 50, 44, 44, 44, 304, 304, 46, 50, 44, + 44, 44, 304, 304, 46, 274, 44, 44, 44, 304, + 304, 278, 304, 304, 50, 44, 44, 44, 304, 304, + 46, 275, 304, 44, 44, 44, 50, 304, 46, 276, + 304, 304, 304, 50, 44, 44, 44, 304, 304, 46, + 50, 44, 44, 44, 277, 304, 46, 304, 304, 50, + 44, 44, 44, 304, 304, 46, 279, 50, 44, 44, + 44, 304, 304, 46, 280, 44, 44, 44, 50, 304, + + 46, 44, 44, 44, 304, 50, 46, 44, 44, 44, + 304, 304, 287, 281, 50, 304, 304, 282, 44, 44, + 44, 304, 50, 288, 304, 44, 44, 44, 304, 50, + 46, 304, 283, 304, 304, 50, 304, 44, 44, 44, + 284, 50, 46, 44, 44, 44, 304, 285, 291, 304, + 304, 286, 50, 44, 44, 44, 304, 304, 292, 50, + 44, 44, 44, 304, 304, 46, 304, 44, 44, 44, + 304, 50, 46, 304, 304, 304, 304, 50, 290, 289, + 44, 44, 44, 304, 304, 295, 304, 50, 44, 44, + 44, 304, 304, 46, 50, 44, 44, 44, 304, 304, + + 46, 50, 304, 304, 304, 293, 44, 44, 44, 304, + 304, 46, 304, 304, 50, 304, 294, 304, 44, 44, + 44, 304, 50, 46, 304, 304, 44, 44, 44, 50, + 304, 46, 44, 44, 44, 304, 297, 301, 304, 304, + 50, 304, 296, 44, 44, 44, 304, 304, 302, 44, + 44, 44, 50, 304, 303, 304, 304, 304, 304, 298, + 50, 304, 304, 304, 304, 304, 50, 304, 304, 304, + 304, 299, 304, 304, 304, 304, 304, 50, 304, 300, + 304, 304, 304, 50, 36, 36, 36, 36, 36, 45, + 45, 45, 45, 45, 60, 304, 60, 60, 60, 79, + + 304, 79, 304, 79, 81, 81, 81, 81, 81, 87, + 87, 87, 87, 87, 104, 304, 104, 104, 104, 117, + 117, 117, 11, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304 } ; -static const flex_int16_t yy_chk[2015] = +static const flex_int16_t yy_chk[2085] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -930,11 +938,11 @@ static const flex_int16_t yy_chk[2015] = 5, 5, 5, 5, 5, 10, 13, 37, 13, 37, 21, 5, 5, 9, 5, 21, 26, 5, 71, 5, - 17, 5, 17, 17, 17, 17, 311, 5, 5, 7, - 10, 5, 26, 8, 17, 5, 27, 310, 71, 19, + 17, 5, 17, 17, 17, 17, 316, 5, 5, 7, + 10, 5, 26, 8, 17, 5, 27, 315, 71, 19, 5, 19, 19, 19, 19, 5, 5, 15, 15, 15, - 17, 309, 15, 19, 20, 20, 20, 20, 22, 27, - 22, 22, 22, 22, 31, 308, 20, 28, 184, 19, + 17, 314, 15, 19, 20, 20, 20, 20, 22, 27, + 22, 22, 22, 22, 31, 313, 20, 28, 185, 19, 15, 15, 22, 42, 15, 42, 69, 69, 69, 69, 31, 15, 20, 72, 44, 32, 15, 15, 22, 33, 28, 15, 162, 140, 15, 73, 15, 15, 15, 25, @@ -1004,143 +1012,150 @@ static const flex_int16_t yy_chk[2015] = 133, 129, 0, 133, 142, 142, 142, 0, 0, 142, 0, 143, 143, 143, 0, 131, 143, 0, 144, 144, 144, 132, 131, 144, 0, 0, 143, 143, 0, 0, - 0, 0, 133, 132, 146, 146, 146, 0, 142, 146, - 0, 0, 0, 0, 0, 143, 147, 147, 147, 0, + 0, 0, 133, 132, 0, 143, 0, 0, 142, 0, + 0, 0, 0, 0, 0, 143, 146, 146, 146, 0, - 0, 147, 144, 0, 0, 133, 142, 0, 0, 0, - 0, 0, 0, 144, 145, 145, 145, 145, 146, 0, + 0, 146, 144, 0, 0, 133, 142, 0, 0, 0, + 0, 0, 0, 144, 145, 145, 145, 145, 0, 0, 0, 0, 145, 145, 145, 145, 145, 145, 0, 0, - 147, 0, 0, 0, 0, 0, 146, 147, 145, 145, - 145, 145, 145, 145, 148, 148, 148, 0, 0, 148, - 149, 149, 149, 0, 0, 149, 150, 150, 150, 0, - 0, 150, 151, 151, 151, 149, 149, 151, 152, 152, - 152, 0, 151, 152, 153, 153, 153, 0, 148, 153, - 154, 154, 154, 0, 149, 154, 0, 148, 0, 0, - 150, 0, 155, 155, 155, 0, 151, 155, 156, 156, - - 156, 0, 152, 156, 0, 152, 0, 0, 153, 150, - 0, 157, 157, 157, 154, 153, 157, 158, 158, 158, - 0, 0, 158, 159, 159, 159, 155, 0, 159, 0, - 0, 0, 156, 164, 164, 164, 0, 0, 164, 165, - 165, 165, 0, 0, 165, 157, 156, 155, 166, 166, - 166, 158, 0, 166, 167, 167, 167, 159, 158, 167, - 169, 169, 169, 157, 0, 169, 0, 164, 0, 0, - 0, 0, 0, 165, 170, 170, 170, 0, 0, 170, - 0, 0, 166, 164, 0, 0, 0, 0, 167, 0, - 171, 171, 171, 0, 169, 171, 0, 0, 0, 0, - - 0, 0, 0, 167, 168, 168, 168, 168, 170, 0, - 169, 0, 168, 168, 168, 168, 168, 168, 175, 175, - 175, 0, 0, 175, 171, 0, 170, 0, 168, 168, - 168, 168, 168, 168, 172, 172, 172, 171, 0, 172, - 173, 173, 173, 0, 172, 173, 174, 174, 174, 0, - 173, 174, 175, 176, 176, 176, 174, 0, 176, 177, - 177, 177, 175, 0, 177, 179, 179, 179, 172, 175, - 179, 0, 0, 0, 173, 0, 180, 180, 180, 0, - 174, 180, 0, 0, 181, 181, 181, 176, 0, 181, - 182, 182, 182, 177, 0, 182, 186, 186, 186, 179, - - 0, 186, 189, 189, 189, 176, 0, 189, 0, 0, - 180, 177, 0, 0, 0, 0, 0, 180, 181, 179, - 190, 190, 190, 0, 182, 190, 191, 191, 191, 181, - 186, 191, 192, 192, 192, 0, 189, 192, 0, 0, - 0, 0, 0, 186, 182, 189, 193, 193, 193, 0, - 0, 193, 0, 0, 190, 0, 194, 194, 194, 0, - 191, 194, 0, 195, 195, 195, 192, 190, 195, 196, - 196, 196, 0, 192, 196, 0, 0, 0, 0, 0, - 193, 0, 191, 197, 197, 197, 0, 0, 197, 0, - 194, 198, 198, 198, 0, 0, 198, 195, 0, 193, - - 199, 199, 199, 196, 0, 199, 200, 200, 200, 194, - 195, 200, 0, 201, 201, 201, 0, 197, 201, 196, - 0, 202, 202, 202, 0, 198, 202, 203, 203, 203, - 0, 0, 203, 197, 199, 0, 0, 203, 0, 0, - 200, 0, 200, 206, 206, 206, 0, 201, 206, 198, - 0, 0, 0, 199, 0, 202, 0, 0, 205, 205, - 205, 203, 0, 205, 207, 207, 207, 201, 205, 207, - 0, 208, 208, 208, 207, 202, 208, 206, 0, 209, - 209, 209, 0, 0, 209, 210, 210, 210, 0, 0, - 210, 0, 205, 0, 0, 211, 211, 211, 207, 0, - - 211, 0, 0, 0, 0, 208, 212, 212, 212, 0, - 0, 212, 208, 209, 0, 213, 213, 213, 0, 210, - 213, 0, 214, 214, 214, 0, 210, 214, 0, 211, - 0, 0, 215, 215, 215, 209, 211, 215, 0, 0, - 212, 216, 216, 216, 0, 0, 216, 0, 0, 213, - 0, 212, 218, 218, 218, 0, 214, 218, 219, 219, - 219, 0, 0, 219, 0, 0, 215, 0, 213, 0, - 0, 220, 220, 220, 214, 216, 220, 221, 221, 221, - 0, 0, 221, 222, 222, 222, 218, 0, 222, 224, - 224, 224, 219, 0, 224, 0, 225, 225, 225, 219, - - 0, 225, 218, 0, 0, 220, 0, 227, 227, 227, - 0, 221, 227, 226, 226, 226, 0, 222, 226, 0, - 222, 0, 0, 224, 0, 0, 221, 0, 0, 220, - 225, 221, 228, 228, 228, 0, 0, 228, 229, 229, - 229, 227, 224, 229, 230, 230, 230, 226, 225, 230, - 0, 231, 231, 231, 226, 0, 231, 0, 0, 227, - 234, 234, 234, 0, 0, 234, 228, 0, 235, 235, - 235, 0, 229, 235, 0, 0, 229, 0, 230, 0, - 0, 236, 236, 236, 228, 231, 236, 237, 237, 237, - 0, 0, 237, 0, 234, 238, 238, 238, 230, 0, - - 238, 0, 235, 0, 0, 231, 0, 239, 239, 239, - 0, 234, 239, 0, 0, 236, 0, 240, 240, 240, - 235, 237, 240, 0, 237, 241, 241, 241, 0, 238, - 241, 242, 242, 242, 0, 0, 242, 243, 243, 243, - 0, 239, 243, 244, 244, 244, 0, 0, 244, 0, - 239, 240, 0, 238, 0, 245, 245, 245, 0, 241, - 245, 246, 246, 246, 0, 242, 246, 240, 247, 247, - 247, 243, 0, 247, 248, 248, 248, 244, 242, 248, - 249, 249, 249, 0, 0, 249, 251, 251, 251, 245, - 0, 251, 0, 243, 0, 246, 252, 252, 252, 244, - - 0, 252, 247, 0, 253, 253, 253, 245, 248, 253, - 254, 254, 254, 0, 249, 254, 256, 256, 256, 0, - 251, 256, 257, 257, 257, 0, 0, 257, 248, 0, - 252, 0, 0, 249, 251, 258, 258, 258, 253, 0, - 258, 259, 259, 259, 254, 253, 259, 252, 0, 254, - 256, 0, 262, 262, 262, 0, 257, 262, 0, 263, - 263, 263, 0, 257, 263, 264, 264, 264, 0, 258, - 264, 0, 0, 0, 0, 259, 258, 0, 259, 265, - 265, 265, 0, 0, 265, 0, 262, 266, 266, 266, - 0, 0, 266, 263, 0, 0, 0, 262, 0, 264, - - 267, 267, 267, 0, 0, 267, 264, 269, 269, 269, - 0, 0, 269, 265, 270, 270, 270, 0, 0, 270, - 265, 266, 271, 271, 271, 0, 0, 271, 272, 272, - 272, 0, 0, 272, 267, 0, 266, 274, 274, 274, - 0, 269, 274, 0, 0, 0, 267, 0, 270, 275, - 275, 275, 0, 0, 275, 0, 271, 0, 0, 269, - 0, 0, 272, 276, 276, 276, 270, 0, 276, 0, - 0, 274, 0, 0, 271, 277, 277, 277, 272, 0, - 277, 0, 0, 275, 278, 278, 278, 0, 0, 278, - 279, 279, 279, 0, 0, 279, 0, 276, 280, 280, - - 280, 0, 0, 280, 0, 281, 281, 281, 0, 277, - 281, 0, 0, 0, 0, 0, 277, 276, 278, 0, - 0, 284, 284, 284, 279, 0, 284, 0, 285, 285, - 285, 0, 280, 285, 0, 288, 288, 288, 0, 281, - 288, 0, 0, 280, 289, 289, 289, 0, 0, 289, - 0, 291, 291, 291, 281, 284, 291, 0, 292, 292, - 292, 0, 285, 292, 0, 293, 293, 293, 0, 288, - 293, 0, 294, 294, 294, 0, 288, 294, 289, 295, - 295, 295, 285, 0, 295, 291, 0, 0, 0, 0, - 0, 0, 292, 0, 0, 0, 0, 289, 0, 293, - - 0, 0, 0, 0, 291, 0, 294, 0, 0, 0, - 0, 292, 0, 295, 300, 300, 300, 300, 300, 301, - 301, 301, 301, 301, 302, 0, 302, 302, 302, 303, - 0, 303, 0, 303, 304, 304, 304, 304, 304, 305, - 305, 305, 305, 305, 306, 0, 306, 306, 306, 307, - 307, 307, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - - 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 299 + 146, 147, 147, 147, 0, 0, 147, 0, 145, 145, + 145, 145, 145, 145, 148, 148, 148, 0, 146, 148, + 0, 149, 149, 149, 0, 0, 149, 150, 150, 150, + 0, 0, 150, 0, 0, 147, 149, 149, 0, 151, + 151, 151, 147, 0, 151, 152, 152, 152, 148, 151, + 152, 153, 153, 153, 0, 149, 153, 148, 0, 0, + 0, 150, 154, 154, 154, 0, 0, 154, 0, 155, + + 155, 155, 0, 151, 155, 0, 157, 157, 157, 152, + 150, 157, 152, 0, 0, 153, 156, 156, 156, 0, + 0, 156, 153, 0, 0, 0, 154, 158, 158, 158, + 0, 0, 158, 155, 0, 0, 159, 159, 159, 0, + 157, 159, 164, 164, 164, 0, 0, 164, 0, 0, + 156, 165, 165, 165, 155, 0, 165, 0, 157, 0, + 0, 158, 0, 0, 156, 0, 0, 0, 158, 0, + 159, 0, 166, 166, 166, 0, 164, 166, 167, 167, + 167, 0, 0, 167, 0, 165, 168, 168, 168, 0, + 0, 168, 164, 170, 170, 170, 0, 0, 170, 171, + + 171, 171, 0, 0, 171, 0, 166, 0, 172, 172, + 172, 0, 167, 172, 0, 0, 0, 0, 167, 0, + 168, 0, 0, 0, 173, 173, 173, 170, 0, 173, + 0, 0, 0, 171, 173, 168, 169, 169, 169, 169, + 0, 0, 172, 170, 169, 169, 169, 169, 169, 169, + 0, 171, 176, 176, 176, 172, 0, 176, 173, 0, + 169, 169, 169, 169, 169, 169, 174, 174, 174, 0, + 0, 174, 175, 175, 175, 0, 174, 175, 177, 177, + 177, 0, 175, 177, 0, 0, 176, 178, 178, 178, + 0, 0, 178, 180, 180, 180, 176, 0, 180, 0, + + 174, 0, 0, 176, 0, 0, 175, 0, 181, 181, + 181, 0, 177, 181, 182, 182, 182, 0, 0, 182, + 0, 178, 0, 183, 183, 183, 0, 180, 183, 0, + 177, 187, 187, 187, 0, 0, 187, 0, 0, 178, + 0, 0, 181, 0, 0, 0, 0, 180, 182, 181, + 190, 190, 190, 0, 0, 190, 0, 183, 0, 182, + 0, 191, 191, 191, 0, 187, 191, 192, 192, 192, + 0, 0, 192, 0, 193, 193, 193, 183, 187, 193, + 0, 194, 194, 194, 190, 0, 194, 195, 195, 195, + 0, 0, 195, 0, 0, 191, 0, 0, 0, 190, + + 0, 192, 0, 0, 191, 196, 196, 196, 193, 0, + 196, 198, 198, 198, 192, 194, 198, 0, 197, 197, + 197, 195, 194, 197, 0, 0, 199, 199, 199, 0, + 193, 199, 200, 200, 200, 0, 0, 200, 0, 196, + 195, 201, 201, 201, 0, 198, 201, 0, 202, 202, + 202, 0, 197, 202, 203, 203, 203, 0, 196, 203, + 199, 198, 204, 204, 204, 197, 200, 204, 205, 205, + 205, 0, 0, 205, 0, 201, 199, 0, 205, 0, + 0, 0, 202, 0, 202, 0, 0, 0, 203, 0, + 200, 0, 0, 0, 201, 0, 204, 0, 0, 207, + + 207, 207, 205, 0, 207, 208, 208, 208, 203, 207, + 208, 0, 209, 209, 209, 0, 204, 209, 210, 210, + 210, 0, 0, 210, 0, 211, 211, 211, 210, 0, + 211, 0, 0, 207, 0, 212, 212, 212, 0, 208, + 212, 0, 213, 213, 213, 0, 209, 213, 214, 214, + 214, 0, 210, 214, 0, 0, 0, 0, 208, 211, + 215, 215, 215, 0, 0, 215, 211, 0, 0, 212, + 216, 216, 216, 0, 0, 216, 213, 0, 0, 217, + 217, 217, 214, 213, 217, 218, 218, 218, 0, 214, + 218, 212, 0, 0, 215, 219, 219, 219, 0, 0, + + 219, 221, 221, 221, 216, 215, 221, 222, 222, 222, + 0, 0, 222, 217, 0, 223, 223, 223, 0, 218, + 223, 0, 0, 216, 0, 224, 224, 224, 0, 219, + 224, 217, 225, 225, 225, 221, 0, 225, 226, 226, + 226, 222, 0, 226, 0, 0, 0, 0, 222, 223, + 0, 221, 228, 228, 228, 0, 0, 228, 0, 224, + 229, 229, 229, 0, 0, 229, 225, 0, 0, 225, + 0, 0, 226, 223, 224, 230, 230, 230, 0, 224, + 230, 0, 0, 231, 231, 231, 228, 0, 231, 0, + 232, 232, 232, 0, 229, 232, 233, 233, 233, 0, + + 0, 233, 234, 234, 234, 228, 0, 234, 0, 230, + 0, 0, 229, 235, 235, 235, 230, 231, 235, 0, + 238, 238, 238, 0, 232, 238, 239, 239, 239, 0, + 233, 239, 0, 0, 233, 231, 234, 0, 240, 240, + 240, 0, 232, 240, 0, 0, 0, 235, 241, 241, + 241, 0, 0, 241, 238, 0, 234, 242, 242, 242, + 239, 0, 242, 243, 243, 243, 0, 235, 243, 0, + 0, 238, 240, 0, 245, 245, 245, 0, 239, 245, + 0, 0, 241, 0, 0, 241, 0, 246, 246, 246, + 0, 242, 246, 247, 247, 247, 0, 243, 247, 248, + + 248, 248, 0, 0, 248, 0, 243, 0, 245, 249, + 249, 249, 0, 0, 249, 242, 0, 250, 250, 250, + 0, 246, 250, 0, 245, 0, 0, 247, 0, 251, + 251, 251, 0, 248, 251, 0, 252, 252, 252, 0, + 247, 252, 0, 249, 253, 253, 253, 0, 0, 253, + 0, 250, 254, 254, 254, 248, 0, 254, 0, 256, + 256, 256, 0, 251, 256, 249, 257, 257, 257, 250, + 252, 257, 258, 258, 258, 0, 0, 258, 253, 0, + 259, 259, 259, 0, 0, 259, 254, 261, 261, 261, + 0, 0, 261, 256, 262, 262, 262, 0, 253, 262, + + 257, 0, 0, 0, 0, 254, 258, 256, 0, 0, + 263, 263, 263, 258, 259, 263, 0, 257, 0, 259, + 0, 261, 264, 264, 264, 0, 0, 264, 262, 267, + 267, 267, 0, 0, 267, 262, 268, 268, 268, 0, + 0, 268, 0, 0, 263, 269, 269, 269, 0, 0, + 269, 263, 0, 270, 270, 270, 264, 0, 270, 264, + 0, 0, 0, 267, 271, 271, 271, 0, 0, 271, + 268, 272, 272, 272, 267, 0, 272, 0, 0, 269, + 274, 274, 274, 0, 0, 274, 269, 270, 275, 275, + 275, 0, 0, 275, 270, 276, 276, 276, 271, 0, + + 276, 277, 277, 277, 0, 272, 277, 279, 279, 279, + 0, 0, 279, 271, 274, 0, 0, 272, 280, 280, + 280, 0, 275, 280, 0, 281, 281, 281, 0, 276, + 281, 0, 274, 0, 0, 277, 0, 282, 282, 282, + 275, 279, 282, 283, 283, 283, 0, 276, 283, 0, + 0, 277, 280, 284, 284, 284, 0, 0, 284, 281, + 285, 285, 285, 0, 0, 285, 0, 286, 286, 286, + 0, 282, 286, 0, 0, 0, 0, 283, 282, 281, + 289, 289, 289, 0, 0, 289, 0, 284, 290, 290, + 290, 0, 0, 290, 285, 293, 293, 293, 0, 0, + + 293, 286, 0, 0, 0, 285, 294, 294, 294, 0, + 0, 294, 0, 0, 289, 0, 286, 0, 296, 296, + 296, 0, 290, 296, 0, 0, 297, 297, 297, 293, + 0, 297, 298, 298, 298, 0, 293, 298, 0, 0, + 294, 0, 290, 299, 299, 299, 0, 0, 299, 300, + 300, 300, 296, 0, 300, 0, 0, 0, 0, 294, + 297, 0, 0, 0, 0, 0, 298, 0, 0, 0, + 0, 296, 0, 0, 0, 0, 0, 299, 0, 297, + 0, 0, 0, 300, 305, 305, 305, 305, 305, 306, + 306, 306, 306, 306, 307, 0, 307, 307, 307, 308, + + 0, 308, 0, 308, 309, 309, 309, 309, 309, 310, + 310, 310, 310, 310, 311, 0, 311, 311, 311, 312, + 312, 312, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304, 304, 304, 304, 304, 304, 304, + 304, 304, 304, 304 } ; static yy_state_type yy_last_accepting_state; @@ -1149,14 +1164,14 @@ static char *yy_last_accepting_cpos; extern int agent__flex_debug; int agent__flex_debug = 1; -static const flex_int16_t yy_rule_linenum[52] = +static const flex_int16_t yy_rule_linenum[53] = { 0, 127, 129, 131, 136, 137, 142, 143, 144, 156, 159, - 164, 171, 179, 187, 195, 203, 211, 219, 228, 237, - 245, 253, 261, 269, 277, 285, 294, 302, 311, 319, - 327, 335, 343, 351, 449, 454, 459, 464, 465, 466, - 467, 468, 469, 471, 489, 502, 507, 511, 513, 515, - 517 + 164, 171, 180, 189, 198, 207, 216, 225, 234, 243, + 252, 261, 270, 279, 288, 297, 306, 315, 324, 333, + 342, 351, 360, 369, 378, 476, 481, 486, 491, 492, + 493, 494, 495, 496, 498, 516, 529, 534, 538, 540, + 542, 544 } ; /* The intent behind this definition is that it'll catch @@ -1205,7 +1220,7 @@ using isc::agent::AgentParser; // To avoid the call to exit... oops! #define YY_FATAL_ERROR(msg) isc::agent::ParserContext::fatal(msg) -#line 1208 "agent_lexer.cc" +#line 1223 "agent_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 @@ -1231,8 +1246,8 @@ using isc::agent::AgentParser; // 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 1234 "agent_lexer.cc" -#line 1235 "agent_lexer.cc" +#line 1249 "agent_lexer.cc" +#line 1250 "agent_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -1546,7 +1561,7 @@ YY_DECL } -#line 1549 "agent_lexer.cc" +#line 1564 "agent_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1575,13 +1590,13 @@ yy_match: 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 >= 300 ) + if ( yy_current_state >= 305 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 299 ); + while ( yy_current_state != 304 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -1600,13 +1615,13 @@ do_action: /* This label is used only to access EOF actions. */ { if ( yy_act == 0 ) fprintf( stderr, "--scanner backing up\n" ); - else if ( yy_act < 52 ) + else if ( yy_act < 53 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], agent_text ); - else if ( yy_act == 52 ) + else if ( yy_act == 53 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", agent_text ); - else if ( yy_act == 53 ) + else if ( yy_act == 54 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -1714,248 +1729,281 @@ case 12: YY_RULE_SETUP #line 171 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { + switch(driver.ctx_) { + case ParserContext::CONFIG: return AgentParser::make_CONTROL_AGENT(driver.loc_); - } else { + default: return AgentParser::make_STRING("Control-agent", driver.loc_); } } YY_BREAK case 13: YY_RULE_SETUP -#line 179 "agent_lexer.ll" +#line 180 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { + switch(driver.ctx_) { + case ParserContext::AGENT: return AgentParser::make_HTTP_HOST(driver.loc_); - } else { + default: return AgentParser::make_STRING("http-host", driver.loc_); } } YY_BREAK case 14: YY_RULE_SETUP -#line 187 "agent_lexer.ll" +#line 189 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { + switch(driver.ctx_) { + case ParserContext::AGENT: return AgentParser::make_HTTP_PORT(driver.loc_); - } else { + default: return AgentParser::make_STRING("http-port", driver.loc_); } } YY_BREAK case 15: YY_RULE_SETUP -#line 195 "agent_lexer.ll" +#line 198 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_DHCP4_SERVER(driver.loc_); - } else { - return AgentParser::make_STRING("dhcp4-server", driver.loc_); + switch(driver.ctx_) { + case ParserContext::AGENT: + return AgentParser::make_CONTROL_SOCKETS(driver.loc_); + default: + return AgentParser::make_STRING("control-sockets", driver.loc_); } } YY_BREAK case 16: YY_RULE_SETUP -#line 203 "agent_lexer.ll" +#line 207 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_DHCP6_SERVER(driver.loc_); - } else { - return AgentParser::make_STRING("dhcp6-server", driver.loc_); + switch(driver.ctx_) { + case ParserContext::CONTROL_SOCKETS: + return AgentParser::make_DHCP4_SERVER(driver.loc_); + default: + return AgentParser::make_STRING("dhcp4-server", driver.loc_); } } YY_BREAK case 17: YY_RULE_SETUP -#line 211 "agent_lexer.ll" +#line 216 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_D2_SERVER(driver.loc_); - } else { - return AgentParser::make_STRING("d2-server", driver.loc_); + switch(driver.ctx_) { + case ParserContext::CONTROL_SOCKETS: + return AgentParser::make_DHCP6_SERVER(driver.loc_); + default: + return AgentParser::make_STRING("dhcp6-server", driver.loc_); } } YY_BREAK case 18: YY_RULE_SETUP -#line 219 "agent_lexer.ll" +#line 225 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_UNIX(driver.loc_); + switch(driver.ctx_) { + case ParserContext::CONTROL_SOCKETS: + return AgentParser::make_D2_SERVER(driver.loc_); + default: + return AgentParser::make_STRING("d2-server", driver.loc_); } - std::string tmp(yytext+1); - tmp.resize(tmp.size() - 1); - return AgentParser::make_STRING(tmp, driver.loc_); } YY_BREAK case 19: YY_RULE_SETUP -#line 228 "agent_lexer.ll" +#line 234 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_NAME(driver.loc_); - } else { - return AgentParser::make_STRING("name", driver.loc_); + switch(driver.ctx_) { + case ParserContext::SERVER: + return AgentParser::make_SOCKET_NAME(driver.loc_); + default: + return AgentParser::make_STRING("socket-name", driver.loc_); } } YY_BREAK case 20: YY_RULE_SETUP -#line 237 "agent_lexer.ll" +#line 243 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_LOGGING(driver.loc_); - } else { - return AgentParser::make_STRING("Logging", driver.loc_); + switch(driver.ctx_) { + case ParserContext::SERVER: + return AgentParser::make_SOCKET_TYPE(driver.loc_); + default: + return AgentParser::make_STRING("socket-type", driver.loc_); } } YY_BREAK case 21: YY_RULE_SETUP -#line 245 "agent_lexer.ll" +#line 252 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_LOGGERS(driver.loc_); - } else { - return AgentParser::make_STRING("loggers", driver.loc_); + switch(driver.ctx_) { + case ParserContext::SOCKET_TYPE: + return AgentParser::make_UNIX(driver.loc_); + default: + return AgentParser::make_STRING("unix", driver.loc_); } } YY_BREAK case 22: YY_RULE_SETUP -#line 253 "agent_lexer.ll" +#line 261 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_OUTPUT_OPTIONS(driver.loc_); - } else { - return AgentParser::make_STRING("output_options", driver.loc_); + switch(driver.ctx_) { + case ParserContext::AGENT: + return AgentParser::make_HOOKS_LIBRARIES(driver.loc_); + default: + return AgentParser::make_STRING("hooks-libraries", driver.loc_); } } YY_BREAK case 23: YY_RULE_SETUP -#line 261 "agent_lexer.ll" +#line 270 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_OUTPUT(driver.loc_); - } else { - return AgentParser::make_STRING("output", driver.loc_); + switch(driver.ctx_) { + case ParserContext::HOOKS_LIBRARIES: + return AgentParser::make_LIBRARY(driver.loc_); + default: + return AgentParser::make_STRING("library", driver.loc_); } } YY_BREAK case 24: YY_RULE_SETUP -#line 269 "agent_lexer.ll" +#line 279 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_DEBUGLEVEL(driver.loc_); - } else { - return AgentParser::make_STRING("debuglevel", driver.loc_); + switch(driver.ctx_) { + case ParserContext::HOOKS_LIBRARIES: + return AgentParser::make_PARAMETERS(driver.loc_); + default: + return AgentParser::make_STRING("parameters", driver.loc_); } } YY_BREAK case 25: YY_RULE_SETUP -#line 277 "agent_lexer.ll" +#line 288 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_SEVERITY(driver.loc_); - } else { - return AgentParser::make_STRING("severity", driver.loc_); + switch(driver.ctx_) { + case ParserContext::CONFIG: + return AgentParser::make_LOGGING(driver.loc_); + default: + return AgentParser::make_STRING("Logging", driver.loc_); } } YY_BREAK case 26: YY_RULE_SETUP -#line 285 "agent_lexer.ll" +#line 297 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_HOOKS_LIBRARIES(driver.loc_); - } else { - return AgentParser::make_STRING("hooks-libraries", driver.loc_); + switch(driver.ctx_) { + case ParserContext::LOGGING: + return AgentParser::make_LOGGERS(driver.loc_); + default: + return AgentParser::make_STRING("loggers", driver.loc_); } } YY_BREAK case 27: YY_RULE_SETUP -#line 294 "agent_lexer.ll" +#line 306 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_PARAMETERS(driver.loc_); - } else { - return AgentParser::make_STRING("parameters", driver.loc_); + switch(driver.ctx_) { + case ParserContext::LOGGERS: + return AgentParser::make_NAME(driver.loc_); + default: + return AgentParser::make_STRING("name", driver.loc_); } } YY_BREAK case 28: YY_RULE_SETUP -#line 302 "agent_lexer.ll" +#line 315 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_LIBRARY(driver.loc_); - } else { - return AgentParser::make_STRING("library", driver.loc_); + switch(driver.ctx_) { + case ParserContext::LOGGERS: + return AgentParser::make_OUTPUT_OPTIONS(driver.loc_); + default: + return AgentParser::make_STRING("output_options", driver.loc_); } } YY_BREAK case 29: YY_RULE_SETUP -#line 311 "agent_lexer.ll" +#line 324 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_CONTROL_SOCKETS(driver.loc_); - } else { - return AgentParser::make_STRING("control-sockets", driver.loc_); + switch(driver.ctx_) { + case ParserContext::OUTPUT_OPTIONS: + return AgentParser::make_OUTPUT(driver.loc_); + default: + return AgentParser::make_STRING("output", driver.loc_); } } YY_BREAK case 30: YY_RULE_SETUP -#line 319 "agent_lexer.ll" +#line 333 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_SOCKET_TYPE(driver.loc_); - } else { - return AgentParser::make_STRING("socket-type", driver.loc_); + switch(driver.ctx_) { + case ParserContext::LOGGERS: + return AgentParser::make_DEBUGLEVEL(driver.loc_); + default: + return AgentParser::make_STRING("debuglevel", driver.loc_); } } YY_BREAK case 31: YY_RULE_SETUP -#line 327 "agent_lexer.ll" +#line 342 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_SOCKET_NAME(driver.loc_); - } else { - return AgentParser::make_STRING("socket-name", driver.loc_); + switch(driver.ctx_) { + case ParserContext::LOGGERS: + return AgentParser::make_SEVERITY(driver.loc_); + default: + return AgentParser::make_STRING("severity", driver.loc_); } } YY_BREAK case 32: YY_RULE_SETUP -#line 335 "agent_lexer.ll" +#line 351 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { + switch(driver.ctx_) { + case ParserContext::CONFIG: return AgentParser::make_DHCP4(driver.loc_); - } else { + default: return AgentParser::make_STRING("Dhcp4", driver.loc_); } } YY_BREAK case 33: YY_RULE_SETUP -#line 343 "agent_lexer.ll" +#line 360 "agent_lexer.ll" { - if (driver.ctx_ != ParserContext::NO_KEYWORDS) { - return AgentParser::make_DHCP4(driver.loc_); - } else { - return AgentParser::make_STRING("Dhcp4", driver.loc_); + switch(driver.ctx_) { + case ParserContext::CONFIG: + return AgentParser::make_DHCP6(driver.loc_); + default: + return AgentParser::make_STRING("Dhcp6", driver.loc_); } } YY_BREAK case 34: YY_RULE_SETUP -#line 351 "agent_lexer.ll" +#line 369 "agent_lexer.ll" +{ + switch(driver.ctx_) { + case ParserContext::CONFIG: + return AgentParser::make_DHCPDDNS(driver.loc_); + default: + return AgentParser::make_STRING("DhcpDdns", driver.loc_); + } +} + YY_BREAK +case 35: +YY_RULE_SETUP +#line 378 "agent_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. @@ -2054,65 +2102,65 @@ YY_RULE_SETUP return AgentParser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 35: -/* rule 35 can match eol */ +case 36: +/* rule 36 can match eol */ YY_RULE_SETUP -#line 449 "agent_lexer.ll" +#line 476 "agent_lexer.ll" { // Bad string with a forbidden control character inside driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK -case 36: -/* rule 36 can match eol */ +case 37: +/* rule 37 can match eol */ YY_RULE_SETUP -#line 454 "agent_lexer.ll" +#line 481 "agent_lexer.ll" { // Bad string with a bad escape inside driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK -case 37: +case 38: YY_RULE_SETUP -#line 459 "agent_lexer.ll" +#line 486 "agent_lexer.ll" { // Bad string with an open escape at the end driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); } YY_BREAK -case 38: +case 39: YY_RULE_SETUP -#line 464 "agent_lexer.ll" +#line 491 "agent_lexer.ll" { return AgentParser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 39: +case 40: YY_RULE_SETUP -#line 465 "agent_lexer.ll" +#line 492 "agent_lexer.ll" { return AgentParser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 40: +case 41: YY_RULE_SETUP -#line 466 "agent_lexer.ll" +#line 493 "agent_lexer.ll" { return AgentParser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 41: +case 42: YY_RULE_SETUP -#line 467 "agent_lexer.ll" +#line 494 "agent_lexer.ll" { return AgentParser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 42: +case 43: YY_RULE_SETUP -#line 468 "agent_lexer.ll" +#line 495 "agent_lexer.ll" { return AgentParser::make_COMMA(driver.loc_); } YY_BREAK -case 43: +case 44: YY_RULE_SETUP -#line 469 "agent_lexer.ll" +#line 496 "agent_lexer.ll" { return AgentParser::make_COLON(driver.loc_); } YY_BREAK -case 44: +case 45: YY_RULE_SETUP -#line 471 "agent_lexer.ll" +#line 498 "agent_lexer.ll" { // An integer was found. std::string tmp(yytext); @@ -2131,9 +2179,9 @@ YY_RULE_SETUP return AgentParser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 45: +case 46: YY_RULE_SETUP -#line 489 "agent_lexer.ll" +#line 516 "agent_lexer.ll" { // A floating point was found. std::string tmp(yytext); @@ -2147,43 +2195,43 @@ YY_RULE_SETUP return AgentParser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 46: +case 47: YY_RULE_SETUP -#line 502 "agent_lexer.ll" +#line 529 "agent_lexer.ll" { string tmp(yytext); return AgentParser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 47: +case 48: YY_RULE_SETUP -#line 507 "agent_lexer.ll" +#line 534 "agent_lexer.ll" { return AgentParser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 48: +case 49: YY_RULE_SETUP -#line 511 "agent_lexer.ll" +#line 538 "agent_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 49: +case 50: YY_RULE_SETUP -#line 513 "agent_lexer.ll" +#line 540 "agent_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 50: +case 51: YY_RULE_SETUP -#line 515 "agent_lexer.ll" +#line 542 "agent_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 51: +case 52: YY_RULE_SETUP -#line 517 "agent_lexer.ll" +#line 544 "agent_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 519 "agent_lexer.ll" +#line 546 "agent_lexer.ll" { if (driver.states_.empty()) { return AgentParser::make_END(driver.loc_); @@ -2207,12 +2255,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 52: +case 53: YY_RULE_SETUP -#line 542 "agent_lexer.ll" +#line 569 "agent_lexer.ll" ECHO; YY_BREAK -#line 2215 "agent_lexer.cc" +#line 2263 "agent_lexer.cc" case YY_END_OF_BUFFER: { @@ -2527,7 +2575,7 @@ static int yy_get_next_buffer (void) 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 >= 300 ) + if ( yy_current_state >= 305 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -2560,11 +2608,11 @@ static int yy_get_next_buffer (void) 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 >= 300 ) + if ( yy_current_state >= 305 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 299); + yy_is_jam = (yy_current_state == 304); return yy_is_jam ? 0 : yy_current_state; } @@ -3313,7 +3361,7 @@ void agent_free (void * ptr ) /* %ok-for-header */ -#line 542 "agent_lexer.ll" +#line 569 "agent_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/agent/agent_parser.cc b/src/bin/agent/agent_parser.cc index a9aad17841..b27e016985 100644 --- a/src/bin/agent/agent_parser.cc +++ b/src/bin/agent/agent_parser.cc @@ -254,7 +254,7 @@ namespace isc { namespace agent { switch (that.type_get ()) { case 48: // value - case 94: // socket_type_value + case 97: // socket_type_value value.move< ElementPtr > (that.value); break; @@ -290,7 +290,7 @@ namespace isc { namespace agent { switch (that.type_get ()) { case 48: // value - case 94: // socket_type_value + case 97: // socket_type_value value.copy< ElementPtr > (that.value); break; @@ -348,42 +348,42 @@ namespace isc { namespace agent { { case 36: // "constant string" -#line 97 "agent_parser.yy" // lalr1.cc:636 +#line 96 "agent_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 354 "agent_parser.cc" // lalr1.cc:636 break; case 37: // "integer" -#line 97 "agent_parser.yy" // lalr1.cc:636 +#line 96 "agent_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< int64_t > (); } #line 361 "agent_parser.cc" // lalr1.cc:636 break; case 38: // "floating point" -#line 97 "agent_parser.yy" // lalr1.cc:636 +#line 96 "agent_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< double > (); } #line 368 "agent_parser.cc" // lalr1.cc:636 break; case 39: // "boolean" -#line 97 "agent_parser.yy" // lalr1.cc:636 +#line 96 "agent_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< bool > (); } #line 375 "agent_parser.cc" // lalr1.cc:636 break; case 48: // value -#line 97 "agent_parser.yy" // lalr1.cc:636 +#line 96 "agent_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 382 "agent_parser.cc" // lalr1.cc:636 break; - case 94: // socket_type_value + case 97: // socket_type_value -#line 97 "agent_parser.yy" // lalr1.cc:636 +#line 96 "agent_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 389 "agent_parser.cc" // lalr1.cc:636 break; @@ -586,7 +586,7 @@ namespace isc { namespace agent { switch (yyr1_[yyn]) { case 48: // value - case 94: // socket_type_value + case 97: // socket_type_value yylhs.value.build< ElementPtr > (); break; @@ -624,25 +624,25 @@ namespace isc { namespace agent { switch (yyn) { case 2: -#line 108 "agent_parser.yy" // lalr1.cc:859 +#line 107 "agent_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.NO_KEYWORDS; } #line 630 "agent_parser.cc" // lalr1.cc:859 break; case 4: -#line 109 "agent_parser.yy" // lalr1.cc:859 - { ctx.ctx_ = ctx.KEYWORDS; } +#line 108 "agent_parser.yy" // lalr1.cc:859 + { ctx.ctx_ = ctx.CONFIG; } #line 636 "agent_parser.cc" // lalr1.cc:859 break; case 6: -#line 110 "agent_parser.yy" // lalr1.cc:859 - { ctx.ctx_ = ctx.KEYWORDS; } +#line 109 "agent_parser.yy" // lalr1.cc:859 + { ctx.ctx_ = ctx.AGENT; } #line 642 "agent_parser.cc" // lalr1.cc:859 break; case 8: -#line 118 "agent_parser.yy" // lalr1.cc:859 +#line 117 "agent_parser.yy" // lalr1.cc:859 { // Parse the Control-agent map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -652,7 +652,7 @@ namespace isc { namespace agent { break; case 9: -#line 122 "agent_parser.yy" // lalr1.cc:859 +#line 121 "agent_parser.yy" // lalr1.cc:859 { // parsing completed } @@ -660,7 +660,7 @@ namespace isc { namespace agent { break; case 10: -#line 129 "agent_parser.yy" // lalr1.cc:859 +#line 128 "agent_parser.yy" // lalr1.cc:859 { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ()); @@ -669,49 +669,49 @@ namespace isc { namespace agent { break; case 11: -#line 135 "agent_parser.yy" // lalr1.cc:859 +#line 134 "agent_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 675 "agent_parser.cc" // lalr1.cc:859 break; case 12: -#line 136 "agent_parser.yy" // lalr1.cc:859 +#line 135 "agent_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); } #line 681 "agent_parser.cc" // lalr1.cc:859 break; case 13: -#line 137 "agent_parser.yy" // lalr1.cc:859 +#line 136 "agent_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); } #line 687 "agent_parser.cc" // lalr1.cc:859 break; case 14: -#line 138 "agent_parser.yy" // lalr1.cc:859 +#line 137 "agent_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 693 "agent_parser.cc" // lalr1.cc:859 break; case 15: -#line 139 "agent_parser.yy" // lalr1.cc:859 +#line 138 "agent_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 699 "agent_parser.cc" // lalr1.cc:859 break; case 16: -#line 140 "agent_parser.yy" // lalr1.cc:859 +#line 139 "agent_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 705 "agent_parser.cc" // lalr1.cc:859 break; case 17: -#line 141 "agent_parser.yy" // lalr1.cc:859 +#line 140 "agent_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 711 "agent_parser.cc" // lalr1.cc:859 break; case 18: -#line 145 "agent_parser.yy" // lalr1.cc:859 +#line 144 "agent_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@ -722,7 +722,7 @@ namespace isc { namespace agent { break; case 19: -#line 150 "agent_parser.yy" // lalr1.cc:859 +#line 149 "agent_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 @@ -732,7 +732,7 @@ namespace isc { namespace agent { break; case 22: -#line 168 "agent_parser.yy" // lalr1.cc:859 +#line 167 "agent_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 > ()); @@ -741,7 +741,7 @@ namespace isc { namespace agent { break; case 23: -#line 172 "agent_parser.yy" // lalr1.cc:859 +#line 171 "agent_parser.yy" // lalr1.cc:859 { // map consisting of a shorter map followed by // comma and string:value @@ -751,7 +751,7 @@ namespace isc { namespace agent { break; case 24: -#line 179 "agent_parser.yy" // lalr1.cc:859 +#line 178 "agent_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -760,14 +760,14 @@ namespace isc { namespace agent { break; case 25: -#line 182 "agent_parser.yy" // lalr1.cc:859 +#line 181 "agent_parser.yy" // lalr1.cc:859 { } #line 767 "agent_parser.cc" // lalr1.cc:859 break; case 28: -#line 189 "agent_parser.yy" // lalr1.cc:859 +#line 188 "agent_parser.yy" // lalr1.cc:859 { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); @@ -776,7 +776,7 @@ namespace isc { namespace agent { break; case 29: -#line 193 "agent_parser.yy" // lalr1.cc:859 +#line 192 "agent_parser.yy" // lalr1.cc:859 { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); @@ -785,13 +785,14 @@ namespace isc { namespace agent { break; case 30: -#line 206 "agent_parser.yy" // lalr1.cc:859 +#line 205 "agent_parser.yy" // lalr1.cc:859 { + const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as< std::string > (); error(yystack_[1].location, - "got unexpected keyword \"" + keyword + "\" in map."); + "got unexpected keyword \"" + keyword + "\" in " + where + " map."); } -#line 795 "agent_parser.cc" // lalr1.cc:859 +#line 796 "agent_parser.cc" // lalr1.cc:859 break; case 31: @@ -802,7 +803,7 @@ namespace isc { namespace agent { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 806 "agent_parser.cc" // lalr1.cc:859 +#line 807 "agent_parser.cc" // lalr1.cc:859 break; case 32: @@ -812,443 +813,469 @@ namespace isc { namespace agent { // (maybe some sanity checking), this would be the best place // for it. } -#line 816 "agent_parser.cc" // lalr1.cc:859 +#line 817 "agent_parser.cc" // lalr1.cc:859 break; case 41: #line 240 "agent_parser.yy" // lalr1.cc:859 { - // Let's create a MapElement that will represent it, add it to the top level - // map (that's already on the stack) and put the new map on the stack as well, - // so child elements will be able to add themselves to it. + + // Let's create a MapElement that will represent it, add it to the + // top level map (that's already on the stack) and put the new map + // on the stack as well, so child elements will be able to add + // themselves to it. ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("Control-agent", m); ctx.stack_.push_back(m); - - // And tell the lexer that we definitely want keywords to be recognized. - ctx.enter(ctx.KEYWORDS); + ctx.enter(ctx.AGENT); } -#line 832 "agent_parser.cc" // lalr1.cc:859 +#line 833 "agent_parser.cc" // lalr1.cc:859 break; case 42: #line 250 "agent_parser.yy" // lalr1.cc:859 { - // Ok, we're done with parsing control-agent. Let's take the map off the stack. + // Ok, we're done with parsing control-agent. Let's take the map + // off the stack. ctx.stack_.pop_back(); - - // And tell the lexer to return to its previous state (probably KEYWORDS as well) ctx.leave(); } #line 844 "agent_parser.cc" // lalr1.cc:859 break; case 50: -#line 271 "agent_parser.yy" // lalr1.cc:859 +#line 270 "agent_parser.yy" // lalr1.cc:859 + { + ctx.enter(ctx.NO_KEYWORDS); +} +#line 852 "agent_parser.cc" // lalr1.cc:859 + break; + + case 51: +#line 272 "agent_parser.yy" // lalr1.cc:859 { ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("http-host", host); + ctx.leave(); } -#line 853 "agent_parser.cc" // lalr1.cc:859 +#line 862 "agent_parser.cc" // lalr1.cc:859 break; - case 51: -#line 276 "agent_parser.yy" // lalr1.cc:859 + case 52: +#line 278 "agent_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("http-port", prf); } -#line 862 "agent_parser.cc" // lalr1.cc:859 +#line 871 "agent_parser.cc" // lalr1.cc:859 break; - case 52: -#line 282 "agent_parser.yy" // lalr1.cc:859 + case 53: +#line 284 "agent_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hooks-libraries", l); ctx.stack_.push_back(l); + ctx.enter(ctx.HOOKS_LIBRARIES); } -#line 872 "agent_parser.cc" // lalr1.cc:859 +#line 882 "agent_parser.cc" // lalr1.cc:859 break; - case 53: -#line 286 "agent_parser.yy" // lalr1.cc:859 + case 54: +#line 289 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); + ctx.leave(); } -#line 880 "agent_parser.cc" // lalr1.cc:859 +#line 891 "agent_parser.cc" // lalr1.cc:859 break; - case 58: -#line 298 "agent_parser.yy" // lalr1.cc:859 + case 59: +#line 302 "agent_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 890 "agent_parser.cc" // lalr1.cc:859 +#line 901 "agent_parser.cc" // lalr1.cc:859 break; - case 59: -#line 302 "agent_parser.yy" // lalr1.cc:859 + case 60: +#line 306 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 898 "agent_parser.cc" // lalr1.cc:859 +#line 909 "agent_parser.cc" // lalr1.cc:859 break; - case 65: -#line 315 "agent_parser.yy" // lalr1.cc:859 + case 66: +#line 319 "agent_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORDS); } -#line 906 "agent_parser.cc" // lalr1.cc:859 +#line 917 "agent_parser.cc" // lalr1.cc:859 break; - case 66: -#line 317 "agent_parser.yy" // lalr1.cc:859 + case 67: +#line 321 "agent_parser.yy" // lalr1.cc:859 { ElementPtr lib(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("library", lib); ctx.leave(); } -#line 916 "agent_parser.cc" // lalr1.cc:859 +#line 927 "agent_parser.cc" // lalr1.cc:859 break; - case 67: -#line 323 "agent_parser.yy" // lalr1.cc:859 + case 68: +#line 327 "agent_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORDS); } -#line 924 "agent_parser.cc" // lalr1.cc:859 +#line 935 "agent_parser.cc" // lalr1.cc:859 break; - case 68: -#line 325 "agent_parser.yy" // lalr1.cc:859 + case 69: +#line 329 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 933 "agent_parser.cc" // lalr1.cc:859 +#line 944 "agent_parser.cc" // lalr1.cc:859 break; - case 69: -#line 333 "agent_parser.yy" // lalr1.cc:859 + case 70: +#line 337 "agent_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[2].location))); ctx.stack_.back()->set("control-sockets", m); ctx.stack_.push_back(m); + ctx.enter(ctx.CONTROL_SOCKETS); } -#line 943 "agent_parser.cc" // lalr1.cc:859 +#line 955 "agent_parser.cc" // lalr1.cc:859 break; - case 70: -#line 337 "agent_parser.yy" // lalr1.cc:859 + case 71: +#line 342 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); + ctx.leave(); } -#line 951 "agent_parser.cc" // lalr1.cc:859 +#line 964 "agent_parser.cc" // lalr1.cc:859 break; - case 77: -#line 357 "agent_parser.yy" // lalr1.cc:859 + case 78: +#line 363 "agent_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4-server", m); ctx.stack_.push_back(m); + ctx.enter(ctx.SERVER); } -#line 961 "agent_parser.cc" // lalr1.cc:859 +#line 975 "agent_parser.cc" // lalr1.cc:859 break; - case 78: -#line 361 "agent_parser.yy" // lalr1.cc:859 + case 79: +#line 368 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); + ctx.leave(); } -#line 969 "agent_parser.cc" // lalr1.cc:859 +#line 984 "agent_parser.cc" // lalr1.cc:859 break; - case 79: -#line 366 "agent_parser.yy" // lalr1.cc:859 + case 80: +#line 374 "agent_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp6-server", m); ctx.stack_.push_back(m); + ctx.enter(ctx.SERVER); } -#line 979 "agent_parser.cc" // lalr1.cc:859 +#line 995 "agent_parser.cc" // lalr1.cc:859 break; - case 80: -#line 370 "agent_parser.yy" // lalr1.cc:859 + case 81: +#line 379 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); + ctx.leave(); } -#line 987 "agent_parser.cc" // lalr1.cc:859 +#line 1004 "agent_parser.cc" // lalr1.cc:859 break; - case 81: -#line 375 "agent_parser.yy" // lalr1.cc:859 + case 82: +#line 385 "agent_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("d2-server", m); ctx.stack_.push_back(m); + ctx.enter(ctx.SERVER); } -#line 997 "agent_parser.cc" // lalr1.cc:859 +#line 1015 "agent_parser.cc" // lalr1.cc:859 break; - case 82: -#line 379 "agent_parser.yy" // lalr1.cc:859 + case 83: +#line 390 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); + ctx.leave(); } -#line 1005 "agent_parser.cc" // lalr1.cc:859 - break; - - case 87: -#line 394 "agent_parser.yy" // lalr1.cc:859 - { -} -#line 1012 "agent_parser.cc" // lalr1.cc:859 +#line 1024 "agent_parser.cc" // lalr1.cc:859 break; case 88: -#line 395 "agent_parser.yy" // lalr1.cc:859 +#line 406 "agent_parser.yy" // lalr1.cc:859 { - ctx.stack_.back()->set("socket-type", yystack_[0].value.as< ElementPtr > ()); + ctx.enter(ctx.NO_KEYWORDS); } -#line 1020 "agent_parser.cc" // lalr1.cc:859 +#line 1032 "agent_parser.cc" // lalr1.cc:859 break; case 89: -#line 400 "agent_parser.yy" // lalr1.cc:859 - { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); } -#line 1026 "agent_parser.cc" // lalr1.cc:859 +#line 408 "agent_parser.yy" // lalr1.cc:859 + { + ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("socket-name", name); + ctx.leave(); +} +#line 1042 "agent_parser.cc" // lalr1.cc:859 break; case 90: -#line 403 "agent_parser.yy" // lalr1.cc:859 +#line 415 "agent_parser.yy" // lalr1.cc:859 { - ctx.enter(ctx.NO_KEYWORDS); + ctx.enter(ctx.SOCKET_TYPE); } -#line 1034 "agent_parser.cc" // lalr1.cc:859 +#line 1050 "agent_parser.cc" // lalr1.cc:859 break; case 91: -#line 405 "agent_parser.yy" // lalr1.cc:859 +#line 417 "agent_parser.yy" // lalr1.cc:859 { - ElementPtr name(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); - ctx.stack_.back()->set("socket-name", name); + ctx.stack_.back()->set("socket-type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1044 "agent_parser.cc" // lalr1.cc:859 +#line 1059 "agent_parser.cc" // lalr1.cc:859 break; case 92: -#line 414 "agent_parser.yy" // lalr1.cc:859 +#line 423 "agent_parser.yy" // lalr1.cc:859 + { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("unix", ctx.loc2pos(yystack_[0].location))); } +#line 1065 "agent_parser.cc" // lalr1.cc:859 + break; + + case 93: +#line 429 "agent_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORDS); } -#line 1052 "agent_parser.cc" // lalr1.cc:859 +#line 1073 "agent_parser.cc" // lalr1.cc:859 break; - case 93: -#line 416 "agent_parser.yy" // lalr1.cc:859 + case 94: +#line 431 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("Dhcp4", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1061 "agent_parser.cc" // lalr1.cc:859 +#line 1082 "agent_parser.cc" // lalr1.cc:859 break; - case 94: -#line 421 "agent_parser.yy" // lalr1.cc:859 + case 95: +#line 436 "agent_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORDS); } -#line 1069 "agent_parser.cc" // lalr1.cc:859 +#line 1090 "agent_parser.cc" // lalr1.cc:859 break; - case 95: -#line 423 "agent_parser.yy" // lalr1.cc:859 + case 96: +#line 438 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1078 "agent_parser.cc" // lalr1.cc:859 +#line 1099 "agent_parser.cc" // lalr1.cc:859 break; - case 96: -#line 428 "agent_parser.yy" // lalr1.cc:859 + case 97: +#line 443 "agent_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORDS); } -#line 1086 "agent_parser.cc" // lalr1.cc:859 +#line 1107 "agent_parser.cc" // lalr1.cc:859 break; - case 97: -#line 430 "agent_parser.yy" // lalr1.cc:859 + case 98: +#line 445 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1095 "agent_parser.cc" // lalr1.cc:859 +#line 1116 "agent_parser.cc" // lalr1.cc:859 break; - case 98: -#line 440 "agent_parser.yy" // lalr1.cc:859 + case 99: +#line 455 "agent_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 1105 "agent_parser.cc" // lalr1.cc:859 +#line 1127 "agent_parser.cc" // lalr1.cc:859 break; - case 99: -#line 444 "agent_parser.yy" // lalr1.cc:859 + case 100: +#line 460 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); + ctx.leave(); } -#line 1113 "agent_parser.cc" // lalr1.cc:859 +#line 1136 "agent_parser.cc" // lalr1.cc:859 break; - case 103: -#line 460 "agent_parser.yy" // lalr1.cc:859 + case 104: +#line 477 "agent_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 1123 "agent_parser.cc" // lalr1.cc:859 +#line 1147 "agent_parser.cc" // lalr1.cc:859 break; - case 104: -#line 464 "agent_parser.yy" // lalr1.cc:859 + case 105: +#line 482 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); + ctx.leave(); } -#line 1131 "agent_parser.cc" // lalr1.cc:859 +#line 1156 "agent_parser.cc" // lalr1.cc:859 break; - case 107: -#line 475 "agent_parser.yy" // lalr1.cc:859 + case 108: +#line 494 "agent_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 1141 "agent_parser.cc" // lalr1.cc:859 +#line 1166 "agent_parser.cc" // lalr1.cc:859 break; - case 108: -#line 479 "agent_parser.yy" // lalr1.cc:859 + case 109: +#line 498 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 1149 "agent_parser.cc" // lalr1.cc:859 +#line 1174 "agent_parser.cc" // lalr1.cc:859 break; - case 116: -#line 494 "agent_parser.yy" // lalr1.cc:859 + case 117: +#line 513 "agent_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORDS); } -#line 1157 "agent_parser.cc" // lalr1.cc:859 +#line 1182 "agent_parser.cc" // lalr1.cc:859 break; - case 117: -#line 496 "agent_parser.yy" // lalr1.cc:859 + case 118: +#line 515 "agent_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 1167 "agent_parser.cc" // lalr1.cc:859 +#line 1192 "agent_parser.cc" // lalr1.cc:859 break; - case 118: -#line 502 "agent_parser.yy" // lalr1.cc:859 + case 119: +#line 521 "agent_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 1176 "agent_parser.cc" // lalr1.cc:859 +#line 1201 "agent_parser.cc" // lalr1.cc:859 break; - case 119: -#line 506 "agent_parser.yy" // lalr1.cc:859 + case 120: +#line 526 "agent_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORDS); } -#line 1184 "agent_parser.cc" // lalr1.cc:859 +#line 1209 "agent_parser.cc" // lalr1.cc:859 break; - case 120: -#line 508 "agent_parser.yy" // lalr1.cc:859 + case 121: +#line 528 "agent_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 1194 "agent_parser.cc" // lalr1.cc:859 +#line 1219 "agent_parser.cc" // lalr1.cc:859 break; - case 121: -#line 514 "agent_parser.yy" // lalr1.cc:859 + case 122: +#line 534 "agent_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 1204 "agent_parser.cc" // lalr1.cc:859 +#line 1230 "agent_parser.cc" // lalr1.cc:859 break; - case 122: -#line 518 "agent_parser.yy" // lalr1.cc:859 + case 123: +#line 539 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); + ctx.leave(); } -#line 1212 "agent_parser.cc" // lalr1.cc:859 +#line 1239 "agent_parser.cc" // lalr1.cc:859 break; - case 125: -#line 526 "agent_parser.yy" // lalr1.cc:859 + case 126: +#line 548 "agent_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 1222 "agent_parser.cc" // lalr1.cc:859 +#line 1249 "agent_parser.cc" // lalr1.cc:859 break; - case 126: -#line 530 "agent_parser.yy" // lalr1.cc:859 + case 127: +#line 552 "agent_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 1230 "agent_parser.cc" // lalr1.cc:859 +#line 1257 "agent_parser.cc" // lalr1.cc:859 break; - case 129: -#line 538 "agent_parser.yy" // lalr1.cc:859 + case 130: +#line 560 "agent_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORDS); } -#line 1238 "agent_parser.cc" // lalr1.cc:859 +#line 1265 "agent_parser.cc" // lalr1.cc:859 break; - case 130: -#line 540 "agent_parser.yy" // lalr1.cc:859 + case 131: +#line 562 "agent_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 1248 "agent_parser.cc" // lalr1.cc:859 +#line 1275 "agent_parser.cc" // lalr1.cc:859 break; -#line 1252 "agent_parser.cc" // lalr1.cc:859 +#line 1279 "agent_parser.cc" // lalr1.cc:859 default: break; } @@ -1503,36 +1530,36 @@ namespace isc { namespace agent { } - const signed char AgentParser::yypact_ninf_ = -81; + const signed char AgentParser::yypact_ninf_ = -75; const signed char AgentParser::yytable_ninf_ = -1; - const short int + const signed char AgentParser::yypact_[] = { - 7, -81, -81, -81, 5, -3, 14, 42, -81, -81, - -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -3, -24, -7, -4, -81, 8, - 27, 81, 67, 83, -81, -81, -81, -81, -81, 84, - -81, 12, -81, -81, -81, -81, -81, -81, 85, 86, - 87, -81, -81, 19, -81, -81, -81, -81, -81, -81, - -3, -3, -81, 51, 88, 89, 90, 91, 92, -81, - -7, -81, 93, 68, 60, 94, -4, -81, -81, -81, - 95, 96, 98, -3, -3, -3, -81, -81, -81, -81, - 101, -81, -3, -4, 77, -81, -81, -81, 3, 100, - -81, 23, -81, 45, -81, -81, -81, -81, -81, -81, - 47, -81, -81, -81, -81, -81, 102, 106, -81, -81, - 107, 77, -81, 108, 109, 110, 64, -81, -8, -81, - 100, 105, -81, 111, 112, 113, -81, -81, -81, -81, - 48, -81, -81, -81, -81, 114, 61, 61, 61, 118, - 119, 65, -81, -81, 70, -81, -81, -81, 49, -81, - -81, -81, 55, 56, 79, -3, -81, 18, 114, -81, - 120, 121, 61, -81, -81, -81, -81, -81, -81, 122, - -81, -81, -81, 62, -81, -81, -81, -81, -81, -81, - 115, 80, -81, 123, 97, 124, 125, 18, -81, -81, - -81, -81, 126, -81, 99, 103, -81, 129, -81, -81, - -81, 71, -81, 104, 129, -81, -81, 63, -81, -81, - 128, 104, -81, 116, -81, -81 + 43, -75, -75, -75, 5, -3, 0, 34, -75, -75, + -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, + -75, -75, -75, -75, -3, -4, -7, 6, -75, 37, + 48, 53, 56, 80, -75, -75, -75, -75, -75, 81, + -75, 12, -75, -75, -75, -75, -75, -75, -75, 82, + 83, -75, -75, 44, -75, -75, -75, -75, -75, -75, + -3, -3, -75, 52, 85, 86, 87, 88, 89, -75, + -7, -75, 90, 58, 77, 92, 6, -75, -75, -75, + 93, 91, 95, -3, -3, -3, -75, 68, -75, -75, + 94, -75, -3, 6, 76, -75, -75, -75, -75, -6, + 98, -75, 47, -75, 50, -75, -75, -75, -75, -75, + -75, 51, -75, -75, -75, -75, -75, 100, 104, -75, + -75, 105, 76, -75, 106, 107, 108, -6, -75, -9, + -75, 98, 103, -75, 109, 110, 111, -75, -75, -75, + -75, 60, -75, -75, -75, -75, 112, 4, 4, 4, + 116, 117, 18, -75, -75, 8, -75, -75, -75, 62, + -75, -75, -75, 63, 64, 78, -3, -75, 20, 112, + -75, 118, 119, 4, -75, -75, -75, -75, -75, -75, + -75, 120, -75, -75, 71, -75, -75, -75, -75, -75, + -75, 79, 113, -75, 121, 122, 96, 123, 20, -75, + -75, -75, -75, 99, 124, -75, 101, -75, -75, 127, + -75, -75, 25, -75, 114, 127, -75, -75, 72, -75, + -75, 126, 114, -75, 102, -75, -75 }; const unsigned char @@ -1541,40 +1568,40 @@ namespace isc { namespace agent { 0, 2, 4, 6, 0, 0, 0, 0, 1, 24, 18, 15, 14, 11, 12, 13, 3, 10, 16, 17, 31, 5, 8, 7, 26, 20, 0, 0, 28, 0, - 27, 0, 0, 21, 41, 98, 92, 94, 96, 0, - 40, 0, 33, 35, 37, 38, 39, 36, 0, 0, - 0, 52, 49, 0, 43, 45, 46, 48, 47, 25, + 27, 0, 0, 21, 41, 99, 93, 95, 97, 0, + 40, 0, 33, 35, 37, 38, 39, 36, 50, 0, + 0, 53, 49, 0, 43, 45, 46, 48, 47, 25, 0, 0, 19, 0, 0, 0, 0, 0, 0, 30, 0, 32, 0, 0, 0, 0, 0, 9, 29, 22, - 0, 0, 0, 0, 0, 0, 34, 69, 50, 51, - 0, 44, 0, 0, 0, 93, 95, 97, 0, 54, - 23, 0, 103, 0, 100, 102, 77, 79, 81, 73, - 0, 71, 74, 75, 76, 58, 0, 55, 56, 42, - 0, 0, 99, 0, 0, 0, 0, 70, 0, 53, - 0, 0, 101, 0, 0, 0, 72, 65, 67, 62, - 0, 60, 63, 64, 57, 0, 0, 0, 0, 0, - 0, 0, 59, 107, 0, 105, 87, 90, 0, 83, - 85, 86, 0, 0, 0, 0, 61, 0, 0, 104, - 0, 0, 0, 78, 80, 82, 66, 68, 121, 0, - 119, 116, 115, 0, 109, 111, 113, 114, 112, 106, - 0, 0, 84, 0, 0, 0, 0, 0, 108, 89, - 88, 91, 0, 118, 0, 0, 110, 0, 120, 117, - 125, 0, 123, 0, 0, 122, 129, 0, 127, 124, - 0, 0, 126, 0, 128, 130 + 0, 0, 0, 0, 0, 0, 34, 0, 52, 70, + 0, 44, 0, 0, 0, 94, 96, 98, 51, 0, + 55, 23, 0, 104, 0, 101, 103, 78, 80, 82, + 77, 0, 72, 74, 75, 76, 59, 0, 56, 57, + 42, 0, 0, 100, 0, 0, 0, 0, 71, 0, + 54, 0, 0, 102, 0, 0, 0, 73, 66, 68, + 63, 0, 61, 64, 65, 58, 0, 0, 0, 0, + 0, 0, 0, 60, 108, 0, 106, 88, 90, 0, + 84, 86, 87, 0, 0, 0, 0, 62, 0, 0, + 105, 0, 0, 0, 79, 81, 83, 67, 69, 117, + 122, 0, 120, 116, 0, 110, 112, 114, 115, 113, + 107, 0, 0, 85, 0, 0, 0, 0, 0, 109, + 89, 92, 91, 0, 0, 119, 0, 111, 118, 0, + 121, 126, 0, 124, 0, 0, 123, 130, 0, 128, + 125, 0, 0, 127, 0, 129, 131 }; const signed char AgentParser::yypgoto_[] = { - -81, -81, -81, -81, -81, -81, -81, -81, -23, -81, - -81, -81, -81, -81, -81, -81, -81, -26, -81, -81, - -81, 73, -81, -81, 24, 57, -81, -81, -81, -81, - -81, -81, 10, -81, -81, -13, -81, -81, -81, -81, - -81, -81, -81, 20, -81, -81, -81, -81, -81, -81, - -80, -28, -81, -81, -81, -81, -81, -81, -81, -81, - -81, -81, -81, -81, -81, -81, 26, -81, -81, -81, - -20, -81, -81, -52, -81, -81, -81, -81, -81, -81, - -81, -81, -65, -81, -81, -71, -81 + -75, -75, -75, -75, -75, -75, -75, -75, -23, -75, + -75, -75, -75, -75, -75, -75, -75, -26, -75, -75, + -75, 61, -75, -75, 35, 69, -75, -75, -75, -75, + -75, -75, -75, -18, -75, -75, -16, -75, -75, -75, + -75, -75, -75, -75, 13, -75, -75, -75, -75, -75, + -75, -67, -34, -75, -75, -75, -75, -75, -75, -75, + -75, -75, -75, -75, -75, -75, -75, 22, -75, -75, + -75, -22, -75, -75, -52, -75, -75, -75, -75, -75, + -75, -75, -75, -66, -75, -75, -74, -75 }; const short int @@ -1582,59 +1609,59 @@ namespace isc { namespace agent { { -1, 4, 5, 6, 7, 23, 27, 16, 17, 18, 25, 32, 33, 19, 24, 29, 30, 52, 21, 26, - 41, 42, 43, 64, 53, 54, 55, 56, 57, 75, - 116, 117, 118, 128, 140, 141, 142, 149, 143, 150, - 58, 98, 110, 111, 112, 123, 113, 124, 114, 125, - 158, 159, 160, 170, 200, 161, 171, 44, 66, 45, - 67, 46, 68, 47, 65, 103, 104, 105, 120, 154, - 155, 167, 183, 184, 185, 196, 186, 187, 195, 188, - 193, 211, 212, 213, 217, 218, 220 + 41, 42, 43, 64, 53, 54, 55, 72, 56, 57, + 75, 117, 118, 119, 129, 141, 142, 143, 150, 144, + 151, 58, 99, 111, 112, 113, 124, 114, 125, 115, + 126, 159, 160, 161, 171, 162, 172, 202, 44, 66, + 45, 67, 46, 68, 47, 65, 104, 105, 106, 121, + 155, 156, 168, 184, 185, 186, 194, 187, 188, 197, + 189, 195, 212, 213, 214, 218, 219, 221 }; const unsigned char AgentParser::yytable_[] = { - 40, 28, 9, 34, 10, 8, 11, 48, 49, 50, - 137, 138, 31, 51, 59, 70, 35, 106, 107, 108, - 71, 20, 76, 36, 37, 38, 76, 77, 39, 39, - 60, 119, 39, 12, 13, 14, 15, 78, 79, 39, - 1, 2, 3, 178, 40, 179, 180, 181, 121, 22, - 126, 151, 172, 122, 39, 127, 152, 173, 172, 172, - 95, 96, 97, 174, 175, 197, 221, 162, 163, 100, - 198, 222, 109, 168, 214, 62, 169, 215, 106, 107, - 108, 156, 157, 137, 138, 61, 63, 80, 69, 72, - 73, 74, 81, 82, 83, 84, 85, 89, 90, 92, - 87, 102, 139, 93, 88, 94, 99, 115, 129, 130, - 145, 131, 133, 134, 135, 176, 201, 101, 146, 147, - 148, 153, 164, 165, 190, 191, 194, 202, 204, 205, - 216, 207, 223, 91, 203, 208, 210, 199, 166, 209, - 144, 182, 177, 86, 192, 206, 136, 132, 189, 219, - 224, 0, 225, 0, 0, 0, 0, 0, 0, 0, + 40, 28, 9, 34, 10, 8, 11, 20, 107, 108, + 109, 169, 138, 139, 170, 70, 35, 48, 49, 50, + 71, 157, 158, 36, 37, 38, 51, 39, 215, 39, + 39, 216, 31, 12, 13, 14, 15, 78, 79, 138, + 139, 22, 39, 59, 40, 179, 180, 76, 181, 182, + 76, 60, 77, 122, 127, 120, 39, 61, 123, 128, + 95, 96, 97, 152, 62, 173, 173, 173, 153, 101, + 174, 175, 176, 110, 198, 222, 1, 2, 3, 199, + 223, 163, 164, 63, 89, 69, 73, 74, 80, 81, + 82, 83, 84, 85, 87, 88, 90, 92, 93, 100, + 103, 110, 94, 140, 98, 116, 130, 131, 146, 132, + 134, 135, 136, 145, 177, 200, 147, 148, 149, 154, + 165, 166, 191, 192, 196, 203, 204, 206, 102, 209, + 224, 86, 201, 205, 211, 208, 167, 210, 226, 193, + 137, 217, 183, 178, 133, 91, 207, 190, 225, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 182 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 183 }; const short int AgentParser::yycheck_[] = { - 26, 24, 5, 10, 7, 0, 9, 11, 12, 13, - 18, 19, 36, 17, 6, 3, 23, 14, 15, 16, - 8, 7, 3, 30, 31, 32, 3, 8, 36, 36, - 3, 8, 36, 36, 37, 38, 39, 60, 61, 36, - 33, 34, 35, 25, 70, 27, 28, 29, 3, 7, - 3, 3, 3, 8, 36, 8, 8, 8, 3, 3, - 83, 84, 85, 8, 8, 3, 3, 147, 148, 92, - 8, 8, 98, 3, 3, 8, 6, 6, 14, 15, - 16, 20, 21, 18, 19, 4, 3, 36, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 37, 4, 4, - 7, 24, 128, 7, 36, 7, 5, 7, 6, 3, - 5, 4, 4, 4, 4, 36, 36, 93, 7, 7, - 7, 7, 4, 4, 4, 4, 4, 4, 4, 4, - 26, 5, 4, 76, 37, 36, 7, 22, 151, 36, - 130, 167, 165, 70, 172, 197, 126, 121, 168, 214, - 221, -1, 36, -1, -1, -1, -1, -1, -1, -1, + 26, 24, 5, 10, 7, 0, 9, 7, 14, 15, + 16, 3, 21, 22, 6, 3, 23, 11, 12, 13, + 8, 17, 18, 30, 31, 32, 20, 36, 3, 36, + 36, 6, 36, 36, 37, 38, 39, 60, 61, 21, + 22, 7, 36, 6, 70, 25, 26, 3, 28, 29, + 3, 3, 8, 3, 3, 8, 36, 4, 8, 8, + 83, 84, 85, 3, 8, 3, 3, 3, 8, 92, + 8, 8, 8, 99, 3, 3, 33, 34, 35, 8, + 8, 148, 149, 3, 7, 4, 4, 4, 36, 4, + 4, 4, 4, 4, 4, 37, 4, 4, 7, 5, + 24, 127, 7, 129, 36, 7, 6, 3, 5, 4, + 4, 4, 4, 131, 36, 36, 7, 7, 7, 7, + 4, 4, 4, 4, 4, 4, 4, 4, 93, 5, + 4, 70, 19, 37, 7, 36, 152, 36, 36, 173, + 127, 27, 168, 166, 122, 76, 198, 169, 222, 215, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 197 + -1, -1, 198 }; const unsigned char @@ -1644,25 +1671,25 @@ namespace isc { namespace agent { 7, 9, 36, 37, 38, 39, 47, 48, 49, 53, 7, 58, 7, 45, 54, 50, 59, 46, 48, 55, 56, 36, 51, 52, 10, 23, 30, 31, 32, 36, - 57, 60, 61, 62, 97, 99, 101, 103, 11, 12, - 13, 17, 57, 64, 65, 66, 67, 68, 80, 6, - 3, 4, 8, 3, 63, 104, 98, 100, 102, 4, - 3, 8, 4, 4, 4, 69, 3, 8, 48, 48, - 36, 4, 4, 4, 4, 4, 61, 7, 36, 37, - 4, 65, 4, 7, 7, 48, 48, 48, 81, 5, - 48, 64, 24, 105, 106, 107, 14, 15, 16, 57, - 82, 83, 84, 86, 88, 7, 70, 71, 72, 8, - 108, 3, 8, 85, 87, 89, 3, 8, 73, 6, - 3, 4, 106, 4, 4, 4, 83, 18, 19, 57, - 74, 75, 76, 78, 72, 5, 7, 7, 7, 77, - 79, 3, 8, 7, 109, 110, 20, 21, 90, 91, - 92, 95, 90, 90, 4, 4, 75, 111, 3, 6, - 93, 96, 3, 8, 8, 8, 36, 48, 25, 27, - 28, 29, 57, 112, 113, 114, 116, 117, 119, 110, - 4, 4, 91, 120, 4, 118, 115, 3, 8, 22, - 94, 36, 4, 37, 4, 4, 113, 5, 36, 36, - 7, 121, 122, 123, 3, 6, 26, 124, 125, 122, - 126, 3, 8, 4, 125, 36 + 57, 60, 61, 62, 98, 100, 102, 104, 11, 12, + 13, 20, 57, 64, 65, 66, 68, 69, 81, 6, + 3, 4, 8, 3, 63, 105, 99, 101, 103, 4, + 3, 8, 67, 4, 4, 70, 3, 8, 48, 48, + 36, 4, 4, 4, 4, 4, 61, 4, 37, 7, + 4, 65, 4, 7, 7, 48, 48, 48, 36, 82, + 5, 48, 64, 24, 106, 107, 108, 14, 15, 16, + 57, 83, 84, 85, 87, 89, 7, 71, 72, 73, + 8, 109, 3, 8, 86, 88, 90, 3, 8, 74, + 6, 3, 4, 107, 4, 4, 4, 84, 21, 22, + 57, 75, 76, 77, 79, 73, 5, 7, 7, 7, + 78, 80, 3, 8, 7, 110, 111, 17, 18, 91, + 92, 93, 95, 91, 91, 4, 4, 76, 112, 3, + 6, 94, 96, 3, 8, 8, 8, 36, 48, 25, + 26, 28, 29, 57, 113, 114, 115, 117, 118, 120, + 111, 4, 4, 92, 116, 121, 4, 119, 3, 8, + 36, 19, 97, 4, 4, 37, 4, 114, 36, 5, + 36, 7, 122, 123, 124, 3, 6, 27, 125, 126, + 123, 127, 3, 8, 4, 126, 36 }; const unsigned char @@ -1673,15 +1700,15 @@ namespace isc { namespace agent { 51, 51, 52, 52, 54, 53, 55, 55, 56, 56, 57, 59, 58, 60, 60, 61, 61, 61, 61, 61, 61, 63, 62, 64, 64, 65, 65, 65, 65, 65, - 66, 67, 69, 68, 70, 70, 71, 71, 73, 72, - 74, 74, 74, 75, 75, 77, 76, 79, 78, 81, - 80, 82, 82, 82, 83, 83, 83, 85, 84, 87, - 86, 89, 88, 90, 90, 91, 91, 93, 92, 94, - 96, 95, 98, 97, 100, 99, 102, 101, 104, 103, - 105, 105, 106, 108, 107, 109, 109, 111, 110, 112, - 112, 113, 113, 113, 113, 113, 115, 114, 116, 118, - 117, 120, 119, 121, 121, 123, 122, 124, 124, 126, - 125 + 67, 66, 68, 70, 69, 71, 71, 72, 72, 74, + 73, 75, 75, 75, 76, 76, 78, 77, 80, 79, + 82, 81, 83, 83, 84, 84, 84, 84, 86, 85, + 88, 87, 90, 89, 91, 91, 92, 92, 94, 93, + 96, 95, 97, 99, 98, 101, 100, 103, 102, 105, + 104, 106, 106, 107, 109, 108, 110, 110, 112, 111, + 113, 113, 114, 114, 114, 114, 114, 116, 115, 117, + 119, 118, 121, 120, 122, 122, 124, 123, 125, 125, + 127, 126 }; const unsigned char @@ -1692,15 +1719,15 @@ namespace isc { namespace agent { 0, 1, 3, 5, 0, 4, 0, 1, 1, 3, 2, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 0, 6, 1, 3, 1, 1, 1, 1, 1, - 3, 3, 0, 6, 0, 1, 1, 3, 0, 4, - 1, 3, 1, 1, 1, 0, 4, 0, 4, 0, - 6, 1, 3, 1, 1, 1, 1, 0, 6, 0, - 6, 0, 6, 1, 3, 1, 1, 0, 4, 1, - 0, 4, 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 + 0, 4, 3, 0, 6, 0, 1, 1, 3, 0, + 4, 1, 3, 1, 1, 1, 0, 4, 0, 4, + 0, 6, 1, 3, 1, 1, 1, 1, 0, 6, + 0, 6, 0, 6, 1, 3, 1, 1, 0, 4, + 0, 4, 1, 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 }; @@ -1712,53 +1739,52 @@ namespace isc { namespace agent { { "\"end of file\"", "error", "$undefined", "\",\"", "\":\"", "\"[\"", "\"]\"", "\"{\"", "\"}\"", "\"null\"", "\"Control-agent\"", - "\"control-sockets\"", "\"http-host\"", "\"http-port\"", + "\"http-host\"", "\"http-port\"", "\"control-sockets\"", "\"dhcp4-server\"", "\"dhcp6-server\"", "\"d2-server\"", - "\"hooks-libraries\"", "\"library\"", "\"parameters\"", - "\"socket-type\"", "\"socket-name\"", "\"unix\"", "\"Logging\"", - "\"loggers\"", "\"output_options\"", "\"output\"", "\"debuglevel\"", - "\"severity\"", "\"name\"", "\"Dhcp4\"", "\"Dhcp6\"", "\"DhcpDdns\"", - "START_JSON", "START_AGENT", "START_SUB_AGENT", "\"constant string\"", - "\"integer\"", "\"floating point\"", "\"boolean\"", "$accept", "start", - "$@1", "$@2", "$@3", "sub_agent", "$@4", "json", "value", "map", "$@5", - "map_content", "not_empty_map", "list_generic", "$@6", "list_content", - "not_empty_list", "unknown_map_entry", "agent_syntax_map", "$@7", - "global_objects", "global_object", "agent_object", "$@8", - "global_params", "global_param", "http_host", "http_port", - "hooks_libraries", "$@9", "hooks_libraries_list", - "not_empty_hooks_libraries_list", "hooks_library", "$@10", - "hooks_params", "hooks_param", "library", "$@11", "parameters", "$@12", - "control_sockets", "$@13", "control_sockets_params", "control_socket", - "dhcp4_server_socket", "$@14", "dhcp6_server_socket", "$@15", - "d2_server_socket", "$@16", "control_socket_params", - "control_socket_param", "socket_type", "$@17", "socket_type_value", - "socket_name", "$@18", "dhcp4_json_object", "$@19", "dhcp6_json_object", - "$@20", "dhcpddns_json_object", "$@21", "logging_object", "$@22", - "logging_params", "logging_param", "loggers", "$@23", "loggers_entries", - "logger_entry", "$@24", "logger_params", "logger_param", "name", "$@25", - "debuglevel", "severity", "$@26", "output_options_list", "$@27", - "output_options_list_content", "output_entry", "$@28", "output_params", - "output_param", "$@29", YY_NULLPTR + "\"socket-name\"", "\"socket-type\"", "\"unix\"", "\"hooks-libraries\"", + "\"library\"", "\"parameters\"", "\"Logging\"", "\"loggers\"", + "\"name\"", "\"output_options\"", "\"output\"", "\"debuglevel\"", + "\"severity\"", "\"Dhcp4\"", "\"Dhcp6\"", "\"DhcpDdns\"", "START_JSON", + "START_AGENT", "START_SUB_AGENT", "\"constant string\"", "\"integer\"", + "\"floating point\"", "\"boolean\"", "$accept", "start", "$@1", "$@2", + "$@3", "sub_agent", "$@4", "json", "value", "map", "$@5", "map_content", + "not_empty_map", "list_generic", "$@6", "list_content", "not_empty_list", + "unknown_map_entry", "agent_syntax_map", "$@7", "global_objects", + "global_object", "agent_object", "$@8", "global_params", "global_param", + "http_host", "$@9", "http_port", "hooks_libraries", "$@10", + "hooks_libraries_list", "not_empty_hooks_libraries_list", + "hooks_library", "$@11", "hooks_params", "hooks_param", "library", + "$@12", "parameters", "$@13", "control_sockets", "$@14", + "control_sockets_params", "control_socket", "dhcp4_server_socket", + "$@15", "dhcp6_server_socket", "$@16", "d2_server_socket", "$@17", + "control_socket_params", "control_socket_param", "socket_name", "$@18", + "socket_type", "$@19", "socket_type_value", "dhcp4_json_object", "$@20", + "dhcp6_json_object", "$@21", "dhcpddns_json_object", "$@22", + "logging_object", "$@23", "logging_params", "logging_param", "loggers", + "$@24", "loggers_entries", "logger_entry", "$@25", "logger_params", + "logger_param", "name", "$@26", "debuglevel", "severity", "$@27", + "output_options_list", "$@28", "output_options_list_content", + "output_entry", "$@29", "output_params", "output_param", "$@30", YY_NULLPTR }; #if AGENT_DEBUG const unsigned short int AgentParser::yyrline_[] = { - 0, 108, 108, 108, 109, 109, 110, 110, 118, 118, - 129, 135, 136, 137, 138, 139, 140, 141, 145, 145, - 159, 160, 168, 172, 179, 179, 185, 186, 189, 193, - 206, 214, 214, 226, 227, 231, 232, 233, 234, 235, - 236, 240, 240, 258, 259, 264, 265, 266, 267, 268, - 271, 276, 282, 282, 290, 291, 294, 295, 298, 298, - 306, 307, 308, 311, 312, 315, 315, 323, 323, 333, - 333, 344, 345, 346, 351, 352, 353, 357, 357, 366, - 366, 375, 375, 384, 385, 389, 390, 394, 394, 400, - 403, 403, 414, 414, 421, 421, 428, 428, 440, 440, - 451, 452, 456, 460, 460, 470, 471, 475, 475, 483, - 484, 487, 488, 489, 490, 491, 494, 494, 502, 506, - 506, 514, 514, 522, 523, 526, 526, 534, 535, 538, - 538 + 0, 107, 107, 107, 108, 108, 109, 109, 117, 117, + 128, 134, 135, 136, 137, 138, 139, 140, 144, 144, + 158, 159, 167, 171, 178, 178, 184, 185, 188, 192, + 205, 214, 214, 226, 227, 231, 232, 233, 234, 235, + 236, 240, 240, 257, 258, 263, 264, 265, 266, 267, + 270, 270, 278, 284, 284, 294, 295, 298, 299, 302, + 302, 310, 311, 312, 315, 316, 319, 319, 327, 327, + 337, 337, 350, 351, 356, 357, 358, 359, 363, 363, + 374, 374, 385, 385, 396, 397, 401, 402, 406, 406, + 415, 415, 423, 429, 429, 436, 436, 443, 443, 455, + 455, 468, 469, 473, 477, 477, 489, 490, 494, 494, + 502, 503, 506, 507, 508, 509, 510, 513, 513, 521, + 526, 526, 534, 534, 544, 545, 548, 548, 556, 557, + 560, 560 }; // Print the state stack on the debug stream. @@ -1793,8 +1819,8 @@ namespace isc { namespace agent { #line 14 "agent_parser.yy" // lalr1.cc:1167 } } // isc::agent -#line 1797 "agent_parser.cc" // lalr1.cc:1167 -#line 546 "agent_parser.yy" // lalr1.cc:1168 +#line 1823 "agent_parser.cc" // lalr1.cc:1167 +#line 568 "agent_parser.yy" // lalr1.cc:1168 void diff --git a/src/bin/agent/agent_parser.h b/src/bin/agent/agent_parser.h index a1345c0171..e9354131eb 100644 --- a/src/bin/agent/agent_parser.h +++ b/src/bin/agent/agent_parser.h @@ -349,25 +349,25 @@ namespace isc { namespace agent { TOKEN_RCURLY_BRACKET = 263, TOKEN_NULL_TYPE = 264, TOKEN_CONTROL_AGENT = 265, - TOKEN_CONTROL_SOCKETS = 266, - TOKEN_HTTP_HOST = 267, - TOKEN_HTTP_PORT = 268, + TOKEN_HTTP_HOST = 266, + TOKEN_HTTP_PORT = 267, + TOKEN_CONTROL_SOCKETS = 268, TOKEN_DHCP4_SERVER = 269, TOKEN_DHCP6_SERVER = 270, TOKEN_D2_SERVER = 271, - TOKEN_HOOKS_LIBRARIES = 272, - TOKEN_LIBRARY = 273, - TOKEN_PARAMETERS = 274, - TOKEN_SOCKET_TYPE = 275, - TOKEN_SOCKET_NAME = 276, - TOKEN_UNIX = 277, + TOKEN_SOCKET_NAME = 272, + TOKEN_SOCKET_TYPE = 273, + TOKEN_UNIX = 274, + TOKEN_HOOKS_LIBRARIES = 275, + TOKEN_LIBRARY = 276, + TOKEN_PARAMETERS = 277, TOKEN_LOGGING = 278, TOKEN_LOGGERS = 279, - TOKEN_OUTPUT_OPTIONS = 280, - TOKEN_OUTPUT = 281, - TOKEN_DEBUGLEVEL = 282, - TOKEN_SEVERITY = 283, - TOKEN_NAME = 284, + TOKEN_NAME = 280, + TOKEN_OUTPUT_OPTIONS = 281, + TOKEN_OUTPUT = 282, + TOKEN_DEBUGLEVEL = 283, + TOKEN_SEVERITY = 284, TOKEN_DHCP4 = 285, TOKEN_DHCP6 = 286, TOKEN_DHCPDDNS = 287, @@ -530,15 +530,15 @@ namespace isc { namespace agent { static inline symbol_type - make_CONTROL_SOCKETS (const location_type& l); + make_HTTP_HOST (const location_type& l); static inline symbol_type - make_HTTP_HOST (const location_type& l); + make_HTTP_PORT (const location_type& l); static inline symbol_type - make_HTTP_PORT (const location_type& l); + make_CONTROL_SOCKETS (const location_type& l); static inline symbol_type @@ -554,27 +554,27 @@ namespace isc { namespace agent { static inline symbol_type - make_HOOKS_LIBRARIES (const location_type& l); + make_SOCKET_NAME (const location_type& l); static inline symbol_type - make_LIBRARY (const location_type& l); + make_SOCKET_TYPE (const location_type& l); static inline symbol_type - make_PARAMETERS (const location_type& l); + make_UNIX (const location_type& l); static inline symbol_type - make_SOCKET_TYPE (const location_type& l); + make_HOOKS_LIBRARIES (const location_type& l); static inline symbol_type - make_SOCKET_NAME (const location_type& l); + make_LIBRARY (const location_type& l); static inline symbol_type - make_UNIX (const location_type& l); + make_PARAMETERS (const location_type& l); static inline symbol_type @@ -584,6 +584,10 @@ namespace isc { namespace agent { symbol_type make_LOGGERS (const location_type& l); + static inline + symbol_type + make_NAME (const location_type& l); + static inline symbol_type make_OUTPUT_OPTIONS (const location_type& l); @@ -600,10 +604,6 @@ namespace isc { namespace agent { symbol_type make_SEVERITY (const location_type& l); - static inline - symbol_type - make_NAME (const location_type& l); - static inline symbol_type make_DHCP4 (const location_type& l); @@ -711,7 +711,7 @@ namespace isc { namespace agent { // Tables. // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing // STATE-NUM. - static const short int yypact_[]; + static const signed char yypact_[]; // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. // Performed when YYTABLE does not specify something else to do. Zero @@ -849,8 +849,8 @@ namespace isc { namespace agent { enum { yyeof_ = 0, - yylast_ = 171, ///< Last index in yytable_. - yynnts_ = 87, ///< Number of nonterminal symbols. + yylast_ = 172, ///< Last index in yytable_. + yynnts_ = 88, ///< Number of nonterminal symbols. yyfinal_ = 8, ///< Termination state number. yyterror_ = 1, yyerrcode_ = 256, @@ -936,7 +936,7 @@ namespace isc { namespace agent { switch (other.type_get ()) { case 48: // value - case 94: // socket_type_value + case 97: // socket_type_value value.copy< ElementPtr > (other.value); break; @@ -974,7 +974,7 @@ namespace isc { namespace agent { switch (this->type_get ()) { case 48: // value - case 94: // socket_type_value + case 97: // socket_type_value value.copy< ElementPtr > (v); break; @@ -1071,7 +1071,7 @@ namespace isc { namespace agent { switch (yytype) { case 48: // value - case 94: // socket_type_value + case 97: // socket_type_value value.template destroy< ElementPtr > (); break; @@ -1115,7 +1115,7 @@ namespace isc { namespace agent { switch (this->type_get ()) { case 48: // value - case 94: // socket_type_value + case 97: // socket_type_value value.move< ElementPtr > (s.value); break; @@ -1252,12 +1252,6 @@ namespace isc { namespace agent { return symbol_type (token::TOKEN_CONTROL_AGENT, l); } - AgentParser::symbol_type - AgentParser::make_CONTROL_SOCKETS (const location_type& l) - { - return symbol_type (token::TOKEN_CONTROL_SOCKETS, l); - } - AgentParser::symbol_type AgentParser::make_HTTP_HOST (const location_type& l) { @@ -1270,6 +1264,12 @@ namespace isc { namespace agent { return symbol_type (token::TOKEN_HTTP_PORT, l); } + AgentParser::symbol_type + AgentParser::make_CONTROL_SOCKETS (const location_type& l) + { + return symbol_type (token::TOKEN_CONTROL_SOCKETS, l); + } + AgentParser::symbol_type AgentParser::make_DHCP4_SERVER (const location_type& l) { @@ -1289,39 +1289,39 @@ namespace isc { namespace agent { } AgentParser::symbol_type - AgentParser::make_HOOKS_LIBRARIES (const location_type& l) + AgentParser::make_SOCKET_NAME (const location_type& l) { - return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l); + return symbol_type (token::TOKEN_SOCKET_NAME, l); } AgentParser::symbol_type - AgentParser::make_LIBRARY (const location_type& l) + AgentParser::make_SOCKET_TYPE (const location_type& l) { - return symbol_type (token::TOKEN_LIBRARY, l); + return symbol_type (token::TOKEN_SOCKET_TYPE, l); } AgentParser::symbol_type - AgentParser::make_PARAMETERS (const location_type& l) + AgentParser::make_UNIX (const location_type& l) { - return symbol_type (token::TOKEN_PARAMETERS, l); + return symbol_type (token::TOKEN_UNIX, l); } AgentParser::symbol_type - AgentParser::make_SOCKET_TYPE (const location_type& l) + AgentParser::make_HOOKS_LIBRARIES (const location_type& l) { - return symbol_type (token::TOKEN_SOCKET_TYPE, l); + return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l); } AgentParser::symbol_type - AgentParser::make_SOCKET_NAME (const location_type& l) + AgentParser::make_LIBRARY (const location_type& l) { - return symbol_type (token::TOKEN_SOCKET_NAME, l); + return symbol_type (token::TOKEN_LIBRARY, l); } AgentParser::symbol_type - AgentParser::make_UNIX (const location_type& l) + AgentParser::make_PARAMETERS (const location_type& l) { - return symbol_type (token::TOKEN_UNIX, l); + return symbol_type (token::TOKEN_PARAMETERS, l); } AgentParser::symbol_type @@ -1336,6 +1336,12 @@ namespace isc { namespace agent { return symbol_type (token::TOKEN_LOGGERS, l); } + AgentParser::symbol_type + AgentParser::make_NAME (const location_type& l) + { + return symbol_type (token::TOKEN_NAME, l); + } + AgentParser::symbol_type AgentParser::make_OUTPUT_OPTIONS (const location_type& l) { @@ -1360,12 +1366,6 @@ namespace isc { namespace agent { return symbol_type (token::TOKEN_SEVERITY, l); } - AgentParser::symbol_type - AgentParser::make_NAME (const location_type& l) - { - return symbol_type (token::TOKEN_NAME, l); - } - AgentParser::symbol_type AgentParser::make_DHCP4 (const location_type& l) { diff --git a/src/bin/agent/location.hh b/src/bin/agent/location.hh index 6ecc3752ba..d693d64b41 100644 --- a/src/bin/agent/location.hh +++ b/src/bin/agent/location.hh @@ -1,4 +1,4 @@ -// Generated 201702071235 +// Generated 201702082310 // A Bison parser, made by GNU Bison 3.0.4. // Locations for Bison parsers in C++ diff --git a/src/bin/agent/position.hh b/src/bin/agent/position.hh index 299235ff55..a547206d73 100644 --- a/src/bin/agent/position.hh +++ b/src/bin/agent/position.hh @@ -1,4 +1,4 @@ -// Generated 201702071235 +// Generated 201702082310 // A Bison parser, made by GNU Bison 3.0.4. // Positions for Bison parsers in C++ diff --git a/src/bin/agent/stack.hh b/src/bin/agent/stack.hh index 5ef2ff3b8f..2f29806e76 100644 --- a/src/bin/agent/stack.hh +++ b/src/bin/agent/stack.hh @@ -1,4 +1,4 @@ -// Generated 201702071235 +// Generated 201702082310 // A Bison parser, made by GNU Bison 3.0.4. // Stack handling for Bison parsers in C++