From: Francis Dupont Date: Mon, 27 Nov 2017 02:04:20 +0000 (+0000) Subject: [trac5374] regen flex/bison X-Git-Tag: trac5458a_base~14^2~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a05c060612b60c127c6fda1711695ca65209b50a;p=thirdparty%2Fkea.git [trac5374] regen flex/bison --- diff --git a/src/bin/dhcp4/dhcp4_lexer.cc b/src/bin/dhcp4/dhcp4_lexer.cc index d4bb974362..d821e46454 100644 --- a/src/bin/dhcp4/dhcp4_lexer.cc +++ b/src/bin/dhcp4/dhcp4_lexer.cc @@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); /* %% [3.0] code to copy yytext_ptr to yytext[] 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 161 -#define YY_END_OF_BUFFER 162 +#define YY_NUM_RULES 163 +#define YY_END_OF_BUFFER 164 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,152 +700,155 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[1307] = +static const flex_int16_t yy_accept[1336] = { 0, - 154, 154, 0, 0, 0, 0, 0, 0, 0, 0, - 162, 160, 10, 11, 160, 1, 154, 151, 154, 154, - 160, 153, 152, 160, 160, 160, 160, 160, 147, 148, - 160, 160, 160, 149, 150, 5, 5, 5, 160, 160, - 160, 10, 11, 0, 0, 143, 0, 0, 0, 0, + 156, 156, 0, 0, 0, 0, 0, 0, 0, 0, + 164, 162, 10, 11, 162, 1, 156, 153, 156, 156, + 162, 155, 154, 162, 162, 162, 162, 162, 149, 150, + 162, 162, 162, 151, 152, 5, 5, 5, 162, 162, + 162, 10, 11, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 154, 154, 0, 153, 154, 3, 2, 6, 0, 154, + 156, 156, 0, 155, 156, 3, 2, 6, 0, 156, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, - 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, + 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, - + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 159, 157, 0, 156, 155, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 124, 0, 123, + 0, 0, 0, 0, 161, 159, 0, 158, 157, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, - 0, 0, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 125, 0, 0, 65, 0, 0, 0, 0, 0, + 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 16, 0, 0, 0, 0, 158, 155, + 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, + 0, 160, 157, 0, 0, 0, 0, 0, 0, 0, - 125, 0, 0, 127, 0, 0, 0, 0, 0, 0, - 0, 66, 0, 0, 0, 0, 48, 0, 0, 0, - 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 127, 0, 0, 129, 0, 0, 0, + 0, 0, 0, 0, 66, 0, 0, 0, 0, 48, + 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 47, 0, 0, 0, 0, 54, 0, 0, - 0, 0, 0, 0, 0, 0, 51, 0, 33, 0, + 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, + 0, 54, 0, 0, 0, 0, 0, 0, 0, 0, + 51, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, - 25, 0, 0, 30, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 80, 25, 0, 0, 30, 0, 0, - 0, 0, 12, 132, 0, 129, 0, 128, 0, 0, - 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 12, 134, 0, 131, + 0, 130, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 27, 0, 0, 55, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, - 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, - 0, 7, 0, 0, 130, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, + 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, + 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 89, 0, 0, 0, 0, 0, 7, 0, 0, + 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, - 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, + 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 96, 69, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 98, 69, 0, 0, 0, 74, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, - 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 86, 0, 0, 0, 0, 37, 0, + 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, + 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, + 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, - 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 76, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, + 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 83, 0, 0, 0, 0, 0, 0, 108, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, + 21, 0, 0, 0, 0, 0, 0, 0, 115, 0, + 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 139, 0, 0, 0, 0, 0, 0, 86, 0, + 0, 0, 0, 90, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, - - 0, 0, 0, 0, 113, 0, 0, 111, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, - 0, 0, 0, 0, 84, 0, 0, 0, 0, 88, - 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 0, 20, 0, 93, 0, - 0, 0, 0, 0, 0, 117, 0, 0, 0, 45, - 0, 0, 0, 0, 0, 95, 28, 0, 0, 0, + 84, 0, 20, 0, 95, 0, 0, 0, 0, 0, + 0, 119, 0, 0, 0, 45, 0, 0, 0, 0, + 0, 97, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, - 46, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 40, 0, 0, 0, 0, 114, 0, 112, 0, - 107, 106, 0, 19, 0, 0, 0, 0, 0, 126, - 0, 0, 78, 0, 0, 0, 0, 0, 0, 104, + 0, 0, 0, 0, 0, 0, 0, 142, 46, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, + 0, 0, 0, 0, 116, 0, 114, 0, 109, 108, + 0, 19, 0, 0, 0, 0, 0, 128, 0, 0, + 79, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, - 0, 0, 0, 35, 0, 0, 0, 0, 116, 0, - 0, 0, 0, 0, 60, 41, 0, 89, 0, 0, - 80, 0, 0, 0, 0, 52, 0, 135, 0, 134, + 0, 0, 0, 35, 0, 0, 0, 0, 118, 0, + 0, 0, 0, 0, 60, 41, 0, 91, 0, 0, + 82, 0, 0, 0, 0, 52, 0, 137, 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 142, 77, 0, 38, 105, 0, 0, 138, 109, - 0, 0, 0, 0, 0, 0, 23, 0, 22, 0, - 115, 0, 0, 0, 70, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 39, 0, 0, 0, 36, - 0, 0, 0, 0, 0, 0, 94, 0, 0, 139, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, - - 141, 44, 0, 136, 131, 0, 0, 14, 0, 0, - 122, 0, 0, 0, 0, 102, 0, 0, 0, 0, - 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, - 13, 0, 0, 0, 0, 110, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 101, 17, 0, 119, 0, - 0, 0, 118, 0, 0, 0, 100, 0, 0, 0, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 144, 77, 0, 38, 107, 0, 0, + 140, 111, 0, 81, 0, 0, 0, 0, 0, 0, + 23, 0, 22, 0, 117, 0, 0, 0, 70, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, + + 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, + 0, 96, 0, 0, 141, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 18, 143, 44, 0, 138, 133, + 0, 0, 14, 0, 0, 0, 124, 0, 0, 0, + 0, 104, 0, 0, 0, 0, 0, 0, 61, 0, + 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, + 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 17, 0, 121, 0, 0, 0, + 120, 0, 78, 0, 0, 102, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 120, 0, 0, 0, 0, 0, 0, 98, 103, 42, - 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, - 0, 67, 0, 0, 99, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, + 0, 0, 0, 0, 0, 0, 100, 105, 42, 0, + 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, + 67, 0, 0, 101, 0 } ; static const YY_CHAR yy_ec[256] = @@ -892,321 +895,327 @@ static const YY_CHAR yy_meta[72] = 3 } ; -static const flex_int16_t yy_base[1319] = +static const flex_int16_t yy_base[1348] = { 0, 0, 70, 19, 29, 41, 49, 52, 58, 87, 95, - 1669, 1670, 32, 1665, 141, 0, 201, 1670, 206, 88, - 11, 213, 1670, 1647, 114, 25, 2, 6, 1670, 1670, - 73, 11, 17, 1670, 1670, 1670, 104, 1653, 1608, 0, - 1645, 107, 1660, 217, 247, 1670, 1604, 185, 1603, 1609, - 93, 58, 1601, 91, 211, 195, 14, 273, 195, 1600, - 181, 275, 202, 209, 1609, 66, 188, 11, 232, 219, - 296, 284, 207, 1592, 78, 287, 324, 305, 1611, 0, - 339, 359, 367, 374, 379, 1670, 0, 1670, 301, 344, - 223, 295, 196, 336, 348, 210, 1670, 1608, 1647, 1670, - - 322, 1670, 392, 1636, 330, 1594, 1604, 351, 366, 1599, - 363, 370, 372, 379, 241, 1642, 0, 443, 376, 1586, - 1588, 1584, 1592, 74, 1588, 1577, 1578, 89, 1594, 1577, - 1586, 1586, 366, 1577, 353, 1578, 358, 1623, 1627, 1569, - 1620, 1562, 1571, 1584, 1581, 1581, 1575, 352, 1568, 1561, - 1566, 1560, 381, 1571, 1564, 1555, 1554, 1568, 364, 1554, - 382, 1570, 266, 439, 1557, 413, 1568, 1565, 1566, 1564, - 1546, 1548, 402, 1540, 1557, 1549, 0, 389, 380, 331, - 398, 392, 414, 1548, 1670, 0, 1591, 431, 1538, 1541, - 411, 424, 1549, 438, 1592, 447, 1591, 446, 1590, 1670, - - 490, 1589, 456, 1550, 1530, 1546, 1543, 1542, 436, 1583, - 1577, 1543, 1522, 1530, 1525, 1539, 1535, 1523, 1535, 1535, - 1526, 1510, 1514, 1527, 1527, 1519, 1509, 1527, 1670, 1522, - 1525, 1506, 1501, 1504, 1554, 1503, 1513, 1516, 460, 1512, - 1500, 1511, 1547, 454, 1494, 1550, 1487, 1502, 486, 1492, - 1508, 1489, 1488, 1494, 1485, 1484, 1491, 1493, 1538, 1496, - 1495, 1489, 311, 1496, 1491, 1483, 1489, 1488, 1488, 1469, - 1485, 1471, 1477, 1484, 1472, 1465, 1479, 1520, 1481, 419, - 1472, 482, 1670, 1670, 484, 1670, 1670, 1459, 0, 456, - 478, 1461, 504, 485, 1515, 1468, 488, 1670, 1513, 1670, - - 1507, 536, 1670, 485, 1449, 1505, 1451, 1457, 1507, 1464, - 479, 1670, 1462, 1504, 1459, 1456, 532, 1462, 1500, 1494, - 1449, 1444, 1441, 1490, 1449, 1438, 1487, 1435, 557, 1449, - 1434, 1447, 1434, 1435, 1443, 1438, 1445, 1440, 1436, 466, - 1434, 1437, 1432, 1428, 1476, 495, 508, 1470, 1670, 1474, - 1421, 1420, 1419, 1412, 1414, 1418, 1407, 1420, 536, 1465, - 1420, 1417, 1421, 1670, 1419, 1408, 1408, 1420, 1402, 1394, - 1395, 1416, 1398, 1447, 1409, 1408, 1394, 1406, 1405, 1404, - 1403, 1444, 1443, 1670, 1387, 1386, 559, 1399, 1670, 1670, - 1398, 0, 1387, 1379, 514, 1384, 1435, 1434, 1392, 1432, - - 1670, 1380, 1430, 1670, 534, 606, 533, 1429, 1385, 1381, - 1369, 1670, 1385, 1384, 1371, 1370, 1670, 1372, 1369, 509, - 1367, 1369, 1670, 1377, 1374, 1359, 1372, 1367, 566, 1374, - 1356, 1405, 1670, 1354, 1370, 1402, 1365, 1362, 1363, 1365, - 1397, 1396, 1349, 1344, 1343, 1392, 1338, 1353, 1331, 1338, - 1343, 1391, 1670, 1338, 1334, 1388, 1331, 1670, 1335, 1342, - 1326, 1326, 1336, 1339, 1328, 1323, 1670, 1378, 1670, 1322, - 1333, 1370, 1317, 1322, 1331, 1325, 1329, 1369, 1363, 1327, - 1307, 1327, 1309, 1308, 1316, 1320, 1303, 1359, 1301, 1670, - 1670, 1306, 1304, 1670, 1315, 1349, 1311, 0, 1295, 1312, - - 1350, 1300, 1670, 1670, 1297, 1670, 1303, 1670, 542, 541, - 581, 1670, 1300, 1288, 1339, 1286, 1285, 1292, 1285, 1297, - 1296, 1296, 1284, 1325, 1292, 1284, 1327, 1273, 1289, 1288, - 1670, 1273, 1270, 1284, 1276, 1282, 1273, 1281, 1266, 1282, - 1264, 1278, 1277, 1275, 1258, 1252, 1257, 1272, 1269, 1270, - 1267, 1308, 1265, 1670, 1251, 1253, 1670, 1262, 1298, 1297, - 1250, 569, 1259, 1242, 1243, 1240, 1670, 1254, 1233, 1254, - 1251, 1243, 1286, 1240, 1284, 1670, 1231, 1245, 1248, 1229, - 1279, 1278, 1225, 1276, 1275, 1670, 14, 1237, 1220, 1225, - 1227, 1670, 1233, 1223, 1670, 1268, 1216, 1271, 543, 561, - - 527, 1221, 1264, 542, 1263, 1262, 1261, 1215, 1205, 1258, - 1211, 1221, 1255, 1218, 1212, 1199, 1207, 1250, 1254, 1211, - 1210, 1211, 1204, 1193, 1206, 1209, 1204, 1205, 1202, 1201, - 1193, 1203, 1198, 1239, 1238, 1188, 1178, 1186, 1234, 1670, - 1233, 1182, 1174, 1175, 1188, 1175, 1186, 1670, 1174, 1183, - 1182, 1182, 1222, 1165, 1174, 1167, 1178, 1155, 1159, 1210, - 1157, 1167, 1207, 1154, 1205, 538, 552, 1147, 1157, 542, - 1670, 1207, 1165, 1148, 1153, 1157, 1147, 1159, 1162, 1199, - 1670, 1193, 562, 1146, 1154, 1153, 1148, 1144, 1151, 1134, - 1137, 1133, 1150, 1145, 1133, 1129, 1136, 1130, 1182, 1139, - - 1127, 1141, 1129, 1670, 1137, 1135, 1126, 1135, 1131, 1172, - 1114, 1114, 1127, 1112, 1167, 1120, 1108, 77, 1670, 1670, - 185, 240, 276, 1670, 1670, 317, 424, 464, 569, 497, - 590, 548, 597, 549, 609, 1670, 556, 561, 567, 562, - 620, 581, 571, 567, 580, 591, 586, 587, 581, 583, - 584, 584, 586, 639, 598, 603, 580, 1670, 638, 604, - 594, 609, 610, 597, 611, 1670, 630, 638, 618, 608, - 655, 620, 624, 663, 618, 613, 614, 610, 619, 614, - 670, 629, 620, 1670, 622, 633, 618, 634, 628, 673, - 641, 626, 627, 1670, 646, 629, 686, 631, 1670, 646, - - 651, 631, 650, 688, 648, 638, 656, 655, 641, 656, - 648, 655, 645, 663, 648, 1670, 656, 662, 657, 708, - 1670, 659, 664, 658, 670, 664, 663, 665, 717, 663, - 663, 720, 666, 1670, 665, 673, 671, 670, 675, 685, - 686, 691, 730, 689, 705, 710, 684, 694, 685, 737, - 682, 1670, 689, 694, 701, 743, 744, 693, 1670, 689, - 692, 691, 711, 708, 713, 714, 700, 708, 717, 697, - 718, 758, 1670, 713, 762, 763, 713, 726, 728, 717, - 713, 720, 771, 720, 718, 736, 775, 727, 726, 732, - 730, 728, 781, 782, 778, 738, 1670, 743, 736, 745, - - 733, 743, 739, 752, 1670, 735, 736, 1670, 737, 735, - 754, 755, 756, 755, 739, 744, 762, 1670, 752, 785, - 776, 748, 807, 770, 1670, 753, 768, 760, 764, 1670, - 1670, 774, 809, 758, 811, 760, 818, 763, 774, 766, - 772, 768, 786, 787, 1670, 785, 1670, 788, 1670, 772, - 792, 782, 775, 788, 830, 1670, 787, 837, 838, 1670, - 839, 783, 789, 796, 838, 1670, 1670, 788, 788, 791, - 805, 792, 849, 808, 846, 800, 853, 803, 855, 804, - 857, 858, 819, 860, 804, 816, 821, 807, 837, 866, - 826, 1670, 818, 869, 818, 814, 830, 835, 817, 875, - - 830, 835, 1670, 836, 829, 838, 839, 836, 826, 828, - 885, 834, 831, 832, 889, 885, 828, 843, 894, 1670, - 1670, 1670, 853, 845, 855, 840, 841, 901, 903, 849, - 905, 1670, 855, 857, 908, 851, 1670, 872, 1670, 857, - 1670, 1670, 864, 1670, 914, 865, 916, 917, 899, 1670, - 877, 878, 1670, 866, 865, 868, 868, 869, 865, 1670, - 887, 873, 874, 889, 889, 892, 892, 889, 894, 1670, - 886, 938, 897, 1670, 894, 900, 901, 898, 1670, 890, - 890, 896, 895, 906, 1670, 1670, 945, 1670, 894, 900, - 1670, 902, 904, 907, 918, 1670, 915, 1670, 912, 1670, - - 935, 955, 961, 962, 906, 964, 965, 920, 914, 968, - 969, 965, 930, 926, 968, 918, 923, 976, 934, 1670, - 978, 938, 980, 943, 932, 940, 984, 928, 946, 945, - 929, 985, 950, 951, 951, 938, 949, 996, 956, 969, - 956, 1670, 1670, 1000, 1670, 1670, 949, 960, 1670, 1670, - 950, 999, 944, 949, 1007, 957, 1670, 963, 1670, 1010, - 1670, 955, 970, 975, 1670, 1009, 977, 970, 979, 967, - 977, 1020, 1021, 1022, 973, 1670, 1024, 1025, 973, 1670, - 977, 1029, 975, 974, 1032, 987, 1670, 1029, 991, 1670, - 994, 1037, 998, 981, 983, 980, 996, 1005, 1044, 1670, - - 1670, 1670, 1040, 1670, 1670, 1005, 1042, 1670, 996, 1003, - 1670, 1000, 1005, 1052, 997, 1670, 1012, 1002, 1014, 1057, - 1001, 1009, 1670, 1020, 1010, 1009, 1023, 1014, 1023, 1025, - 1670, 1067, 1068, 1028, 1070, 1670, 1066, 1030, 1011, 1074, - 1033, 1034, 1035, 1078, 1037, 1670, 1670, 1042, 1670, 1024, - 1082, 1043, 1670, 1029, 1029, 1031, 1670, 1036, 1031, 1043, - 1670, 1041, 1045, 1036, 1088, 1037, 1053, 1046, 1055, 1046, - 1053, 1040, 1055, 1102, 1061, 1048, 1064, 1055, 1069, 1065, - 1670, 1109, 1110, 1111, 1068, 1067, 1068, 1670, 1670, 1670, - 1115, 1059, 1075, 1670, 1113, 1064, 1063, 1065, 1076, 1123, - - 1074, 1670, 1083, 1126, 1670, 1670, 1132, 1137, 1142, 1147, - 1152, 1157, 1162, 1165, 1139, 1144, 1146, 1159 + 1698, 1699, 32, 1694, 141, 0, 201, 1699, 206, 88, + 11, 213, 1699, 1676, 114, 25, 2, 6, 1699, 1699, + 73, 11, 17, 1699, 1699, 1699, 104, 1682, 1637, 0, + 1674, 107, 1689, 217, 247, 1699, 1633, 185, 1632, 1638, + 93, 58, 1630, 91, 211, 195, 14, 273, 195, 1629, + 181, 275, 202, 209, 1638, 66, 188, 11, 232, 272, + 299, 289, 207, 1621, 78, 307, 326, 305, 1640, 0, + 354, 361, 369, 376, 381, 1699, 0, 1699, 273, 317, + 208, 223, 196, 286, 306, 210, 1699, 1637, 1676, 1699, + + 315, 1699, 376, 1665, 360, 1623, 1633, 352, 286, 1628, + 362, 361, 364, 371, 383, 1671, 0, 427, 380, 1615, + 1617, 1613, 1621, 74, 1617, 1606, 1607, 89, 1623, 1606, + 1615, 1615, 366, 1621, 1605, 368, 1606, 302, 1651, 1655, + 1597, 1648, 1590, 1599, 1612, 1609, 1609, 1603, 348, 1596, + 1589, 1594, 1588, 397, 1599, 1592, 1583, 1582, 1596, 343, + 1582, 361, 1598, 379, 433, 1585, 398, 1596, 1593, 1594, + 1592, 1574, 1576, 422, 1568, 1585, 1577, 0, 422, 428, + 388, 424, 432, 422, 1576, 1699, 0, 1619, 445, 1566, + 1569, 431, 437, 1577, 443, 1620, 455, 1619, 439, 1618, + + 1699, 490, 1617, 464, 1578, 1558, 1574, 1571, 1570, 444, + 1611, 1605, 1571, 1550, 1558, 1553, 1567, 1563, 1551, 1563, + 1563, 1551, 1553, 1537, 1541, 1554, 1554, 1546, 1536, 1554, + 1699, 1549, 1552, 1533, 1528, 1531, 1581, 1530, 1540, 1543, + 486, 1539, 1527, 1538, 1574, 473, 1521, 1577, 1514, 1529, + 488, 1519, 1535, 1516, 1515, 1521, 1512, 1511, 1518, 1520, + 1565, 1523, 1522, 1516, 270, 1523, 1518, 1510, 1516, 1515, + 1515, 1496, 1512, 1498, 1504, 1511, 1499, 1492, 1506, 1547, + 1508, 449, 1499, 475, 1699, 1699, 477, 1699, 1699, 1486, + 0, 457, 478, 1488, 516, 493, 1542, 1495, 489, 1699, + + 1540, 1699, 1534, 538, 1699, 481, 1476, 1532, 1478, 1484, + 1534, 1491, 482, 1699, 1489, 1531, 1486, 1483, 513, 1489, + 1527, 1521, 1476, 1471, 1518, 1467, 1516, 1475, 1464, 1513, + 1461, 559, 1475, 1460, 1473, 1460, 1461, 1469, 1464, 1471, + 1466, 1462, 469, 1460, 1463, 1458, 1454, 1502, 496, 511, + 1496, 1699, 1500, 1447, 1446, 1445, 1438, 1440, 1444, 1433, + 1446, 536, 1491, 1446, 1443, 1447, 1699, 1445, 1434, 1434, + 1446, 1428, 1420, 1421, 1442, 1424, 1473, 1435, 1434, 1420, + 1432, 1431, 1430, 1429, 1470, 1469, 1699, 1413, 1412, 560, + 1425, 1699, 1699, 1424, 0, 1413, 1405, 533, 1410, 1461, + + 1460, 1418, 1458, 1699, 1406, 1456, 1699, 543, 608, 534, + 1455, 1411, 1407, 1395, 1699, 1411, 1410, 1397, 1396, 1699, + 1398, 1395, 527, 1393, 1395, 1699, 1403, 1400, 1385, 511, + 1398, 1393, 570, 1400, 1382, 1431, 1699, 1380, 1396, 1428, + 1391, 1388, 1389, 1391, 1423, 1422, 1375, 1370, 1369, 1418, + 1364, 1379, 1357, 1364, 1369, 1417, 1699, 1364, 1360, 1414, + 1357, 1699, 1361, 1368, 1352, 1352, 1362, 1365, 1354, 1349, + 1699, 1404, 1699, 1348, 1359, 1396, 1343, 1348, 1357, 1351, + 1355, 1395, 1389, 1353, 1333, 1353, 1335, 1334, 1342, 1346, + 1329, 1385, 1327, 1699, 1699, 1332, 1330, 1699, 1341, 1375, + + 1337, 0, 1321, 1338, 1376, 1326, 1699, 1699, 1323, 1699, + 1329, 1699, 546, 545, 582, 1699, 1326, 1314, 1365, 1312, + 1311, 1318, 1311, 1323, 1322, 1322, 1310, 1351, 1318, 1310, + 1353, 1299, 1307, 1304, 1313, 1312, 1699, 1297, 1294, 1308, + 1300, 1306, 1297, 1305, 1290, 1306, 1288, 1302, 1301, 1299, + 1282, 1276, 1281, 1296, 1293, 1294, 1291, 1332, 1289, 1699, + 1275, 1277, 1699, 1286, 1322, 1321, 1274, 574, 1283, 1266, + 1267, 1264, 1699, 1278, 1257, 1278, 1275, 1267, 1310, 1264, + 1308, 1699, 1255, 1269, 1272, 1253, 1303, 1302, 1249, 1300, + 1299, 1699, 14, 1261, 1244, 1249, 1251, 1699, 1257, 1247, + + 1699, 1292, 1240, 1295, 544, 565, 539, 1245, 1288, 551, + 1287, 1286, 1285, 1239, 1229, 1282, 1235, 1245, 1279, 1242, + 1236, 1223, 1231, 1233, 1273, 1272, 1276, 1233, 1232, 1233, + 1226, 1215, 1228, 1231, 1226, 1227, 1224, 1223, 1215, 1225, + 1220, 1261, 1260, 1210, 1200, 1208, 1256, 1699, 1255, 1204, + 1196, 1197, 1210, 1197, 1208, 1699, 1196, 1205, 1204, 1204, + 1244, 1187, 1196, 1189, 1200, 1177, 1181, 1232, 1179, 1189, + 1229, 1176, 1227, 540, 559, 1169, 1179, 551, 1699, 1229, + 1187, 1170, 1175, 1179, 1169, 1181, 1184, 1221, 1699, 1215, + 575, 1168, 1176, 1175, 1170, 1166, 1173, 1156, 1159, 1155, + + 1172, 1167, 1155, 1151, 1158, 1152, 1204, 1161, 1149, 1163, + 1158, 1158, 1149, 1699, 1157, 1155, 1146, 1155, 90, 260, + 279, 288, 315, 352, 476, 475, 493, 497, 1699, 1699, + 542, 557, 568, 1699, 1699, 571, 561, 555, 591, 567, + 615, 568, 617, 575, 632, 1699, 580, 584, 586, 580, + 638, 593, 583, 579, 592, 603, 598, 599, 599, 601, + 602, 602, 604, 657, 616, 621, 598, 1699, 656, 616, + 606, 621, 622, 609, 623, 1699, 642, 650, 630, 620, + 667, 632, 636, 675, 630, 625, 626, 622, 631, 626, + 682, 641, 632, 1699, 634, 645, 630, 637, 647, 648, + + 642, 688, 656, 641, 642, 1699, 660, 643, 700, 645, + 1699, 660, 665, 645, 664, 702, 662, 652, 670, 669, + 655, 670, 662, 669, 659, 677, 662, 1699, 670, 676, + 671, 722, 1699, 673, 678, 672, 684, 678, 677, 679, + 731, 677, 677, 734, 680, 1699, 679, 687, 685, 684, + 689, 699, 700, 705, 744, 703, 719, 724, 698, 708, + 699, 751, 696, 1699, 703, 708, 715, 757, 758, 707, + 1699, 703, 706, 705, 725, 722, 708, 716, 729, 730, + 716, 724, 733, 713, 734, 776, 1699, 731, 778, 779, + 729, 742, 744, 733, 729, 736, 787, 736, 734, 752, + + 791, 743, 742, 748, 746, 744, 797, 798, 794, 754, + 1699, 759, 752, 761, 749, 759, 755, 768, 1699, 751, + 752, 1699, 753, 751, 770, 771, 772, 771, 755, 760, + 778, 1699, 768, 801, 792, 764, 823, 786, 1699, 769, + 784, 776, 780, 1699, 1699, 790, 825, 774, 827, 776, + 834, 830, 798, 781, 792, 784, 790, 786, 804, 806, + 1699, 804, 1699, 806, 1699, 790, 810, 801, 794, 806, + 848, 1699, 805, 855, 856, 1699, 857, 801, 807, 814, + 856, 1699, 1699, 806, 806, 809, 823, 810, 867, 826, + 864, 818, 871, 821, 873, 822, 875, 876, 837, 878, + + 822, 834, 839, 825, 855, 884, 844, 1699, 836, 887, + 836, 832, 848, 853, 835, 893, 848, 853, 1699, 856, + 846, 856, 849, 858, 859, 856, 846, 848, 905, 854, + 851, 852, 909, 905, 849, 864, 914, 1699, 1699, 1699, + 873, 865, 875, 860, 861, 922, 923, 869, 925, 1699, + 875, 877, 928, 872, 1699, 893, 1699, 877, 1699, 1699, + 884, 1699, 934, 885, 936, 937, 919, 1699, 897, 898, + 1699, 886, 885, 888, 888, 889, 885, 1699, 907, 893, + 901, 910, 896, 911, 911, 914, 914, 911, 916, 1699, + 908, 960, 920, 1699, 917, 922, 923, 920, 1699, 912, + + 912, 918, 917, 928, 1699, 1699, 967, 1699, 916, 922, + 1699, 924, 926, 929, 940, 1699, 937, 1699, 934, 1699, + 957, 977, 983, 984, 928, 986, 987, 942, 936, 990, + 991, 954, 993, 989, 954, 950, 992, 942, 947, 1000, + 958, 1699, 1002, 962, 1004, 967, 956, 964, 1009, 953, + 970, 969, 953, 1009, 974, 975, 975, 962, 973, 1020, + 980, 993, 980, 1699, 1699, 1024, 1699, 1699, 973, 984, + 1699, 1699, 971, 1699, 975, 1024, 969, 974, 1032, 982, + 1699, 988, 1699, 1035, 1699, 980, 995, 1000, 1699, 1034, + 1002, 995, 1004, 992, 1002, 1045, 1046, 1047, 998, 1699, + + 1049, 1051, 998, 1699, 1002, 1054, 999, 1001, 1000, 1058, + 1013, 1699, 1055, 1017, 1699, 1020, 1063, 1024, 1007, 1009, + 1006, 1022, 1031, 1070, 1699, 1699, 1699, 1066, 1699, 1699, + 1031, 1068, 1699, 1032, 1023, 1030, 1699, 1027, 1032, 1079, + 1024, 1699, 1039, 1029, 1041, 1084, 1028, 1036, 1699, 1047, + 1037, 1036, 1034, 1051, 1042, 1051, 1053, 1699, 1095, 1096, + 1056, 1098, 1699, 1094, 1058, 1039, 1102, 1061, 1104, 1063, + 1064, 1107, 1066, 1699, 1699, 1071, 1699, 1053, 1111, 1072, + 1699, 1058, 1699, 1058, 1060, 1699, 1065, 1060, 1072, 1699, + 1070, 1074, 1065, 1117, 1066, 1082, 1075, 1084, 1075, 1082, + + 1069, 1084, 1131, 1090, 1077, 1093, 1084, 1098, 1094, 1699, + 1138, 1139, 1140, 1097, 1096, 1097, 1699, 1699, 1699, 1144, + 1088, 1104, 1699, 1142, 1093, 1092, 1094, 1105, 1152, 1103, + 1699, 1112, 1155, 1699, 1699, 1161, 1166, 1171, 1176, 1181, + 1186, 1191, 1194, 1168, 1173, 1175, 1188 } ; -static const flex_int16_t yy_def[1319] = +static const flex_int16_t yy_def[1348] = { 0, - 1307, 1307, 1308, 1308, 1307, 1307, 1307, 1307, 1307, 1307, - 1306, 1306, 1306, 1306, 1306, 1309, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1310, - 1306, 1306, 1306, 1311, 15, 1306, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1312, 45, 45, + 1336, 1336, 1337, 1337, 1336, 1336, 1336, 1336, 1336, 1336, + 1335, 1335, 1335, 1335, 1335, 1338, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1339, + 1335, 1335, 1335, 1340, 15, 1335, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1341, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1309, - 1306, 1306, 1306, 1306, 1306, 1306, 1313, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1310, 1306, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1338, + 1335, 1335, 1335, 1335, 1335, 1335, 1342, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1339, 1335, - 1311, 1306, 1306, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1314, 45, 1312, 45, 45, + 1340, 1335, 1335, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1343, 45, 1341, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1313, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1315, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1314, 1306, + 45, 45, 45, 45, 45, 45, 45, 1342, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1344, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1343, - 1312, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1335, 1341, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1306, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1316, 45, - 45, 45, 45, 45, 45, 45, 45, 1306, 45, 1306, + 45, 45, 45, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1345, 45, 45, 45, 45, 45, 45, 45, 45, 1335, - 45, 1312, 1306, 45, 45, 45, 45, 45, 45, 45, - 45, 1306, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1335, 45, 1341, 1335, 45, 45, 45, 45, 45, + 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1306, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1306, 45, 45, 45, 45, 45, 45, + 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1306, 45, 45, 45, 45, 1306, 1306, - 1306, 1317, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1335, 45, 45, 45, + 45, 1335, 1335, 1335, 1346, 45, 45, 45, 45, 45, - 1306, 45, 45, 1306, 45, 1312, 45, 45, 45, 45, - 45, 1306, 45, 45, 45, 45, 1306, 45, 45, 45, - 45, 45, 1306, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1306, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1335, 45, 45, 1335, 45, 1341, 45, + 45, 45, 45, 45, 1335, 45, 45, 45, 45, 1335, + 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1306, 45, 45, 45, 45, 1306, 45, 45, - 45, 45, 45, 45, 45, 45, 1306, 45, 1306, 45, + 45, 45, 45, 45, 45, 45, 1335, 45, 45, 45, + 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, + 1335, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1306, - 1306, 45, 45, 1306, 45, 45, 1306, 1318, 45, 45, + 45, 45, 45, 1335, 1335, 45, 45, 1335, 45, 45, - 45, 45, 1306, 1306, 45, 1306, 45, 1306, 45, 45, - 45, 1306, 45, 45, 45, 45, 45, 45, 45, 45, + 1335, 1347, 45, 45, 45, 45, 1335, 1335, 45, 1335, + 45, 1335, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1306, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1306, 45, 45, 1306, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1306, 45, 45, 45, - 45, 45, 45, 45, 45, 1306, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1306, 45, 45, 45, 45, - 45, 1306, 45, 45, 1306, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1335, + 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, + 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1335, 45, 45, 45, 45, 45, 1335, 45, 45, + 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1306, - 45, 45, 45, 45, 45, 45, 45, 1306, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1335, 45, 45, + 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1306, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1306, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1335, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1306, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1306, 1306, - 45, 45, 45, 1306, 1306, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1306, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1306, 45, 45, - 45, 45, 45, 45, 45, 1306, 45, 45, 45, 45, + 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1335, 1335, + 45, 45, 45, 1335, 1335, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1306, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1306, 45, 45, 45, 45, 1306, 45, - + 45, 45, 45, 45, 45, 45, 45, 1335, 45, 45, + 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1306, 45, 45, 45, 45, - 1306, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1306, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, + + 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, + 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1335, 45, 45, + 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1306, 45, 45, 45, 45, 45, 45, 1306, 45, + 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, + 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1306, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1306, 45, 45, 45, - - 45, 45, 45, 45, 1306, 45, 45, 1306, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1306, 45, 45, - 45, 45, 45, 45, 1306, 45, 45, 45, 45, 1306, - 1306, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1306, 45, 1306, 45, 1306, 45, - 45, 45, 45, 45, 45, 1306, 45, 45, 45, 1306, - 45, 45, 45, 45, 45, 1306, 1306, 45, 45, 45, + 1335, 45, 45, 45, 45, 45, 45, 45, 1335, 45, + 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1335, 45, 45, 45, 45, 45, 45, 1335, 45, + 45, 45, 45, 1335, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1335, 45, 1335, 45, 1335, 45, 45, 45, 45, 45, + 45, 1335, 45, 45, 45, 1335, 45, 45, 45, 45, + 45, 1335, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1306, 45, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 1306, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1306, - 1306, 1306, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1306, 45, 45, 45, 45, 1306, 45, 1306, 45, - 1306, 1306, 45, 1306, 45, 45, 45, 45, 45, 1306, - 45, 45, 1306, 45, 45, 45, 45, 45, 45, 1306, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1306, - 45, 45, 45, 1306, 45, 45, 45, 45, 1306, 45, - 45, 45, 45, 45, 1306, 1306, 45, 1306, 45, 45, - 1306, 45, 45, 45, 45, 1306, 45, 1306, 45, 1306, + 45, 45, 45, 45, 45, 45, 45, 1335, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1306, + 45, 45, 45, 45, 45, 45, 45, 1335, 1335, 1335, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1335, + 45, 45, 45, 45, 1335, 45, 1335, 45, 1335, 1335, + 45, 1335, 45, 45, 45, 45, 45, 1335, 45, 45, + 1335, 45, 45, 45, 45, 45, 45, 1335, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1335, + 45, 45, 45, 1335, 45, 45, 45, 45, 1335, 45, + + 45, 45, 45, 45, 1335, 1335, 45, 1335, 45, 45, + 1335, 45, 45, 45, 45, 1335, 45, 1335, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1306, 1306, 45, 1306, 1306, 45, 45, 1306, 1306, - 45, 45, 45, 45, 45, 45, 1306, 45, 1306, 45, - 1306, 45, 45, 45, 1306, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1306, 45, 45, 45, 1306, - 45, 45, 45, 45, 45, 45, 1306, 45, 45, 1306, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1306, - - 1306, 1306, 45, 1306, 1306, 45, 45, 1306, 45, 45, - 1306, 45, 45, 45, 45, 1306, 45, 45, 45, 45, - 45, 45, 1306, 45, 45, 45, 45, 45, 45, 45, - 1306, 45, 45, 45, 45, 1306, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1306, 1306, 45, 1306, 45, - 45, 45, 1306, 45, 45, 45, 1306, 45, 45, 45, - 1306, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1335, 1335, 45, 1335, 1335, 45, 45, + 1335, 1335, 45, 1335, 45, 45, 45, 45, 45, 45, + 1335, 45, 1335, 45, 1335, 45, 45, 45, 1335, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1335, + + 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, + 45, 1335, 45, 45, 1335, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1335, 1335, 1335, 45, 1335, 1335, + 45, 45, 1335, 45, 45, 45, 1335, 45, 45, 45, + 45, 1335, 45, 45, 45, 45, 45, 45, 1335, 45, + 45, 45, 45, 45, 45, 45, 45, 1335, 45, 45, + 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1335, 1335, 45, 1335, 45, 45, 45, + 1335, 45, 1335, 45, 45, 1335, 45, 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1306, 45, 45, 45, 45, 45, 45, 1306, 1306, 1306, - 45, 45, 45, 1306, 45, 45, 45, 45, 45, 45, - 45, 1306, 45, 45, 1306, 0, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306 + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1335, + 45, 45, 45, 45, 45, 45, 1335, 1335, 1335, 45, + 45, 45, 1335, 45, 45, 45, 45, 45, 45, 45, + 1335, 45, 45, 1335, 0, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335 } ; -static const flex_int16_t yy_nxt[1742] = +static const flex_int16_t yy_nxt[1771] = { 0, - 1306, 13, 14, 13, 1306, 15, 16, 1306, 17, 18, - 19, 20, 21, 22, 22, 22, 23, 24, 86, 671, - 37, 14, 37, 87, 25, 26, 38, 1306, 672, 27, + 1335, 13, 14, 13, 1335, 15, 16, 1335, 17, 18, + 19, 20, 21, 22, 22, 22, 23, 24, 86, 679, + 37, 14, 37, 87, 25, 26, 38, 1335, 680, 27, 37, 14, 37, 42, 28, 42, 38, 92, 93, 29, 115, 30, 13, 14, 13, 91, 92, 25, 31, 93, - 13, 14, 13, 13, 14, 13, 32, 40, 142, 13, - 14, 13, 33, 40, 115, 92, 93, 143, 91, 34, + 13, 14, 13, 13, 14, 13, 32, 40, 143, 13, + 14, 13, 33, 40, 115, 92, 93, 144, 91, 34, 35, 13, 14, 13, 95, 15, 16, 96, 17, 18, 19, 20, 21, 22, 22, 22, 23, 24, 13, 14, 13, 109, 39, 91, 25, 26, 13, 14, 13, 27, 39, 85, 85, 85, 28, 42, 41, 42, 42, 29, 42, 30, 83, 108, 41, 111, 94, 25, 31, 109, - 208, 163, 89, 137, 89, 164, 32, 90, 90, 90, - 209, 138, 33, 213, 214, 83, 108, 802, 111, 34, + 209, 164, 89, 138, 89, 165, 32, 90, 90, 90, + 210, 139, 33, 214, 215, 83, 108, 805, 111, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 45, 45, 45, 45, 48, 45, 49, 50, 45, 51, 45, 52, 53, @@ -1217,97 +1226,97 @@ static const flex_int16_t yy_nxt[1742] = 74, 75, 76, 77, 78, 79, 57, 45, 45, 45, 45, 45, 81, 105, 82, 82, 82, 81, 114, 84, 84, 84, 102, 105, 81, 83, 84, 84, 84, 108, - 83, 180, 122, 112, 139, 123, 803, 83, 124, 105, - 125, 114, 126, 113, 140, 180, 141, 132, 83, 119, - 159, 178, 108, 83, 160, 120, 112, 103, 133, 180, - 83, 45, 148, 135, 161, 198, 149, 45, 134, 45, - 45, 113, 45, 183, 45, 45, 45, 178, 117, 144, - 145, 45, 45, 146, 45, 45, 150, 804, 198, 147, + 83, 181, 122, 112, 140, 123, 179, 83, 124, 105, + 125, 114, 126, 113, 141, 181, 142, 132, 83, 119, + 160, 180, 108, 83, 161, 120, 112, 103, 133, 181, + 83, 45, 179, 136, 162, 806, 134, 45, 135, 45, + 45, 113, 45, 184, 45, 45, 45, 180, 117, 145, + 146, 45, 45, 147, 45, 45, 90, 90, 90, 148, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 90, 90, 90, 45, 127, 805, - 111, 45, 128, 179, 258, 129, 130, 102, 114, 45, - 165, 259, 154, 45, 166, 45, 118, 167, 131, 151, - 155, 152, 156, 153, 168, 169, 112, 157, 158, 179, - 170, 173, 85, 85, 85, 284, 113, 90, 90, 90, - 806, 174, 103, 83, 178, 368, 175, 188, 369, 112, - 81, 171, 82, 82, 82, 89, 179, 89, 284, 191, - 90, 90, 90, 83, 113, 81, 83, 84, 84, 84, - 181, 172, 85, 85, 85, 188, 192, 101, 83, 194, - - 222, 195, 182, 83, 101, 191, 83, 196, 283, 219, - 197, 220, 225, 188, 238, 226, 223, 194, 239, 227, - 283, 83, 282, 192, 251, 252, 83, 194, 195, 386, - 202, 282, 101, 197, 283, 196, 101, 197, 284, 254, - 101, 203, 255, 256, 294, 244, 286, 245, 101, 260, - 282, 291, 101, 295, 101, 186, 201, 201, 201, 285, - 278, 287, 297, 201, 201, 201, 201, 201, 201, 269, - 340, 299, 294, 270, 291, 301, 291, 271, 297, 387, - 295, 807, 261, 262, 263, 297, 201, 201, 201, 201, - 201, 201, 310, 264, 299, 265, 352, 266, 311, 304, - - 267, 347, 301, 302, 302, 302, 389, 393, 389, 400, - 302, 302, 302, 302, 302, 302, 395, 394, 397, 398, - 403, 341, 414, 395, 342, 447, 448, 399, 808, 389, - 353, 390, 400, 302, 302, 302, 302, 302, 302, 415, - 403, 467, 420, 454, 354, 395, 421, 501, 403, 406, - 406, 406, 407, 455, 811, 522, 406, 406, 406, 406, - 406, 406, 433, 509, 494, 510, 501, 434, 456, 495, - 523, 531, 599, 600, 648, 501, 532, 682, 684, 406, - 406, 406, 406, 406, 406, 683, 595, 688, 685, 749, - 509, 601, 510, 689, 511, 768, 750, 468, 756, 599, - - 812, 600, 751, 752, 757, 682, 813, 814, 683, 815, - 753, 649, 809, 435, 816, 817, 810, 818, 436, 45, - 45, 45, 819, 768, 820, 821, 45, 45, 45, 45, - 45, 45, 822, 823, 824, 825, 826, 827, 828, 829, - 830, 831, 832, 833, 834, 835, 836, 837, 838, 45, - 45, 45, 45, 45, 45, 839, 840, 841, 842, 843, + 45, 45, 45, 45, 179, 149, 193, 45, 127, 150, + 102, 45, 128, 111, 371, 129, 130, 372, 114, 45, + 90, 90, 90, 45, 180, 45, 118, 155, 131, 151, + 182, 807, 152, 193, 153, 156, 154, 157, 112, 808, + 166, 174, 158, 159, 167, 103, 227, 168, 113, 228, + 183, 175, 809, 229, 169, 170, 176, 85, 85, 85, + 171, 112, 81, 172, 82, 82, 82, 89, 83, 89, + 192, 101, 90, 90, 90, 83, 113, 81, 101, 84, + 84, 84, 196, 173, 85, 85, 85, 189, 195, 197, + + 83, 83, 198, 253, 254, 83, 192, 199, 83, 220, + 240, 221, 286, 810, 241, 224, 101, 189, 256, 196, + 101, 257, 258, 83, 101, 189, 195, 197, 83, 198, + 199, 225, 101, 195, 203, 286, 101, 260, 101, 187, + 202, 202, 202, 262, 261, 204, 286, 202, 202, 202, + 202, 202, 202, 198, 271, 284, 285, 284, 272, 389, + 285, 246, 273, 247, 296, 293, 297, 299, 303, 289, + 202, 202, 202, 202, 202, 202, 263, 264, 265, 301, + 280, 811, 285, 284, 293, 287, 288, 266, 293, 267, + 299, 268, 296, 297, 269, 303, 343, 299, 355, 392, + + 312, 392, 301, 304, 304, 304, 313, 306, 396, 390, + 304, 304, 304, 304, 304, 304, 398, 403, 397, 398, + 350, 406, 392, 423, 393, 417, 812, 424, 451, 452, + 400, 401, 356, 304, 304, 304, 304, 304, 304, 402, + 403, 471, 418, 406, 458, 398, 357, 344, 410, 406, + 345, 409, 409, 409, 459, 813, 533, 814, 409, 409, + 409, 409, 409, 409, 437, 498, 505, 505, 534, 438, + 499, 460, 513, 526, 514, 537, 605, 606, 690, 656, + 538, 409, 409, 409, 409, 409, 409, 601, 527, 691, + 692, 759, 607, 815, 505, 515, 696, 472, 760, 513, + + 693, 514, 697, 605, 816, 606, 690, 766, 778, 761, + 762, 817, 691, 767, 818, 439, 657, 763, 819, 820, + 440, 45, 45, 45, 823, 824, 825, 826, 45, 45, + 45, 45, 45, 45, 821, 827, 778, 828, 822, 829, + 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, + 840, 45, 45, 45, 45, 45, 45, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, - 864, 865, 866, 867, 868, 846, 869, 870, 845, 871, - 872, 873, 876, 877, 878, 879, 874, 880, 881, 882, - - 883, 884, 885, 886, 887, 888, 889, 890, 891, 893, - 894, 895, 896, 897, 898, 899, 900, 901, 902, 892, - 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, - 913, 914, 915, 916, 917, 918, 919, 920, 922, 921, - 923, 924, 925, 926, 927, 928, 929, 875, 930, 931, - 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, - 942, 943, 944, 945, 946, 920, 921, 947, 949, 950, - 951, 952, 948, 953, 954, 955, 956, 957, 958, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, + 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, + 874, 875, 876, 877, 878, 879, 880, 858, 881, 882, + + 857, 883, 884, 885, 886, 887, 890, 891, 892, 893, + 888, 894, 895, 896, 897, 898, 899, 900, 901, 902, + 903, 904, 905, 907, 908, 909, 910, 911, 912, 913, + 914, 915, 916, 906, 917, 918, 919, 920, 921, 922, + 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, + 933, 934, 936, 935, 937, 938, 939, 940, 941, 942, + 943, 889, 944, 945, 946, 947, 948, 949, 950, 951, + 952, 953, 954, 955, 956, 957, 958, 959, 960, 934, + 935, 961, 962, 963, 965, 966, 967, 968, 964, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, - 1010, 1011, 989, 1012, 1013, 1014, 1015, 1016, 990, 1017, - 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, - 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1036, 1037, 1038, - 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1051, 1052, 1053, 1055, 1056, 1057, 1058, 1059, - 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, - 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1049, 1079, - - 1080, 1081, 1082, 1083, 1084, 1078, 1085, 1035, 1086, 1087, - 1088, 1089, 1090, 1091, 1092, 1093, 1054, 1094, 1095, 1096, - 1097, 1098, 1100, 1101, 1102, 1103, 1099, 1104, 1105, 1106, - 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, - 1117, 1118, 1119, 1120, 1121, 1122, 1101, 1123, 1124, 1125, - 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, - 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, + 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, + 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1005, 1028, + 1029, 1030, 1031, 1032, 1006, 1033, 1034, 1035, 1036, 1037, + 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, + 1048, 1049, 1050, 1051, 1052, 1054, 1055, 1056, 1057, 1058, + 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, + 1069, 1070, 1071, 1073, 1074, 1075, 1076, 1077, 1078, 1079, + + 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, + 1090, 1091, 1092, 1093, 1094, 1095, 1067, 1096, 1097, 1099, + 1100, 1101, 1102, 1103, 1104, 1053, 1098, 1105, 1106, 1107, + 1108, 1109, 1110, 1111, 1072, 1112, 1113, 1114, 1115, 1116, + 1117, 1118, 1120, 1121, 1122, 1123, 1119, 1124, 1125, 1126, + 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, + 1137, 1138, 1139, 1140, 1141, 1142, 1121, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, - 1166, 1140, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, + 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, - 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, - 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, + 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, + 1186, 1187, 1188, 1162, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, - 1205, 1178, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, - 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, + 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, + 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, + 1225, 1226, 1227, 1228, 1229, 1202, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, @@ -1316,81 +1325,83 @@ static const flex_int16_t yy_nxt[1742] = 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, - 1304, 1305, 12, 12, 12, 12, 12, 36, 36, 36, - 36, 36, 80, 289, 80, 80, 80, 99, 392, 99, - 498, 99, 101, 101, 101, 101, 101, 116, 116, 116, - 116, 116, 177, 101, 177, 177, 177, 199, 199, 199, - 801, 800, 799, 798, 797, 796, 795, 794, 793, 792, - 791, 790, 789, 788, 787, 786, 785, 784, 783, 782, - 781, 780, 779, 778, 777, 776, 775, 774, 773, 772, - - 771, 770, 769, 767, 766, 765, 764, 763, 762, 761, - 760, 759, 758, 755, 754, 748, 747, 746, 745, 744, - 743, 742, 741, 740, 739, 738, 737, 736, 735, 734, - 733, 732, 731, 730, 729, 728, 727, 726, 725, 724, - 723, 722, 721, 720, 719, 718, 717, 716, 715, 714, - 713, 712, 711, 710, 709, 708, 707, 706, 705, 704, - 703, 702, 701, 700, 699, 698, 697, 696, 695, 694, - 693, 692, 691, 690, 687, 686, 681, 680, 679, 678, - 677, 676, 675, 674, 673, 670, 669, 668, 667, 666, - 665, 664, 663, 662, 661, 660, 659, 658, 657, 656, - - 655, 654, 653, 652, 651, 650, 647, 646, 645, 644, - 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, - 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, - 623, 622, 621, 620, 619, 618, 617, 616, 615, 614, - 613, 612, 611, 610, 609, 608, 607, 606, 605, 604, - 603, 602, 598, 597, 596, 595, 594, 593, 592, 591, - 590, 589, 588, 587, 586, 585, 584, 583, 582, 581, - 580, 579, 578, 577, 576, 575, 574, 573, 572, 571, - 570, 569, 568, 567, 566, 565, 564, 563, 562, 561, - 560, 559, 558, 557, 556, 555, 554, 553, 552, 551, - - 550, 549, 548, 547, 546, 545, 544, 543, 542, 541, - 540, 539, 538, 537, 536, 535, 534, 533, 530, 529, - 528, 527, 526, 525, 524, 521, 520, 519, 518, 517, - 516, 515, 514, 513, 512, 508, 507, 506, 505, 504, - 503, 502, 500, 499, 497, 496, 493, 492, 491, 490, + 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, + 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, + 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, + 1334, 12, 12, 12, 12, 12, 36, 36, 36, 36, + 36, 80, 291, 80, 80, 80, 99, 395, 99, 502, + 99, 101, 101, 101, 101, 101, 116, 116, 116, 116, + 116, 178, 101, 178, 178, 178, 200, 200, 200, 804, + + 803, 802, 801, 800, 799, 798, 797, 796, 795, 794, + 793, 792, 791, 790, 789, 788, 787, 786, 785, 784, + 783, 782, 781, 780, 779, 777, 776, 775, 774, 773, + 772, 771, 770, 769, 768, 765, 764, 758, 757, 756, + 755, 754, 753, 752, 751, 750, 749, 748, 747, 746, + 745, 744, 743, 742, 741, 740, 739, 738, 737, 736, + 735, 734, 733, 732, 731, 730, 729, 728, 727, 726, + 725, 724, 723, 722, 721, 720, 719, 718, 717, 716, + 715, 714, 713, 712, 711, 710, 709, 708, 707, 706, + 705, 704, 703, 702, 701, 700, 699, 698, 695, 694, + + 689, 688, 687, 686, 685, 684, 683, 682, 681, 678, + 677, 676, 675, 674, 673, 672, 671, 670, 669, 668, + 667, 666, 665, 664, 663, 662, 661, 660, 659, 658, + 655, 654, 653, 652, 651, 650, 649, 648, 647, 646, + 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, + 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, + 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, + 615, 614, 613, 612, 611, 610, 609, 608, 604, 603, + 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, + 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, + + 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, + 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, + 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, + 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, + 542, 541, 540, 539, 536, 535, 532, 531, 530, 529, + 528, 525, 524, 523, 522, 521, 520, 519, 518, 517, + 516, 512, 511, 510, 509, 508, 507, 506, 504, 503, + 501, 500, 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, 480, - 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, - 469, 466, 465, 464, 463, 462, 461, 460, 459, 458, - 457, 453, 452, 451, 450, 449, 446, 445, 444, 443, - 442, 441, 440, 439, 438, 437, 432, 431, 430, 429, - - 428, 427, 426, 425, 424, 423, 422, 419, 418, 417, - 416, 413, 412, 411, 410, 409, 408, 405, 404, 402, - 401, 396, 391, 388, 385, 384, 383, 382, 381, 380, - 379, 378, 377, 376, 375, 374, 373, 372, 371, 370, + 479, 478, 477, 476, 475, 474, 473, 470, 469, 468, + + 467, 466, 465, 464, 463, 462, 461, 457, 456, 455, + 454, 453, 450, 449, 448, 447, 446, 445, 444, 443, + 442, 441, 436, 435, 434, 433, 432, 431, 430, 429, + 428, 427, 426, 425, 422, 421, 420, 419, 416, 415, + 414, 413, 412, 411, 408, 407, 405, 404, 399, 394, + 391, 388, 387, 386, 385, 384, 383, 382, 381, 380, + 379, 378, 377, 376, 375, 374, 373, 370, 369, 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, - 357, 356, 355, 351, 350, 349, 348, 346, 345, 344, - 343, 339, 338, 337, 336, 335, 334, 333, 332, 331, + 354, 353, 352, 351, 349, 348, 347, 346, 342, 341, + 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, + 330, 329, 328, 327, 326, 325, 324, 323, 322, 321, - 320, 319, 318, 317, 316, 315, 314, 313, 312, 309, - 308, 307, 306, 305, 303, 200, 300, 298, 296, 293, - - 292, 290, 288, 281, 280, 279, 277, 276, 275, 274, - 273, 272, 268, 257, 253, 250, 249, 248, 247, 246, - 243, 242, 241, 240, 237, 236, 235, 234, 233, 232, - 231, 230, 229, 228, 224, 221, 218, 217, 216, 215, - 212, 211, 210, 207, 206, 205, 204, 200, 193, 190, - 189, 187, 185, 184, 176, 162, 136, 121, 110, 107, - 106, 104, 43, 100, 98, 97, 88, 43, 1306, 11, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306 + 320, 319, 318, 317, 316, 315, 314, 311, 310, 309, + 308, 307, 305, 201, 302, 300, 298, 295, 294, 292, + 290, 283, 282, 281, 279, 278, 277, 276, 275, 274, + 270, 259, 255, 252, 251, 250, 249, 248, 245, 244, + 243, 242, 239, 238, 237, 236, 235, 234, 233, 232, + 231, 230, 226, 223, 222, 219, 218, 217, 216, 213, + 212, 211, 208, 207, 206, 205, 201, 194, 191, 190, + 188, 186, 185, 177, 163, 137, 121, 110, 107, 106, + 104, 43, 100, 98, 97, 88, 43, 1335, 11, 1335, + + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335 } ; -static const flex_int16_t yy_chk[1742] = +static const flex_int16_t yy_chk[1771] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 21, 587, - 3, 3, 3, 21, 1, 1, 3, 0, 587, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 21, 593, + 3, 3, 3, 21, 1, 1, 3, 0, 593, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 57, 1, 5, 5, 5, 26, 32, 1, 1, 33, 6, 6, 6, 7, 7, 7, 1, 7, 68, 8, @@ -1402,7 +1413,7 @@ static const flex_int16_t yy_chk[1742] = 6, 20, 20, 20, 2, 37, 9, 37, 42, 2, 42, 2, 20, 51, 10, 54, 31, 2, 2, 52, 124, 75, 25, 66, 25, 75, 2, 25, 25, 25, - 124, 66, 2, 128, 128, 20, 51, 718, 54, 2, + 124, 66, 2, 128, 128, 20, 51, 719, 54, 2, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1413,173 +1424,175 @@ static const flex_int16_t yy_chk[1742] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 17, 48, 17, 17, 17, 19, 56, 19, 19, 19, 44, 59, 22, 17, 22, 22, 22, 64, - 19, 93, 61, 55, 67, 61, 721, 22, 61, 48, + 19, 93, 61, 55, 67, 61, 91, 22, 61, 48, 61, 56, 61, 55, 67, 96, 67, 63, 17, 59, - 73, 91, 64, 19, 73, 59, 55, 44, 63, 93, - 22, 45, 70, 64, 73, 115, 70, 45, 63, 45, - 45, 55, 45, 96, 45, 45, 45, 91, 58, 69, - 69, 45, 45, 69, 45, 58, 70, 722, 115, 69, + 73, 92, 64, 19, 73, 59, 55, 44, 63, 93, + 22, 45, 91, 64, 73, 720, 63, 45, 63, 45, + 45, 55, 45, 96, 45, 45, 45, 92, 58, 69, + 69, 45, 45, 69, 45, 58, 89, 89, 89, 69, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 58, 89, 89, 89, 58, 62, 723, - 71, 58, 62, 92, 163, 62, 62, 101, 78, 58, - 76, 163, 72, 58, 76, 58, 58, 76, 62, 71, - 72, 71, 72, 71, 76, 76, 77, 72, 72, 92, - 76, 78, 81, 81, 81, 180, 77, 90, 90, 90, - 726, 78, 101, 81, 94, 263, 78, 105, 263, 77, - 82, 77, 82, 82, 82, 83, 95, 83, 180, 108, - 83, 83, 83, 82, 77, 84, 81, 84, 84, 84, - 94, 77, 85, 85, 85, 105, 109, 103, 84, 111, - - 135, 112, 95, 85, 103, 108, 82, 113, 179, 133, - 114, 133, 137, 119, 148, 137, 135, 153, 148, 137, - 182, 84, 178, 109, 159, 159, 85, 111, 112, 280, - 119, 181, 103, 173, 179, 113, 103, 114, 183, 161, - 103, 119, 161, 161, 191, 153, 182, 153, 103, 164, - 178, 188, 103, 192, 103, 103, 118, 118, 118, 181, - 173, 183, 194, 118, 118, 118, 118, 118, 118, 166, - 239, 196, 191, 166, 188, 198, 203, 166, 244, 280, - 192, 727, 164, 164, 164, 194, 118, 118, 118, 118, - 118, 118, 209, 164, 196, 164, 249, 164, 209, 203, - - 164, 244, 198, 201, 201, 201, 282, 290, 285, 294, - 201, 201, 201, 201, 201, 201, 291, 290, 293, 293, - 297, 239, 311, 304, 239, 340, 340, 293, 728, 282, - 249, 285, 294, 201, 201, 201, 201, 201, 201, 311, - 347, 359, 317, 346, 249, 291, 317, 395, 297, 302, - 302, 302, 304, 346, 730, 420, 302, 302, 302, 302, - 302, 302, 329, 405, 387, 405, 407, 329, 347, 387, - 420, 429, 509, 510, 562, 395, 429, 599, 601, 302, - 302, 302, 302, 302, 302, 600, 511, 604, 601, 666, - 405, 511, 405, 604, 407, 683, 666, 359, 670, 509, - - 731, 510, 667, 667, 670, 599, 732, 733, 600, 734, - 667, 562, 729, 329, 735, 737, 729, 738, 329, 406, - 406, 406, 739, 683, 740, 741, 406, 406, 406, 406, - 406, 406, 742, 743, 744, 745, 746, 747, 748, 749, - 750, 751, 752, 753, 754, 755, 756, 757, 759, 406, - 406, 406, 406, 406, 406, 760, 761, 762, 763, 764, - 765, 767, 768, 769, 770, 771, 772, 773, 774, 775, - 776, 777, 778, 779, 780, 781, 782, 783, 785, 786, - 787, 788, 789, 790, 791, 768, 792, 793, 767, 795, - 796, 797, 798, 800, 801, 802, 797, 803, 804, 805, - - 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, - 817, 818, 819, 820, 822, 823, 824, 825, 826, 814, - 827, 828, 829, 830, 831, 832, 833, 835, 836, 837, - 838, 839, 840, 841, 842, 843, 844, 845, 847, 846, - 848, 849, 850, 851, 853, 854, 855, 797, 856, 857, - 858, 860, 861, 862, 863, 864, 865, 866, 867, 868, - 869, 870, 871, 872, 874, 845, 846, 875, 876, 877, - 878, 879, 875, 880, 881, 882, 883, 884, 885, 886, - 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, - 898, 899, 900, 901, 902, 903, 904, 906, 907, 909, - - 910, 911, 912, 913, 914, 915, 916, 917, 919, 920, - 921, 922, 923, 924, 926, 927, 928, 929, 932, 933, - 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, - 944, 946, 920, 948, 950, 951, 952, 953, 921, 954, - 955, 957, 958, 959, 961, 962, 963, 964, 965, 968, - 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, - 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, - 989, 990, 991, 993, 994, 995, 996, 997, 998, 999, - 1000, 1001, 1002, 1004, 1005, 1006, 1007, 1008, 1009, 1010, - 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 989, 1019, - - 1023, 1024, 1025, 1026, 1027, 1018, 1028, 975, 1029, 1030, - 1031, 1033, 1034, 1035, 1036, 1038, 994, 1040, 1043, 1045, - 1046, 1047, 1048, 1049, 1051, 1052, 1047, 1054, 1055, 1056, - 1057, 1058, 1059, 1061, 1062, 1063, 1064, 1065, 1066, 1067, - 1068, 1069, 1071, 1072, 1073, 1075, 1049, 1076, 1077, 1078, - 1080, 1081, 1082, 1083, 1084, 1087, 1089, 1090, 1092, 1093, - 1094, 1095, 1097, 1099, 1101, 1102, 1103, 1104, 1105, 1106, - 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, - 1117, 1118, 1119, 1121, 1122, 1123, 1124, 1125, 1126, 1127, - 1128, 1101, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, - - 1137, 1138, 1139, 1140, 1141, 1144, 1147, 1148, 1151, 1152, - 1153, 1154, 1155, 1156, 1158, 1160, 1162, 1163, 1164, 1166, - 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1177, - 1178, 1140, 1179, 1181, 1182, 1183, 1184, 1185, 1186, 1188, - 1189, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, - 1203, 1206, 1207, 1209, 1210, 1212, 1213, 1214, 1215, 1217, - 1218, 1219, 1220, 1221, 1222, 1224, 1225, 1226, 1227, 1228, - 1229, 1230, 1232, 1233, 1234, 1235, 1237, 1238, 1239, 1240, - 1241, 1242, 1243, 1244, 1245, 1248, 1250, 1251, 1252, 1254, - 1255, 1256, 1258, 1259, 1260, 1262, 1263, 1264, 1265, 1266, - - 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, - 1277, 1278, 1279, 1280, 1282, 1283, 1284, 1285, 1286, 1287, - 1291, 1292, 1293, 1295, 1296, 1297, 1298, 1299, 1300, 1301, - 1303, 1304, 1307, 1307, 1307, 1307, 1307, 1308, 1308, 1308, - 1308, 1308, 1309, 1315, 1309, 1309, 1309, 1310, 1316, 1310, - 1317, 1310, 1311, 1311, 1311, 1311, 1311, 1312, 1312, 1312, - 1312, 1312, 1313, 1318, 1313, 1313, 1313, 1314, 1314, 1314, - 717, 716, 715, 714, 713, 712, 711, 710, 709, 708, - 707, 706, 705, 703, 702, 701, 700, 699, 698, 697, - 696, 695, 694, 693, 692, 691, 690, 689, 688, 687, - - 686, 685, 684, 682, 680, 679, 678, 677, 676, 675, - 674, 673, 672, 669, 668, 665, 664, 663, 662, 661, - 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, - 650, 649, 647, 646, 645, 644, 643, 642, 641, 639, + 45, 45, 45, 58, 94, 70, 109, 58, 62, 70, + 101, 58, 62, 71, 265, 62, 62, 265, 78, 58, + 90, 90, 90, 58, 95, 58, 58, 72, 62, 70, + 94, 721, 71, 109, 71, 72, 71, 72, 77, 722, + 76, 78, 72, 72, 76, 101, 138, 76, 77, 138, + 95, 78, 723, 138, 76, 76, 78, 81, 81, 81, + 76, 77, 82, 77, 82, 82, 82, 83, 81, 83, + 108, 103, 83, 83, 83, 82, 77, 84, 103, 84, + 84, 84, 112, 77, 85, 85, 85, 105, 111, 113, + + 84, 81, 114, 160, 160, 85, 108, 115, 82, 133, + 149, 133, 181, 724, 149, 136, 103, 119, 162, 112, + 103, 162, 162, 84, 103, 105, 111, 113, 85, 114, + 115, 136, 103, 154, 119, 181, 103, 164, 103, 103, + 118, 118, 118, 165, 164, 119, 184, 118, 118, 118, + 118, 118, 118, 174, 167, 179, 180, 182, 167, 282, + 183, 154, 167, 154, 192, 189, 193, 195, 199, 184, + 118, 118, 118, 118, 118, 118, 165, 165, 165, 197, + 174, 725, 180, 179, 204, 182, 183, 165, 189, 165, + 195, 165, 192, 193, 165, 199, 241, 246, 251, 284, + + 210, 287, 197, 202, 202, 202, 210, 204, 292, 282, + 202, 202, 202, 202, 202, 202, 293, 296, 292, 306, + 246, 299, 284, 319, 287, 313, 726, 319, 343, 343, + 295, 295, 251, 202, 202, 202, 202, 202, 202, 295, + 296, 362, 313, 350, 349, 293, 251, 241, 306, 299, + 241, 304, 304, 304, 349, 727, 430, 728, 304, 304, + 304, 304, 304, 304, 332, 390, 398, 410, 430, 332, + 390, 350, 408, 423, 408, 433, 513, 514, 605, 568, + 433, 304, 304, 304, 304, 304, 304, 515, 423, 606, + 607, 674, 515, 731, 398, 410, 610, 362, 674, 408, + + 607, 408, 610, 513, 732, 514, 605, 678, 691, 675, + 675, 733, 606, 678, 736, 332, 568, 675, 737, 738, + 332, 409, 409, 409, 740, 741, 742, 743, 409, 409, + 409, 409, 409, 409, 739, 744, 691, 745, 739, 747, + 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 758, 409, 409, 409, 409, 409, 409, 759, 760, 761, + 762, 763, 764, 765, 766, 767, 769, 770, 771, 772, + 773, 774, 775, 777, 778, 779, 780, 781, 782, 783, + 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, + 795, 796, 797, 798, 799, 800, 801, 778, 802, 803, + + 777, 804, 805, 807, 808, 809, 810, 812, 813, 814, + 809, 815, 816, 817, 818, 819, 820, 821, 822, 823, + 824, 825, 826, 827, 829, 830, 831, 832, 834, 835, + 836, 837, 838, 826, 839, 840, 841, 842, 843, 844, + 845, 847, 848, 849, 850, 851, 852, 853, 854, 855, + 856, 857, 859, 858, 860, 861, 862, 863, 865, 866, + 867, 809, 868, 869, 870, 872, 873, 874, 875, 876, + 877, 878, 879, 880, 881, 882, 883, 884, 885, 857, + 858, 886, 888, 889, 890, 891, 892, 893, 889, 894, + 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, + + 905, 906, 907, 908, 909, 910, 912, 913, 914, 915, + 916, 917, 918, 920, 921, 923, 924, 925, 926, 927, + 928, 929, 930, 931, 933, 934, 935, 936, 937, 938, + 940, 941, 942, 943, 946, 947, 948, 949, 950, 951, + 952, 953, 954, 955, 956, 957, 958, 959, 934, 960, + 962, 964, 966, 967, 935, 968, 969, 970, 971, 973, + 974, 975, 977, 978, 979, 980, 981, 984, 985, 986, + 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, + 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, + 1007, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, + + 1018, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, + 1029, 1030, 1031, 1032, 1033, 1034, 1005, 1035, 1036, 1037, + 1041, 1042, 1043, 1044, 1045, 991, 1036, 1046, 1047, 1048, + 1049, 1051, 1052, 1053, 1010, 1054, 1056, 1058, 1061, 1063, + 1064, 1065, 1066, 1067, 1069, 1070, 1065, 1072, 1073, 1074, + 1075, 1076, 1077, 1079, 1080, 1081, 1082, 1083, 1084, 1085, + 1086, 1087, 1088, 1089, 1091, 1092, 1067, 1093, 1095, 1096, + 1097, 1098, 1100, 1101, 1102, 1103, 1104, 1107, 1109, 1110, + 1112, 1113, 1114, 1115, 1117, 1119, 1121, 1122, 1123, 1124, + 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, + + 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1143, 1144, 1145, + 1146, 1147, 1148, 1121, 1149, 1150, 1151, 1152, 1153, 1154, + 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1166, + 1169, 1170, 1173, 1175, 1176, 1177, 1178, 1179, 1180, 1182, + 1184, 1186, 1187, 1188, 1190, 1191, 1192, 1193, 1194, 1195, + 1196, 1197, 1198, 1199, 1201, 1162, 1202, 1203, 1205, 1206, + 1207, 1208, 1209, 1210, 1211, 1213, 1214, 1216, 1217, 1218, + 1219, 1220, 1221, 1222, 1223, 1224, 1228, 1231, 1232, 1234, + 1235, 1236, 1238, 1239, 1240, 1241, 1243, 1244, 1245, 1246, + 1247, 1248, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, + + 1259, 1260, 1261, 1262, 1264, 1265, 1266, 1267, 1268, 1269, + 1270, 1271, 1272, 1273, 1276, 1278, 1279, 1280, 1282, 1284, + 1285, 1287, 1288, 1289, 1291, 1292, 1293, 1294, 1295, 1296, + 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, + 1307, 1308, 1309, 1311, 1312, 1313, 1314, 1315, 1316, 1320, + 1321, 1322, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1332, + 1333, 1336, 1336, 1336, 1336, 1336, 1337, 1337, 1337, 1337, + 1337, 1338, 1344, 1338, 1338, 1338, 1339, 1345, 1339, 1346, + 1339, 1340, 1340, 1340, 1340, 1340, 1341, 1341, 1341, 1341, + 1341, 1342, 1347, 1342, 1342, 1342, 1343, 1343, 1343, 718, + + 717, 716, 715, 713, 712, 711, 710, 709, 708, 707, + 706, 705, 704, 703, 702, 701, 700, 699, 698, 697, + 696, 695, 694, 693, 692, 690, 688, 687, 686, 685, + 684, 683, 682, 681, 680, 677, 676, 673, 672, 671, + 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, + 660, 659, 658, 657, 655, 654, 653, 652, 651, 650, + 649, 647, 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, 620, 619, - 618, 617, 616, 615, 614, 613, 612, 611, 610, 609, - 608, 607, 606, 605, 603, 602, 598, 597, 596, 594, - 593, 591, 590, 589, 588, 585, 584, 583, 582, 581, - 580, 579, 578, 577, 575, 574, 573, 572, 571, 570, - - 569, 568, 566, 565, 564, 563, 561, 560, 559, 558, - 556, 555, 553, 552, 551, 550, 549, 548, 547, 546, - 545, 544, 543, 542, 541, 540, 539, 538, 537, 536, - 535, 534, 533, 532, 530, 529, 528, 527, 526, 525, - 524, 523, 522, 521, 520, 519, 518, 517, 516, 515, - 514, 513, 507, 505, 502, 501, 500, 499, 497, 496, - 495, 493, 492, 489, 488, 487, 486, 485, 484, 483, - 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, - 472, 471, 470, 468, 466, 465, 464, 463, 462, 461, - 460, 459, 457, 456, 455, 454, 452, 451, 450, 449, - + 618, 617, 616, 615, 614, 613, 612, 611, 609, 608, + + 604, 603, 602, 600, 599, 597, 596, 595, 594, 591, + 590, 589, 588, 587, 586, 585, 584, 583, 581, 580, + 579, 578, 577, 576, 575, 574, 572, 571, 570, 569, + 567, 566, 565, 564, 562, 561, 559, 558, 557, 556, + 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, + 545, 544, 543, 542, 541, 540, 539, 538, 536, 535, + 534, 533, 532, 531, 530, 529, 528, 527, 526, 525, + 524, 523, 522, 521, 520, 519, 518, 517, 511, 509, + 506, 505, 504, 503, 501, 500, 499, 497, 496, 493, + 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, + + 482, 481, 480, 479, 478, 477, 476, 475, 474, 472, + 470, 469, 468, 467, 466, 465, 464, 463, 461, 460, + 459, 458, 456, 455, 454, 453, 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, 440, 439, - 438, 437, 436, 435, 434, 432, 431, 430, 428, 427, - 426, 425, 424, 422, 421, 419, 418, 416, 415, 414, - 413, 411, 410, 409, 408, 403, 402, 400, 399, 398, - 397, 396, 394, 393, 391, 388, 386, 385, 383, 382, - 381, 380, 379, 378, 377, 376, 375, 374, 373, 372, - 371, 370, 369, 368, 367, 366, 365, 363, 362, 361, - 360, 358, 357, 356, 355, 354, 353, 352, 351, 350, - 348, 345, 344, 343, 342, 341, 339, 338, 337, 336, - 335, 334, 333, 332, 331, 330, 328, 327, 326, 325, - - 324, 323, 322, 321, 320, 319, 318, 316, 315, 314, - 313, 310, 309, 308, 307, 306, 305, 301, 299, 296, - 295, 292, 288, 281, 279, 278, 277, 276, 275, 274, - 273, 272, 271, 270, 269, 268, 267, 266, 265, 264, - 262, 261, 260, 259, 258, 257, 256, 255, 254, 253, - 252, 251, 250, 248, 247, 246, 245, 243, 242, 241, - 240, 238, 237, 236, 235, 234, 233, 232, 231, 230, - 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, - 218, 217, 216, 215, 214, 213, 212, 211, 210, 208, - 207, 206, 205, 204, 202, 199, 197, 195, 193, 190, - - 189, 187, 184, 176, 175, 174, 172, 171, 170, 169, - 168, 167, 165, 162, 160, 158, 157, 156, 155, 154, - 152, 151, 150, 149, 147, 146, 145, 144, 143, 142, - 141, 140, 139, 138, 136, 134, 132, 131, 130, 129, - 127, 126, 125, 123, 122, 121, 120, 116, 110, 107, - 106, 104, 99, 98, 79, 74, 65, 60, 53, 50, - 49, 47, 43, 41, 39, 38, 24, 14, 11, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, - 1306 + 438, 436, 435, 434, 432, 431, 429, 428, 427, 425, + 424, 422, 421, 419, 418, 417, 416, 414, 413, 412, + 411, 406, 405, 403, 402, 401, 400, 399, 397, 396, + 394, 391, 389, 388, 386, 385, 384, 383, 382, 381, + 380, 379, 378, 377, 376, 375, 374, 373, 372, 371, + 370, 369, 368, 366, 365, 364, 363, 361, 360, 359, + + 358, 357, 356, 355, 354, 353, 351, 348, 347, 346, + 345, 344, 342, 341, 340, 339, 338, 337, 336, 335, + 334, 333, 331, 330, 329, 328, 327, 326, 325, 324, + 323, 322, 321, 320, 318, 317, 316, 315, 312, 311, + 310, 309, 308, 307, 303, 301, 298, 297, 294, 290, + 283, 281, 280, 279, 278, 277, 276, 275, 274, 273, + 272, 271, 270, 269, 268, 267, 266, 264, 263, 262, + 261, 260, 259, 258, 257, 256, 255, 254, 253, 252, + 250, 249, 248, 247, 245, 244, 243, 242, 240, 239, + 238, 237, 236, 235, 234, 233, 232, 230, 229, 228, + + 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, + 217, 216, 215, 214, 213, 212, 211, 209, 208, 207, + 206, 205, 203, 200, 198, 196, 194, 191, 190, 188, + 185, 177, 176, 175, 173, 172, 171, 170, 169, 168, + 166, 163, 161, 159, 158, 157, 156, 155, 153, 152, + 151, 150, 148, 147, 146, 145, 144, 143, 142, 141, + 140, 139, 137, 135, 134, 132, 131, 130, 129, 127, + 126, 125, 123, 122, 121, 120, 116, 110, 107, 106, + 104, 99, 98, 79, 74, 65, 60, 53, 50, 49, + 47, 43, 41, 39, 38, 24, 14, 11, 1335, 1335, + + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, + 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335 } ; static yy_state_type yy_last_accepting_state; @@ -1588,25 +1601,26 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[161] = +static const flex_int16_t yy_rule_linenum[163] = { 0, 143, 145, 147, 152, 153, 158, 159, 160, 172, 175, 180, 187, 196, 205, 214, 223, 233, 242, 251, 260, 269, 278, 287, 296, 305, 316, 325, 334, 343, 352, 362, 372, 382, 392, 402, 412, 422, 432, 442, 453, - 464, 475, 484, 494, 503, 513, 528, 544, 553, 562, - 571, 580, 590, 599, 608, 618, 627, 637, 646, 655, - 664, 674, 683, 692, 701, 710, 720, 729, 738, 747, - 756, 765, 774, 783, 792, 801, 810, 820, 832, 842, - 851, 861, 871, 881, 891, 901, 910, 920, 929, 938, - 947, 956, 966, 976, 986, 995, 1004, 1013, 1022, 1031, - - 1040, 1049, 1058, 1067, 1076, 1085, 1094, 1103, 1112, 1121, - 1130, 1139, 1148, 1157, 1166, 1175, 1184, 1193, 1202, 1211, - 1220, 1229, 1238, 1248, 1258, 1268, 1278, 1288, 1298, 1308, - 1318, 1328, 1337, 1346, 1355, 1364, 1373, 1382, 1391, 1402, - 1415, 1428, 1443, 1541, 1546, 1551, 1556, 1557, 1558, 1559, - 1560, 1561, 1563, 1581, 1594, 1599, 1603, 1605, 1607, 1609 + 464, 475, 484, 494, 503, 513, 527, 542, 551, 560, + 569, 578, 588, 597, 606, 616, 625, 635, 644, 653, + 662, 672, 681, 690, 699, 708, 718, 727, 736, 745, + 754, 763, 772, 781, 790, 799, 808, 818, 829, 841, + 850, 859, 868, 878, 888, 898, 908, 918, 927, 937, + 946, 955, 964, 973, 983, 993, 1003, 1012, 1021, 1030, + + 1039, 1048, 1057, 1066, 1075, 1084, 1093, 1102, 1111, 1120, + 1129, 1138, 1147, 1156, 1165, 1174, 1183, 1192, 1201, 1210, + 1219, 1228, 1237, 1246, 1255, 1265, 1275, 1285, 1295, 1305, + 1315, 1325, 1335, 1345, 1354, 1363, 1372, 1381, 1390, 1399, + 1408, 1419, 1432, 1445, 1460, 1558, 1563, 1568, 1573, 1574, + 1575, 1576, 1577, 1578, 1580, 1598, 1611, 1616, 1620, 1622, + 1624, 1626 } ; /* The intent behind this definition is that it'll catch @@ -1659,7 +1673,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg) -#line 1662 "dhcp4_lexer.cc" +#line 1676 "dhcp4_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 @@ -1685,8 +1699,8 @@ using namespace isc::dhcp; 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 1688 "dhcp4_lexer.cc" -#line 1689 "dhcp4_lexer.cc" +#line 1702 "dhcp4_lexer.cc" +#line 1703 "dhcp4_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2012,7 +2026,7 @@ YY_DECL } -#line 2015 "dhcp4_lexer.cc" +#line 2029 "dhcp4_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2041,13 +2055,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 >= 1307 ) + if ( yy_current_state >= 1336 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1306 ); + while ( yy_current_state != 1335 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2066,13 +2080,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 < 161 ) + else if ( yy_act < 163 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 161 ) + else if ( yy_act == 163 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 162 ) + else if ( yy_act == 164 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -2615,7 +2629,6 @@ YY_RULE_SETUP case isc::dhcp::Parser4Context::POOLS: case isc::dhcp::Parser4Context::RESERVATIONS: case isc::dhcp::Parser4Context::CLIENT_CLASSES: - case isc::dhcp::Parser4Context::CLIENT_CLASS: return isc::dhcp::Dhcp4Parser::make_OPTION_DATA(driver.loc_); default: return isc::dhcp::Dhcp4Parser::make_STRING("option-data", driver.loc_); @@ -2624,7 +2637,7 @@ YY_RULE_SETUP YY_BREAK case 47: YY_RULE_SETUP -#line 528 "dhcp4_lexer.ll" +#line 527 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LEASE_DATABASE: @@ -2632,7 +2645,6 @@ YY_RULE_SETUP case isc::dhcp::Parser4Context::OPTION_DEF: case isc::dhcp::Parser4Context::OPTION_DATA: case isc::dhcp::Parser4Context::CLIENT_CLASSES: - case isc::dhcp::Parser4Context::CLIENT_CLASS: case isc::dhcp::Parser4Context::SHARED_NETWORK: case isc::dhcp::Parser4Context::LOGGERS: return isc::dhcp::Dhcp4Parser::make_NAME(driver.loc_); @@ -2643,7 +2655,7 @@ YY_RULE_SETUP YY_BREAK case 48: YY_RULE_SETUP -#line 544 "dhcp4_lexer.ll" +#line 542 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -2655,7 +2667,7 @@ YY_RULE_SETUP YY_BREAK case 49: YY_RULE_SETUP -#line 553 "dhcp4_lexer.ll" +#line 551 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -2667,7 +2679,7 @@ YY_RULE_SETUP YY_BREAK case 50: YY_RULE_SETUP -#line 562 "dhcp4_lexer.ll" +#line 560 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2679,7 +2691,7 @@ YY_RULE_SETUP YY_BREAK case 51: YY_RULE_SETUP -#line 571 "dhcp4_lexer.ll" +#line 569 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::POOLS: @@ -2691,7 +2703,7 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 580 "dhcp4_lexer.ll" +#line 578 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2704,7 +2716,7 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 590 "dhcp4_lexer.ll" +#line 588 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::POOLS: @@ -2716,7 +2728,7 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 599 "dhcp4_lexer.ll" +#line 597 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::KNOWN_CLIENTS: @@ -2728,7 +2740,7 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 608 "dhcp4_lexer.ll" +#line 606 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::KNOWN_CLIENTS: @@ -2741,7 +2753,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 618 "dhcp4_lexer.ll" +#line 616 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2753,7 +2765,7 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 627 "dhcp4_lexer.ll" +#line 625 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2766,7 +2778,7 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 637 "dhcp4_lexer.ll" +#line 635 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2778,7 +2790,7 @@ YY_RULE_SETUP YY_BREAK case 59: YY_RULE_SETUP -#line 646 "dhcp4_lexer.ll" +#line 644 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2790,7 +2802,7 @@ YY_RULE_SETUP YY_BREAK case 60: YY_RULE_SETUP -#line 655 "dhcp4_lexer.ll" +#line 653 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2802,7 +2814,7 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 664 "dhcp4_lexer.ll" +#line 662 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -2815,7 +2827,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 674 "dhcp4_lexer.ll" +#line 672 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -2827,7 +2839,7 @@ YY_RULE_SETUP YY_BREAK case 63: YY_RULE_SETUP -#line 683 "dhcp4_lexer.ll" +#line 681 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -2839,7 +2851,7 @@ YY_RULE_SETUP YY_BREAK case 64: YY_RULE_SETUP -#line 692 "dhcp4_lexer.ll" +#line 690 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -2851,7 +2863,7 @@ YY_RULE_SETUP YY_BREAK case 65: YY_RULE_SETUP -#line 701 "dhcp4_lexer.ll" +#line 699 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATION_MODE: @@ -2863,7 +2875,7 @@ YY_RULE_SETUP YY_BREAK case 66: YY_RULE_SETUP -#line 710 "dhcp4_lexer.ll" +#line 708 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -2876,7 +2888,7 @@ YY_RULE_SETUP YY_BREAK case 67: YY_RULE_SETUP -#line 720 "dhcp4_lexer.ll" +#line 718 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -2888,7 +2900,7 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 729 "dhcp4_lexer.ll" +#line 727 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -2900,7 +2912,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 738 "dhcp4_lexer.ll" +#line 736 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGING: @@ -2912,7 +2924,7 @@ YY_RULE_SETUP YY_BREAK case 70: YY_RULE_SETUP -#line 747 "dhcp4_lexer.ll" +#line 745 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -2924,7 +2936,7 @@ YY_RULE_SETUP YY_BREAK case 71: YY_RULE_SETUP -#line 756 "dhcp4_lexer.ll" +#line 754 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -2936,7 +2948,7 @@ YY_RULE_SETUP YY_BREAK case 72: YY_RULE_SETUP -#line 765 "dhcp4_lexer.ll" +#line 763 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -2948,7 +2960,7 @@ YY_RULE_SETUP YY_BREAK case 73: YY_RULE_SETUP -#line 774 "dhcp4_lexer.ll" +#line 772 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -2960,7 +2972,7 @@ YY_RULE_SETUP YY_BREAK case 74: YY_RULE_SETUP -#line 783 "dhcp4_lexer.ll" +#line 781 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -2972,7 +2984,7 @@ YY_RULE_SETUP YY_BREAK case 75: YY_RULE_SETUP -#line 792 "dhcp4_lexer.ll" +#line 790 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OUTPUT_OPTIONS: @@ -2984,7 +2996,7 @@ YY_RULE_SETUP YY_BREAK case 76: YY_RULE_SETUP -#line 801 "dhcp4_lexer.ll" +#line 799 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::LOGGERS: @@ -2996,7 +3008,7 @@ YY_RULE_SETUP YY_BREAK case 77: YY_RULE_SETUP -#line 810 "dhcp4_lexer.ll" +#line 808 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3009,7 +3021,21 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 820 "dhcp4_lexer.ll" +#line 818 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::SUBNET4: + case isc::dhcp::Parser4Context::POOLS: + case isc::dhcp::Parser4Context::SHARED_NETWORK: + return isc::dhcp::Dhcp4Parser::make_EVAL_CLIENT_CLASSES(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("eval-client-classes", driver.loc_); + } +} + YY_BREAK +case 79: +YY_RULE_SETUP +#line 829 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3022,22 +3048,33 @@ YY_RULE_SETUP } } YY_BREAK -case 79: +case 80: YY_RULE_SETUP -#line 832 "dhcp4_lexer.ll" +#line 841 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CLIENT_CLASSES: - case isc::dhcp::Parser4Context::CLIENT_CLASS: return isc::dhcp::Dhcp4Parser::make_TEST(driver.loc_); default: return isc::dhcp::Dhcp4Parser::make_STRING("test", driver.loc_); } } YY_BREAK -case 80: +case 81: +YY_RULE_SETUP +#line 850 "dhcp4_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser4Context::CLIENT_CLASSES: + return isc::dhcp::Dhcp4Parser::make_EVAL_ON_DEMAND(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("eval-on-demand", driver.loc_); + } +} + YY_BREAK +case 82: YY_RULE_SETUP -#line 842 "dhcp4_lexer.ll" +#line 859 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3047,9 +3084,9 @@ YY_RULE_SETUP } } YY_BREAK -case 81: +case 83: YY_RULE_SETUP -#line 851 "dhcp4_lexer.ll" +#line 868 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3060,9 +3097,9 @@ YY_RULE_SETUP } } YY_BREAK -case 82: +case 84: YY_RULE_SETUP -#line 861 "dhcp4_lexer.ll" +#line 878 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3073,9 +3110,9 @@ YY_RULE_SETUP } } YY_BREAK -case 83: +case 85: YY_RULE_SETUP -#line 871 "dhcp4_lexer.ll" +#line 888 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3086,9 +3123,9 @@ YY_RULE_SETUP } } YY_BREAK -case 84: +case 86: YY_RULE_SETUP -#line 881 "dhcp4_lexer.ll" +#line 898 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3099,9 +3136,9 @@ YY_RULE_SETUP } } YY_BREAK -case 85: +case 87: YY_RULE_SETUP -#line 891 "dhcp4_lexer.ll" +#line 908 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS: @@ -3112,9 +3149,9 @@ YY_RULE_SETUP } } YY_BREAK -case 86: +case 88: YY_RULE_SETUP -#line 901 "dhcp4_lexer.ll" +#line 918 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RESERVATIONS: @@ -3124,9 +3161,9 @@ YY_RULE_SETUP } } YY_BREAK -case 87: +case 89: YY_RULE_SETUP -#line 910 "dhcp4_lexer.ll" +#line 927 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3137,9 +3174,9 @@ YY_RULE_SETUP } } YY_BREAK -case 88: +case 90: YY_RULE_SETUP -#line 920 "dhcp4_lexer.ll" +#line 937 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DATA: @@ -3149,9 +3186,9 @@ YY_RULE_SETUP } } YY_BREAK -case 89: +case 91: YY_RULE_SETUP -#line 929 "dhcp4_lexer.ll" +#line 946 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3161,9 +3198,9 @@ YY_RULE_SETUP } } YY_BREAK -case 90: +case 92: YY_RULE_SETUP -#line 938 "dhcp4_lexer.ll" +#line 955 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3173,9 +3210,9 @@ YY_RULE_SETUP } } YY_BREAK -case 91: +case 93: YY_RULE_SETUP -#line 947 "dhcp4_lexer.ll" +#line 964 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::OPTION_DEF: @@ -3185,9 +3222,9 @@ YY_RULE_SETUP } } YY_BREAK -case 92: +case 94: YY_RULE_SETUP -#line 956 "dhcp4_lexer.ll" +#line 973 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3198,9 +3235,9 @@ YY_RULE_SETUP } } YY_BREAK -case 93: +case 95: YY_RULE_SETUP -#line 966 "dhcp4_lexer.ll" +#line 983 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::RELAY: @@ -3211,9 +3248,9 @@ YY_RULE_SETUP } } YY_BREAK -case 94: +case 96: YY_RULE_SETUP -#line 976 "dhcp4_lexer.ll" +#line 993 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3223,9 +3260,9 @@ YY_RULE_SETUP } } YY_BREAK -case 95: +case 97: YY_RULE_SETUP -#line 986 "dhcp4_lexer.ll" +#line 1003 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -3235,9 +3272,9 @@ YY_RULE_SETUP } } YY_BREAK -case 96: +case 98: YY_RULE_SETUP -#line 995 "dhcp4_lexer.ll" +#line 1012 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::HOOKS_LIBRARIES: @@ -3247,9 +3284,9 @@ YY_RULE_SETUP } } YY_BREAK -case 97: +case 99: YY_RULE_SETUP -#line 1004 "dhcp4_lexer.ll" +#line 1021 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3259,9 +3296,9 @@ YY_RULE_SETUP } } YY_BREAK -case 98: +case 100: YY_RULE_SETUP -#line 1013 "dhcp4_lexer.ll" +#line 1030 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3271,9 +3308,9 @@ YY_RULE_SETUP } } YY_BREAK -case 99: +case 101: YY_RULE_SETUP -#line 1022 "dhcp4_lexer.ll" +#line 1039 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3283,9 +3320,9 @@ YY_RULE_SETUP } } YY_BREAK -case 100: +case 102: YY_RULE_SETUP -#line 1031 "dhcp4_lexer.ll" +#line 1048 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3295,9 +3332,9 @@ YY_RULE_SETUP } } YY_BREAK -case 101: +case 103: YY_RULE_SETUP -#line 1040 "dhcp4_lexer.ll" +#line 1057 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3307,9 +3344,9 @@ YY_RULE_SETUP } } YY_BREAK -case 102: +case 104: YY_RULE_SETUP -#line 1049 "dhcp4_lexer.ll" +#line 1066 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3319,9 +3356,9 @@ YY_RULE_SETUP } } YY_BREAK -case 103: +case 105: YY_RULE_SETUP -#line 1058 "dhcp4_lexer.ll" +#line 1075 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING: @@ -3331,9 +3368,9 @@ YY_RULE_SETUP } } YY_BREAK -case 104: +case 106: YY_RULE_SETUP -#line 1067 "dhcp4_lexer.ll" +#line 1084 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3343,9 +3380,9 @@ YY_RULE_SETUP } } YY_BREAK -case 105: +case 107: YY_RULE_SETUP -#line 1076 "dhcp4_lexer.ll" +#line 1093 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3355,9 +3392,9 @@ YY_RULE_SETUP } } YY_BREAK -case 106: +case 108: YY_RULE_SETUP -#line 1085 "dhcp4_lexer.ll" +#line 1102 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -3367,9 +3404,9 @@ YY_RULE_SETUP } } YY_BREAK -case 107: +case 109: YY_RULE_SETUP -#line 1094 "dhcp4_lexer.ll" +#line 1111 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONTROL_SOCKET: @@ -3379,9 +3416,9 @@ YY_RULE_SETUP } } YY_BREAK -case 108: +case 110: YY_RULE_SETUP -#line 1103 "dhcp4_lexer.ll" +#line 1120 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3391,9 +3428,9 @@ YY_RULE_SETUP } } YY_BREAK -case 109: +case 111: YY_RULE_SETUP -#line 1112 "dhcp4_lexer.ll" +#line 1129 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3403,9 +3440,9 @@ YY_RULE_SETUP } } YY_BREAK -case 110: +case 112: YY_RULE_SETUP -#line 1121 "dhcp4_lexer.ll" +#line 1138 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3415,9 +3452,9 @@ YY_RULE_SETUP } } YY_BREAK -case 111: +case 113: YY_RULE_SETUP -#line 1130 "dhcp4_lexer.ll" +#line 1147 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3427,9 +3464,9 @@ YY_RULE_SETUP } } YY_BREAK -case 112: +case 114: YY_RULE_SETUP -#line 1139 "dhcp4_lexer.ll" +#line 1156 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3439,9 +3476,9 @@ YY_RULE_SETUP } } YY_BREAK -case 113: +case 115: YY_RULE_SETUP -#line 1148 "dhcp4_lexer.ll" +#line 1165 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3451,9 +3488,9 @@ YY_RULE_SETUP } } YY_BREAK -case 114: +case 116: YY_RULE_SETUP -#line 1157 "dhcp4_lexer.ll" +#line 1174 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3463,9 +3500,9 @@ YY_RULE_SETUP } } YY_BREAK -case 115: +case 117: YY_RULE_SETUP -#line 1166 "dhcp4_lexer.ll" +#line 1183 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3475,9 +3512,9 @@ YY_RULE_SETUP } } YY_BREAK -case 116: +case 118: YY_RULE_SETUP -#line 1175 "dhcp4_lexer.ll" +#line 1192 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3487,9 +3524,9 @@ YY_RULE_SETUP } } YY_BREAK -case 117: +case 119: YY_RULE_SETUP -#line 1184 "dhcp4_lexer.ll" +#line 1201 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3499,9 +3536,9 @@ YY_RULE_SETUP } } YY_BREAK -case 118: +case 120: YY_RULE_SETUP -#line 1193 "dhcp4_lexer.ll" +#line 1210 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3511,9 +3548,9 @@ YY_RULE_SETUP } } YY_BREAK -case 119: +case 121: YY_RULE_SETUP -#line 1202 "dhcp4_lexer.ll" +#line 1219 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3523,9 +3560,9 @@ YY_RULE_SETUP } } YY_BREAK -case 120: +case 122: YY_RULE_SETUP -#line 1211 "dhcp4_lexer.ll" +#line 1228 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3535,9 +3572,9 @@ YY_RULE_SETUP } } YY_BREAK -case 121: +case 123: YY_RULE_SETUP -#line 1220 "dhcp4_lexer.ll" +#line 1237 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3547,9 +3584,9 @@ YY_RULE_SETUP } } YY_BREAK -case 122: +case 124: YY_RULE_SETUP -#line 1229 "dhcp4_lexer.ll" +#line 1246 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP_DDNS: @@ -3559,9 +3596,9 @@ YY_RULE_SETUP } } YY_BREAK -case 123: +case 125: YY_RULE_SETUP -#line 1238 "dhcp4_lexer.ll" +#line 1255 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -3572,9 +3609,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 124: +case 126: YY_RULE_SETUP -#line 1248 "dhcp4_lexer.ll" +#line 1265 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) { @@ -3585,9 +3622,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 125: +case 127: YY_RULE_SETUP -#line 1258 "dhcp4_lexer.ll" +#line 1275 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) { @@ -3598,9 +3635,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 126: +case 128: YY_RULE_SETUP -#line 1268 "dhcp4_lexer.ll" +#line 1285 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3611,9 +3648,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 127: +case 129: YY_RULE_SETUP -#line 1278 "dhcp4_lexer.ll" +#line 1295 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3624,9 +3661,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 128: +case 130: YY_RULE_SETUP -#line 1288 "dhcp4_lexer.ll" +#line 1305 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3637,9 +3674,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 129: +case 131: YY_RULE_SETUP -#line 1298 "dhcp4_lexer.ll" +#line 1315 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3650,9 +3687,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 130: +case 132: YY_RULE_SETUP -#line 1308 "dhcp4_lexer.ll" +#line 1325 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3663,9 +3700,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 131: +case 133: YY_RULE_SETUP -#line 1318 "dhcp4_lexer.ll" +#line 1335 "dhcp4_lexer.ll" { /* dhcp-ddns value keywords are case insensitive */ if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) { @@ -3676,9 +3713,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(tmp, driver.loc_); } YY_BREAK -case 132: +case 134: YY_RULE_SETUP -#line 1328 "dhcp4_lexer.ll" +#line 1345 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -3688,9 +3725,9 @@ YY_RULE_SETUP } } YY_BREAK -case 133: +case 135: YY_RULE_SETUP -#line 1337 "dhcp4_lexer.ll" +#line 1354 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -3700,9 +3737,9 @@ YY_RULE_SETUP } } YY_BREAK -case 134: +case 136: YY_RULE_SETUP -#line 1346 "dhcp4_lexer.ll" +#line 1363 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::CONFIG: @@ -3712,9 +3749,9 @@ YY_RULE_SETUP } } YY_BREAK -case 135: +case 137: YY_RULE_SETUP -#line 1355 "dhcp4_lexer.ll" +#line 1372 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3724,9 +3761,9 @@ YY_RULE_SETUP } } YY_BREAK -case 136: +case 138: YY_RULE_SETUP -#line 1364 "dhcp4_lexer.ll" +#line 1381 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3736,9 +3773,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 139: YY_RULE_SETUP -#line 1373 "dhcp4_lexer.ll" +#line 1390 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::SUBNET4: @@ -3748,9 +3785,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 140: YY_RULE_SETUP -#line 1382 "dhcp4_lexer.ll" +#line 1399 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3760,9 +3797,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 141: YY_RULE_SETUP -#line 1391 "dhcp4_lexer.ll" +#line 1408 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3774,9 +3811,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 142: YY_RULE_SETUP -#line 1402 "dhcp4_lexer.ll" +#line 1419 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3790,9 +3827,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 143: YY_RULE_SETUP -#line 1415 "dhcp4_lexer.ll" +#line 1432 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3806,9 +3843,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 144: YY_RULE_SETUP -#line 1428 "dhcp4_lexer.ll" +#line 1445 "dhcp4_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser4Context::DHCP4: @@ -3822,9 +3859,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 145: YY_RULE_SETUP -#line 1443 "dhcp4_lexer.ll" +#line 1460 "dhcp4_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. @@ -3923,65 +3960,65 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 144: -/* rule 144 can match eol */ +case 146: +/* rule 146 can match eol */ YY_RULE_SETUP -#line 1541 "dhcp4_lexer.ll" +#line 1558 "dhcp4_lexer.ll" { /* Bad string with a forbidden control character inside */ driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK -case 145: -/* rule 145 can match eol */ +case 147: +/* rule 147 can match eol */ YY_RULE_SETUP -#line 1546 "dhcp4_lexer.ll" +#line 1563 "dhcp4_lexer.ll" { /* Bad string with a bad escape inside */ driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK -case 146: +case 148: YY_RULE_SETUP -#line 1551 "dhcp4_lexer.ll" +#line 1568 "dhcp4_lexer.ll" { /* Bad string with an open escape at the end */ driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); } YY_BREAK -case 147: +case 149: YY_RULE_SETUP -#line 1556 "dhcp4_lexer.ll" +#line 1573 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 148: +case 150: YY_RULE_SETUP -#line 1557 "dhcp4_lexer.ll" +#line 1574 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 149: +case 151: YY_RULE_SETUP -#line 1558 "dhcp4_lexer.ll" +#line 1575 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 150: +case 152: YY_RULE_SETUP -#line 1559 "dhcp4_lexer.ll" +#line 1576 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 151: +case 153: YY_RULE_SETUP -#line 1560 "dhcp4_lexer.ll" +#line 1577 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); } YY_BREAK -case 152: +case 154: YY_RULE_SETUP -#line 1561 "dhcp4_lexer.ll" +#line 1578 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); } YY_BREAK -case 153: +case 155: YY_RULE_SETUP -#line 1563 "dhcp4_lexer.ll" +#line 1580 "dhcp4_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -4000,9 +4037,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 154: +case 156: YY_RULE_SETUP -#line 1581 "dhcp4_lexer.ll" +#line 1598 "dhcp4_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -4016,43 +4053,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp4Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 155: +case 157: YY_RULE_SETUP -#line 1594 "dhcp4_lexer.ll" +#line 1611 "dhcp4_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 156: +case 158: YY_RULE_SETUP -#line 1599 "dhcp4_lexer.ll" +#line 1616 "dhcp4_lexer.ll" { return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 157: +case 159: YY_RULE_SETUP -#line 1603 "dhcp4_lexer.ll" +#line 1620 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 158: +case 160: YY_RULE_SETUP -#line 1605 "dhcp4_lexer.ll" +#line 1622 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 159: +case 161: YY_RULE_SETUP -#line 1607 "dhcp4_lexer.ll" +#line 1624 "dhcp4_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 160: +case 162: YY_RULE_SETUP -#line 1609 "dhcp4_lexer.ll" +#line 1626 "dhcp4_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 1611 "dhcp4_lexer.ll" +#line 1628 "dhcp4_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp4Parser::make_END(driver.loc_); @@ -4076,12 +4113,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 161: +case 163: YY_RULE_SETUP -#line 1634 "dhcp4_lexer.ll" +#line 1651 "dhcp4_lexer.ll" ECHO; YY_BREAK -#line 4084 "dhcp4_lexer.cc" +#line 4121 "dhcp4_lexer.cc" case YY_END_OF_BUFFER: { @@ -4400,7 +4437,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 >= 1307 ) + if ( yy_current_state >= 1336 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -4433,11 +4470,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 >= 1307 ) + if ( yy_current_state >= 1336 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1306); + yy_is_jam = (yy_current_state == 1335); return yy_is_jam ? 0 : yy_current_state; } @@ -5186,7 +5223,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 1634 "dhcp4_lexer.ll" +#line 1651 "dhcp4_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp4/dhcp4_parser.cc b/src/bin/dhcp4/dhcp4_parser.cc index 2ba542bbe0..d69aa47e56 100644 --- a/src/bin/dhcp4/dhcp4_parser.cc +++ b/src/bin/dhcp4/dhcp4_parser.cc @@ -253,31 +253,31 @@ namespace isc { namespace dhcp { { switch (that.type_get ()) { - case 166: // value - case 170: // map_value - case 208: // socket_type - case 211: // outbound_interface_value - case 221: // db_type - case 298: // hr_mode - case 369: // known_clients_value - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 168: // value + case 172: // map_value + case 210: // socket_type + case 213: // outbound_interface_value + case 223: // db_type + case 302: // hr_mode + case 373: // known_clients_value + case 450: // ncr_protocol_value + case 458: // replace_client_name_value value.move< ElementPtr > (that.value); break; - case 151: // "boolean" + case 153: // "boolean" value.move< bool > (that.value); break; - case 150: // "floating point" + case 152: // "floating point" value.move< double > (that.value); break; - case 149: // "integer" + case 151: // "integer" value.move< int64_t > (that.value); break; - case 148: // "constant string" + case 150: // "constant string" value.move< std::string > (that.value); break; @@ -296,31 +296,31 @@ namespace isc { namespace dhcp { state = that.state; switch (that.type_get ()) { - case 166: // value - case 170: // map_value - case 208: // socket_type - case 211: // outbound_interface_value - case 221: // db_type - case 298: // hr_mode - case 369: // known_clients_value - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 168: // value + case 172: // map_value + case 210: // socket_type + case 213: // outbound_interface_value + case 223: // db_type + case 302: // hr_mode + case 373: // known_clients_value + case 450: // ncr_protocol_value + case 458: // replace_client_name_value value.copy< ElementPtr > (that.value); break; - case 151: // "boolean" + case 153: // "boolean" value.copy< bool > (that.value); break; - case 150: // "floating point" + case 152: // "floating point" value.copy< double > (that.value); break; - case 149: // "integer" + case 151: // "integer" value.copy< int64_t > (that.value); break; - case 148: // "constant string" + case 150: // "constant string" value.copy< std::string > (that.value); break; @@ -360,93 +360,93 @@ namespace isc { namespace dhcp { << yysym.location << ": "; switch (yytype) { - case 148: // "constant string" + case 150: // "constant string" -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< std::string > (); } #line 368 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 149: // "integer" + case 151: // "integer" -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< int64_t > (); } #line 375 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 150: // "floating point" + case 152: // "floating point" -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< double > (); } #line 382 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 151: // "boolean" + case 153: // "boolean" -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< bool > (); } #line 389 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 166: // value + case 168: // value -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 396 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 170: // map_value + case 172: // map_value -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 403 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 208: // socket_type + case 210: // socket_type -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 410 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 211: // outbound_interface_value + case 213: // outbound_interface_value -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 417 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 221: // db_type + case 223: // db_type -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 424 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 298: // hr_mode + case 302: // hr_mode -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 431 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 369: // known_clients_value + case 373: // known_clients_value -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 438 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 445: // ncr_protocol_value + case 450: // ncr_protocol_value -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 445 "dhcp4_parser.cc" // lalr1.cc:636 break; - case 453: // replace_client_name_value + case 458: // replace_client_name_value -#line 227 "dhcp4_parser.yy" // lalr1.cc:636 +#line 229 "dhcp4_parser.yy" // lalr1.cc:636 { yyoutput << yysym.value.template as< ElementPtr > (); } #line 452 "dhcp4_parser.cc" // lalr1.cc:636 break; @@ -648,31 +648,31 @@ namespace isc { namespace dhcp { when using variants. */ switch (yyr1_[yyn]) { - case 166: // value - case 170: // map_value - case 208: // socket_type - case 211: // outbound_interface_value - case 221: // db_type - case 298: // hr_mode - case 369: // known_clients_value - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 168: // value + case 172: // map_value + case 210: // socket_type + case 213: // outbound_interface_value + case 223: // db_type + case 302: // hr_mode + case 373: // known_clients_value + case 450: // ncr_protocol_value + case 458: // replace_client_name_value yylhs.value.build< ElementPtr > (); break; - case 151: // "boolean" + case 153: // "boolean" yylhs.value.build< bool > (); break; - case 150: // "floating point" + case 152: // "floating point" yylhs.value.build< double > (); break; - case 149: // "integer" + case 151: // "integer" yylhs.value.build< int64_t > (); break; - case 148: // "constant string" + case 150: // "constant string" yylhs.value.build< std::string > (); break; @@ -694,121 +694,121 @@ namespace isc { namespace dhcp { switch (yyn) { case 2: -#line 236 "dhcp4_parser.yy" // lalr1.cc:859 +#line 238 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.NO_KEYWORD; } #line 700 "dhcp4_parser.cc" // lalr1.cc:859 break; case 4: -#line 237 "dhcp4_parser.yy" // lalr1.cc:859 +#line 239 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.CONFIG; } #line 706 "dhcp4_parser.cc" // lalr1.cc:859 break; case 6: -#line 238 "dhcp4_parser.yy" // lalr1.cc:859 +#line 240 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP4; } #line 712 "dhcp4_parser.cc" // lalr1.cc:859 break; case 8: -#line 239 "dhcp4_parser.yy" // lalr1.cc:859 +#line 241 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.INTERFACES_CONFIG; } #line 718 "dhcp4_parser.cc" // lalr1.cc:859 break; case 10: -#line 240 "dhcp4_parser.yy" // lalr1.cc:859 +#line 242 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.SUBNET4; } #line 724 "dhcp4_parser.cc" // lalr1.cc:859 break; case 12: -#line 241 "dhcp4_parser.yy" // lalr1.cc:859 +#line 243 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.POOLS; } #line 730 "dhcp4_parser.cc" // lalr1.cc:859 break; case 14: -#line 242 "dhcp4_parser.yy" // lalr1.cc:859 +#line 244 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.RESERVATIONS; } #line 736 "dhcp4_parser.cc" // lalr1.cc:859 break; case 16: -#line 243 "dhcp4_parser.yy" // lalr1.cc:859 +#line 245 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP4; } #line 742 "dhcp4_parser.cc" // lalr1.cc:859 break; case 18: -#line 244 "dhcp4_parser.yy" // lalr1.cc:859 +#line 246 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DEF; } #line 748 "dhcp4_parser.cc" // lalr1.cc:859 break; case 20: -#line 245 "dhcp4_parser.yy" // lalr1.cc:859 +#line 247 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.OPTION_DATA; } #line 754 "dhcp4_parser.cc" // lalr1.cc:859 break; case 22: -#line 246 "dhcp4_parser.yy" // lalr1.cc:859 +#line 248 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.HOOKS_LIBRARIES; } #line 760 "dhcp4_parser.cc" // lalr1.cc:859 break; case 24: -#line 247 "dhcp4_parser.yy" // lalr1.cc:859 +#line 249 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.ctx_ = ctx.DHCP_DDNS; } #line 766 "dhcp4_parser.cc" // lalr1.cc:859 break; case 26: -#line 255 "dhcp4_parser.yy" // lalr1.cc:859 +#line 257 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); } #line 772 "dhcp4_parser.cc" // lalr1.cc:859 break; case 27: -#line 256 "dhcp4_parser.yy" // lalr1.cc:859 +#line 258 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new DoubleElement(yystack_[0].value.as< double > (), ctx.loc2pos(yystack_[0].location))); } #line 778 "dhcp4_parser.cc" // lalr1.cc:859 break; case 28: -#line 257 "dhcp4_parser.yy" // lalr1.cc:859 +#line 259 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); } #line 784 "dhcp4_parser.cc" // lalr1.cc:859 break; case 29: -#line 258 "dhcp4_parser.yy" // lalr1.cc:859 +#line 260 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); } #line 790 "dhcp4_parser.cc" // lalr1.cc:859 break; case 30: -#line 259 "dhcp4_parser.yy" // lalr1.cc:859 +#line 261 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new NullElement(ctx.loc2pos(yystack_[0].location))); } #line 796 "dhcp4_parser.cc" // lalr1.cc:859 break; case 31: -#line 260 "dhcp4_parser.yy" // lalr1.cc:859 +#line 262 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 802 "dhcp4_parser.cc" // lalr1.cc:859 break; case 32: -#line 261 "dhcp4_parser.yy" // lalr1.cc:859 +#line 263 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 808 "dhcp4_parser.cc" // lalr1.cc:859 break; case 33: -#line 264 "dhcp4_parser.yy" // lalr1.cc:859 +#line 266 "dhcp4_parser.yy" // lalr1.cc:859 { // Push back the JSON value on the stack ctx.stack_.push_back(yystack_[0].value.as< ElementPtr > ()); @@ -817,7 +817,7 @@ namespace isc { namespace dhcp { break; case 34: -#line 269 "dhcp4_parser.yy" // lalr1.cc:859 +#line 271 "dhcp4_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@ -828,7 +828,7 @@ namespace isc { namespace dhcp { break; case 35: -#line 274 "dhcp4_parser.yy" // lalr1.cc:859 +#line 276 "dhcp4_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 @@ -838,13 +838,13 @@ namespace isc { namespace dhcp { break; case 36: -#line 280 "dhcp4_parser.yy" // lalr1.cc:859 +#line 282 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ctx.stack_.back(); ctx.stack_.pop_back(); } #line 844 "dhcp4_parser.cc" // lalr1.cc:859 break; case 39: -#line 287 "dhcp4_parser.yy" // lalr1.cc:859 +#line 289 "dhcp4_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 > ()); @@ -853,7 +853,7 @@ namespace isc { namespace dhcp { break; case 40: -#line 291 "dhcp4_parser.yy" // lalr1.cc:859 +#line 293 "dhcp4_parser.yy" // lalr1.cc:859 { // map consisting of a shorter map followed by // comma and string:value @@ -863,7 +863,7 @@ namespace isc { namespace dhcp { break; case 41: -#line 298 "dhcp4_parser.yy" // lalr1.cc:859 +#line 300 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(l); @@ -872,7 +872,7 @@ namespace isc { namespace dhcp { break; case 42: -#line 301 "dhcp4_parser.yy" // lalr1.cc:859 +#line 303 "dhcp4_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here } @@ -880,7 +880,7 @@ namespace isc { namespace dhcp { break; case 45: -#line 309 "dhcp4_parser.yy" // lalr1.cc:859 +#line 311 "dhcp4_parser.yy" // lalr1.cc:859 { // List consisting of a single element. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); @@ -889,7 +889,7 @@ namespace isc { namespace dhcp { break; case 46: -#line 313 "dhcp4_parser.yy" // lalr1.cc:859 +#line 315 "dhcp4_parser.yy" // lalr1.cc:859 { // List ending with , and a value. ctx.stack_.back()->add(yystack_[0].value.as< ElementPtr > ()); @@ -898,7 +898,7 @@ namespace isc { namespace dhcp { break; case 47: -#line 320 "dhcp4_parser.yy" // lalr1.cc:859 +#line 322 "dhcp4_parser.yy" // lalr1.cc:859 { // List parsing about to start } @@ -906,7 +906,7 @@ namespace isc { namespace dhcp { break; case 48: -#line 322 "dhcp4_parser.yy" // lalr1.cc:859 +#line 324 "dhcp4_parser.yy" // lalr1.cc:859 { // list parsing complete. Put any sanity checking here //ctx.stack_.pop_back(); @@ -915,7 +915,7 @@ namespace isc { namespace dhcp { break; case 51: -#line 331 "dhcp4_parser.yy" // lalr1.cc:859 +#line 333 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -924,7 +924,7 @@ namespace isc { namespace dhcp { break; case 52: -#line 335 "dhcp4_parser.yy" // lalr1.cc:859 +#line 337 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(s); @@ -933,7 +933,7 @@ namespace isc { namespace dhcp { break; case 53: -#line 346 "dhcp4_parser.yy" // lalr1.cc:859 +#line 348 "dhcp4_parser.yy" // lalr1.cc:859 { const std::string& where = ctx.contextName(); const std::string& keyword = yystack_[1].value.as< std::string > (); @@ -944,7 +944,7 @@ namespace isc { namespace dhcp { break; case 54: -#line 356 "dhcp4_parser.yy" // lalr1.cc:859 +#line 358 "dhcp4_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@ -955,7 +955,7 @@ namespace isc { namespace dhcp { break; case 55: -#line 361 "dhcp4_parser.yy" // lalr1.cc:859 +#line 363 "dhcp4_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 @@ -968,7 +968,7 @@ namespace isc { namespace dhcp { break; case 64: -#line 385 "dhcp4_parser.yy" // lalr1.cc:859 +#line 387 "dhcp4_parser.yy" // lalr1.cc:859 { // This code is executed when we're about to start parsing // the content of the map @@ -981,7 +981,7 @@ namespace isc { namespace dhcp { break; case 65: -#line 392 "dhcp4_parser.yy" // lalr1.cc:859 +#line 394 "dhcp4_parser.yy" // lalr1.cc:859 { // No global parameter is required ctx.stack_.pop_back(); @@ -991,7 +991,7 @@ namespace isc { namespace dhcp { break; case 66: -#line 400 "dhcp4_parser.yy" // lalr1.cc:859 +#line 402 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the Dhcp4 map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1001,7 +1001,7 @@ namespace isc { namespace dhcp { break; case 67: -#line 404 "dhcp4_parser.yy" // lalr1.cc:859 +#line 406 "dhcp4_parser.yy" // lalr1.cc:859 { // No global parameter is required // parsing completed @@ -1010,7 +1010,7 @@ namespace isc { namespace dhcp { break; case 94: -#line 441 "dhcp4_parser.yy" // lalr1.cc:859 +#line 443 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("valid-lifetime", prf); @@ -1019,7 +1019,7 @@ namespace isc { namespace dhcp { break; case 95: -#line 446 "dhcp4_parser.yy" // lalr1.cc:859 +#line 448 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("renew-timer", prf); @@ -1028,7 +1028,7 @@ namespace isc { namespace dhcp { break; case 96: -#line 451 "dhcp4_parser.yy" // lalr1.cc:859 +#line 453 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rebind-timer", prf); @@ -1037,7 +1037,7 @@ namespace isc { namespace dhcp { break; case 97: -#line 456 "dhcp4_parser.yy" // lalr1.cc:859 +#line 458 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr dpp(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("decline-probation-period", dpp); @@ -1046,7 +1046,7 @@ namespace isc { namespace dhcp { break; case 98: -#line 461 "dhcp4_parser.yy" // lalr1.cc:859 +#line 463 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr echo(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("echo-client-id", echo); @@ -1055,7 +1055,7 @@ namespace isc { namespace dhcp { break; case 99: -#line 466 "dhcp4_parser.yy" // lalr1.cc:859 +#line 468 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr match(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("match-client-id", match); @@ -1064,7 +1064,7 @@ namespace isc { namespace dhcp { break; case 100: -#line 472 "dhcp4_parser.yy" // lalr1.cc:859 +#line 474 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces-config", i); @@ -1075,7 +1075,7 @@ namespace isc { namespace dhcp { break; case 101: -#line 477 "dhcp4_parser.yy" // lalr1.cc:859 +#line 479 "dhcp4_parser.yy" // lalr1.cc:859 { // No interfaces config param is required ctx.stack_.pop_back(); @@ -1085,7 +1085,7 @@ namespace isc { namespace dhcp { break; case 108: -#line 493 "dhcp4_parser.yy" // lalr1.cc:859 +#line 495 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the interfaces-config map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1095,7 +1095,7 @@ namespace isc { namespace dhcp { break; case 109: -#line 497 "dhcp4_parser.yy" // lalr1.cc:859 +#line 499 "dhcp4_parser.yy" // lalr1.cc:859 { // No interfaces config param is required // parsing completed @@ -1104,7 +1104,7 @@ namespace isc { namespace dhcp { break; case 110: -#line 502 "dhcp4_parser.yy" // lalr1.cc:859 +#line 504 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interfaces", l); @@ -1115,7 +1115,7 @@ namespace isc { namespace dhcp { break; case 111: -#line 507 "dhcp4_parser.yy" // lalr1.cc:859 +#line 509 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@ -1124,7 +1124,7 @@ namespace isc { namespace dhcp { break; case 112: -#line 512 "dhcp4_parser.yy" // lalr1.cc:859 +#line 514 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.DHCP_SOCKET_TYPE); } @@ -1132,7 +1132,7 @@ namespace isc { namespace dhcp { break; case 113: -#line 514 "dhcp4_parser.yy" // lalr1.cc:859 +#line 516 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("dhcp-socket-type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); @@ -1141,19 +1141,19 @@ namespace isc { namespace dhcp { break; case 114: -#line 519 "dhcp4_parser.yy" // lalr1.cc:859 +#line 521 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("raw", ctx.loc2pos(yystack_[0].location))); } #line 1147 "dhcp4_parser.cc" // lalr1.cc:859 break; case 115: -#line 520 "dhcp4_parser.yy" // lalr1.cc:859 +#line 522 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("udp", ctx.loc2pos(yystack_[0].location))); } #line 1153 "dhcp4_parser.cc" // lalr1.cc:859 break; case 116: -#line 523 "dhcp4_parser.yy" // lalr1.cc:859 +#line 525 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.OUTBOUND_INTERFACE); } @@ -1161,7 +1161,7 @@ namespace isc { namespace dhcp { break; case 117: -#line 525 "dhcp4_parser.yy" // lalr1.cc:859 +#line 527 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("outbound-interface", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); @@ -1170,7 +1170,7 @@ namespace isc { namespace dhcp { break; case 118: -#line 530 "dhcp4_parser.yy" // lalr1.cc:859 +#line 532 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("same-as-inbound", ctx.loc2pos(yystack_[0].location))); } @@ -1178,7 +1178,7 @@ namespace isc { namespace dhcp { break; case 119: -#line 532 "dhcp4_parser.yy" // lalr1.cc:859 +#line 534 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("use-routing", ctx.loc2pos(yystack_[0].location))); } @@ -1186,7 +1186,7 @@ namespace isc { namespace dhcp { break; case 120: -#line 536 "dhcp4_parser.yy" // lalr1.cc:859 +#line 538 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("re-detect", b); @@ -1195,7 +1195,7 @@ namespace isc { namespace dhcp { break; case 121: -#line 542 "dhcp4_parser.yy" // lalr1.cc:859 +#line 544 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lease-database", i); @@ -1206,7 +1206,7 @@ namespace isc { namespace dhcp { break; case 122: -#line 547 "dhcp4_parser.yy" // lalr1.cc:859 +#line 549 "dhcp4_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1217,7 +1217,7 @@ namespace isc { namespace dhcp { break; case 123: -#line 554 "dhcp4_parser.yy" // lalr1.cc:859 +#line 556 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hosts-database", i); @@ -1228,7 +1228,7 @@ namespace isc { namespace dhcp { break; case 124: -#line 559 "dhcp4_parser.yy" // lalr1.cc:859 +#line 561 "dhcp4_parser.yy" // lalr1.cc:859 { // The type parameter is required ctx.require("type", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); @@ -1239,7 +1239,7 @@ namespace isc { namespace dhcp { break; case 140: -#line 585 "dhcp4_parser.yy" // lalr1.cc:859 +#line 587 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.DATABASE_TYPE); } @@ -1247,7 +1247,7 @@ namespace isc { namespace dhcp { break; case 141: -#line 587 "dhcp4_parser.yy" // lalr1.cc:859 +#line 589 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("type", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); @@ -1256,31 +1256,31 @@ namespace isc { namespace dhcp { break; case 142: -#line 592 "dhcp4_parser.yy" // lalr1.cc:859 +#line 594 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("memfile", ctx.loc2pos(yystack_[0].location))); } #line 1262 "dhcp4_parser.cc" // lalr1.cc:859 break; case 143: -#line 593 "dhcp4_parser.yy" // lalr1.cc:859 +#line 595 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("mysql", ctx.loc2pos(yystack_[0].location))); } #line 1268 "dhcp4_parser.cc" // lalr1.cc:859 break; case 144: -#line 594 "dhcp4_parser.yy" // lalr1.cc:859 +#line 596 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("postgresql", ctx.loc2pos(yystack_[0].location))); } #line 1274 "dhcp4_parser.cc" // lalr1.cc:859 break; case 145: -#line 595 "dhcp4_parser.yy" // lalr1.cc:859 +#line 597 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("cql", ctx.loc2pos(yystack_[0].location))); } #line 1280 "dhcp4_parser.cc" // lalr1.cc:859 break; case 146: -#line 598 "dhcp4_parser.yy" // lalr1.cc:859 +#line 600 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } @@ -1288,7 +1288,7 @@ namespace isc { namespace dhcp { break; case 147: -#line 600 "dhcp4_parser.yy" // lalr1.cc:859 +#line 602 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr user(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("user", user); @@ -1298,7 +1298,7 @@ namespace isc { namespace dhcp { break; case 148: -#line 606 "dhcp4_parser.yy" // lalr1.cc:859 +#line 608 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } @@ -1306,7 +1306,7 @@ namespace isc { namespace dhcp { break; case 149: -#line 608 "dhcp4_parser.yy" // lalr1.cc:859 +#line 610 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr pwd(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("password", pwd); @@ -1316,7 +1316,7 @@ namespace isc { namespace dhcp { break; case 150: -#line 614 "dhcp4_parser.yy" // lalr1.cc:859 +#line 616 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } @@ -1324,7 +1324,7 @@ namespace isc { namespace dhcp { break; case 151: -#line 616 "dhcp4_parser.yy" // lalr1.cc:859 +#line 618 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr h(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host", h); @@ -1334,7 +1334,7 @@ namespace isc { namespace dhcp { break; case 152: -#line 622 "dhcp4_parser.yy" // lalr1.cc:859 +#line 624 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr p(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("port", p); @@ -1343,7 +1343,7 @@ namespace isc { namespace dhcp { break; case 153: -#line 627 "dhcp4_parser.yy" // lalr1.cc:859 +#line 629 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } @@ -1351,7 +1351,7 @@ namespace isc { namespace dhcp { break; case 154: -#line 629 "dhcp4_parser.yy" // lalr1.cc:859 +#line 631 "dhcp4_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); @@ -1361,7 +1361,7 @@ namespace isc { namespace dhcp { break; case 155: -#line 635 "dhcp4_parser.yy" // lalr1.cc:859 +#line 637 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("persist", n); @@ -1370,7 +1370,7 @@ namespace isc { namespace dhcp { break; case 156: -#line 640 "dhcp4_parser.yy" // lalr1.cc:859 +#line 642 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("lfc-interval", n); @@ -1379,7 +1379,7 @@ namespace isc { namespace dhcp { break; case 157: -#line 645 "dhcp4_parser.yy" // lalr1.cc:859 +#line 647 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("readonly", n); @@ -1388,7 +1388,7 @@ namespace isc { namespace dhcp { break; case 158: -#line 650 "dhcp4_parser.yy" // lalr1.cc:859 +#line 652 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr n(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("connect-timeout", n); @@ -1397,7 +1397,7 @@ namespace isc { namespace dhcp { break; case 159: -#line 655 "dhcp4_parser.yy" // lalr1.cc:859 +#line 657 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } @@ -1405,7 +1405,7 @@ namespace isc { namespace dhcp { break; case 160: -#line 657 "dhcp4_parser.yy" // lalr1.cc:859 +#line 659 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr cp(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("contact-points", cp); @@ -1415,7 +1415,7 @@ namespace isc { namespace dhcp { break; case 161: -#line 663 "dhcp4_parser.yy" // lalr1.cc:859 +#line 665 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } @@ -1423,7 +1423,7 @@ namespace isc { namespace dhcp { break; case 162: -#line 665 "dhcp4_parser.yy" // lalr1.cc:859 +#line 667 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr ks(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("keyspace", ks); @@ -1433,7 +1433,7 @@ namespace isc { namespace dhcp { break; case 163: -#line 672 "dhcp4_parser.yy" // lalr1.cc:859 +#line 674 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("host-reservation-identifiers", l); @@ -1444,7 +1444,7 @@ namespace isc { namespace dhcp { break; case 164: -#line 677 "dhcp4_parser.yy" // lalr1.cc:859 +#line 679 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@ -1453,7 +1453,7 @@ namespace isc { namespace dhcp { break; case 172: -#line 693 "dhcp4_parser.yy" // lalr1.cc:859 +#line 695 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr duid(new StringElement("duid", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(duid); @@ -1462,7 +1462,7 @@ namespace isc { namespace dhcp { break; case 173: -#line 698 "dhcp4_parser.yy" // lalr1.cc:859 +#line 700 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr hwaddr(new StringElement("hw-address", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(hwaddr); @@ -1471,7 +1471,7 @@ namespace isc { namespace dhcp { break; case 174: -#line 703 "dhcp4_parser.yy" // lalr1.cc:859 +#line 705 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr circuit(new StringElement("circuit-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(circuit); @@ -1480,7 +1480,7 @@ namespace isc { namespace dhcp { break; case 175: -#line 708 "dhcp4_parser.yy" // lalr1.cc:859 +#line 710 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr client(new StringElement("client-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(client); @@ -1489,7 +1489,7 @@ namespace isc { namespace dhcp { break; case 176: -#line 713 "dhcp4_parser.yy" // lalr1.cc:859 +#line 715 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr flex_id(new StringElement("flex-id", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(flex_id); @@ -1498,7 +1498,7 @@ namespace isc { namespace dhcp { break; case 177: -#line 718 "dhcp4_parser.yy" // lalr1.cc:859 +#line 720 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hooks-libraries", l); @@ -1509,7 +1509,7 @@ namespace isc { namespace dhcp { break; case 178: -#line 723 "dhcp4_parser.yy" // lalr1.cc:859 +#line 725 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@ -1518,7 +1518,7 @@ namespace isc { namespace dhcp { break; case 183: -#line 736 "dhcp4_parser.yy" // lalr1.cc:859 +#line 738 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -1528,7 +1528,7 @@ namespace isc { namespace dhcp { break; case 184: -#line 740 "dhcp4_parser.yy" // lalr1.cc:859 +#line 742 "dhcp4_parser.yy" // lalr1.cc:859 { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1538,7 +1538,7 @@ namespace isc { namespace dhcp { break; case 185: -#line 746 "dhcp4_parser.yy" // lalr1.cc:859 +#line 748 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the hooks-libraries list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1548,7 +1548,7 @@ namespace isc { namespace dhcp { break; case 186: -#line 750 "dhcp4_parser.yy" // lalr1.cc:859 +#line 752 "dhcp4_parser.yy" // lalr1.cc:859 { // The library hooks parameter is required ctx.require("library", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1558,7 +1558,7 @@ namespace isc { namespace dhcp { break; case 192: -#line 765 "dhcp4_parser.yy" // lalr1.cc:859 +#line 767 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } @@ -1566,7 +1566,7 @@ namespace isc { namespace dhcp { break; case 193: -#line 767 "dhcp4_parser.yy" // lalr1.cc:859 +#line 769 "dhcp4_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); @@ -1576,7 +1576,7 @@ namespace isc { namespace dhcp { break; case 194: -#line 773 "dhcp4_parser.yy" // lalr1.cc:859 +#line 775 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } @@ -1584,7 +1584,7 @@ namespace isc { namespace dhcp { break; case 195: -#line 775 "dhcp4_parser.yy" // lalr1.cc:859 +#line 777 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("parameters", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); @@ -1593,7 +1593,7 @@ namespace isc { namespace dhcp { break; case 196: -#line 781 "dhcp4_parser.yy" // lalr1.cc:859 +#line 783 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("expired-leases-processing", m); @@ -1604,7 +1604,7 @@ namespace isc { namespace dhcp { break; case 197: -#line 786 "dhcp4_parser.yy" // lalr1.cc:859 +#line 788 "dhcp4_parser.yy" // lalr1.cc:859 { // No expired lease parameter is required ctx.stack_.pop_back(); @@ -1614,7 +1614,7 @@ namespace isc { namespace dhcp { break; case 206: -#line 804 "dhcp4_parser.yy" // lalr1.cc:859 +#line 806 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reclaim-timer-wait-time", value); @@ -1623,7 +1623,7 @@ namespace isc { namespace dhcp { break; case 207: -#line 809 "dhcp4_parser.yy" // lalr1.cc:859 +#line 811 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush-reclaimed-timer-wait-time", value); @@ -1632,7 +1632,7 @@ namespace isc { namespace dhcp { break; case 208: -#line 814 "dhcp4_parser.yy" // lalr1.cc:859 +#line 816 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hold-reclaimed-time", value); @@ -1641,7 +1641,7 @@ namespace isc { namespace dhcp { break; case 209: -#line 819 "dhcp4_parser.yy" // lalr1.cc:859 +#line 821 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-leases", value); @@ -1650,7 +1650,7 @@ namespace isc { namespace dhcp { break; case 210: -#line 824 "dhcp4_parser.yy" // lalr1.cc:859 +#line 826 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-reclaim-time", value); @@ -1659,7 +1659,7 @@ namespace isc { namespace dhcp { break; case 211: -#line 829 "dhcp4_parser.yy" // lalr1.cc:859 +#line 831 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr value(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("unwarned-reclaim-cycles", value); @@ -1668,7 +1668,7 @@ namespace isc { namespace dhcp { break; case 212: -#line 837 "dhcp4_parser.yy" // lalr1.cc:859 +#line 839 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet4", l); @@ -1679,7 +1679,7 @@ namespace isc { namespace dhcp { break; case 213: -#line 842 "dhcp4_parser.yy" // lalr1.cc:859 +#line 844 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); @@ -1688,7 +1688,7 @@ namespace isc { namespace dhcp { break; case 218: -#line 862 "dhcp4_parser.yy" // lalr1.cc:859 +#line 864 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->add(m); @@ -1698,7 +1698,7 @@ namespace isc { namespace dhcp { break; case 219: -#line 866 "dhcp4_parser.yy" // lalr1.cc:859 +#line 868 "dhcp4_parser.yy" // lalr1.cc:859 { // Once we reached this place, the subnet parsing is now complete. // If we want to, we can implement default values here. @@ -1724,7 +1724,7 @@ namespace isc { namespace dhcp { break; case 220: -#line 888 "dhcp4_parser.yy" // lalr1.cc:859 +#line 890 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the subnet4 list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); @@ -1734,7 +1734,7 @@ namespace isc { namespace dhcp { break; case 221: -#line 892 "dhcp4_parser.yy" // lalr1.cc:859 +#line 894 "dhcp4_parser.yy" // lalr1.cc:859 { // The subnet subnet4 parameter is required ctx.require("subnet", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -1743,16 +1743,16 @@ namespace isc { namespace dhcp { #line 1744 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 247: -#line 929 "dhcp4_parser.yy" // lalr1.cc:859 + case 248: +#line 932 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1752 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 248: -#line 931 "dhcp4_parser.yy" // lalr1.cc:859 + case 249: +#line 934 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr subnet(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("subnet", subnet); @@ -1761,16 +1761,16 @@ namespace isc { namespace dhcp { #line 1762 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 249: -#line 937 "dhcp4_parser.yy" // lalr1.cc:859 + case 250: +#line 940 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1770 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 250: -#line 939 "dhcp4_parser.yy" // lalr1.cc:859 + case 251: +#line 942 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface", iface); @@ -1779,16 +1779,16 @@ namespace isc { namespace dhcp { #line 1780 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 251: -#line 945 "dhcp4_parser.yy" // lalr1.cc:859 + case 252: +#line 948 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1788 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 252: -#line 947 "dhcp4_parser.yy" // lalr1.cc:859 + case 253: +#line 950 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-interface-id", iface); @@ -1797,16 +1797,16 @@ namespace isc { namespace dhcp { #line 1798 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 253: -#line 953 "dhcp4_parser.yy" // lalr1.cc:859 + case 254: +#line 956 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1806 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 254: -#line 955 "dhcp4_parser.yy" // lalr1.cc:859 + case 255: +#line 958 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("4o6-subnet", iface); @@ -1815,16 +1815,16 @@ namespace isc { namespace dhcp { #line 1816 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 255: -#line 961 "dhcp4_parser.yy" // lalr1.cc:859 + case 256: +#line 964 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1824 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 256: -#line 963 "dhcp4_parser.yy" // lalr1.cc:859 + case 257: +#line 966 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface", iface); @@ -1833,16 +1833,16 @@ namespace isc { namespace dhcp { #line 1834 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 257: -#line 969 "dhcp4_parser.yy" // lalr1.cc:859 + case 258: +#line 972 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } #line 1842 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 258: -#line 971 "dhcp4_parser.yy" // lalr1.cc:859 + case 259: +#line 974 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr iface(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("interface-id", iface); @@ -1851,16 +1851,16 @@ namespace isc { namespace dhcp { #line 1852 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 259: -#line 977 "dhcp4_parser.yy" // lalr1.cc:859 + case 260: +#line 980 "dhcp4_parser.yy" // lalr1.cc:859 { - ctx.enter(ctx.CLIENT_CLASS); + ctx.enter(ctx.NO_KEYWORD); } #line 1860 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 260: -#line 979 "dhcp4_parser.yy" // lalr1.cc:859 + case 261: +#line 982 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr cls(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-class", cls); @@ -1869,146 +1869,166 @@ namespace isc { namespace dhcp { #line 1870 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 261: -#line 985 "dhcp4_parser.yy" // lalr1.cc:859 + case 262: +#line 988 "dhcp4_parser.yy" // lalr1.cc:859 + { + ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("eval-client-classes", c); + ctx.stack_.push_back(c); + ctx.enter(ctx.NO_KEYWORD); +} +#line 1881 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 263: +#line 993 "dhcp4_parser.yy" // lalr1.cc:859 + { + ctx.stack_.pop_back(); + ctx.leave(); +} +#line 1890 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 264: +#line 998 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.RESERVATION_MODE); } -#line 1878 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1898 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 262: -#line 987 "dhcp4_parser.yy" // lalr1.cc:859 + case 265: +#line 1000 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("reservation-mode", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 1887 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1907 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 263: -#line 992 "dhcp4_parser.yy" // lalr1.cc:859 + case 266: +#line 1005 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("disabled", ctx.loc2pos(yystack_[0].location))); } -#line 1893 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1913 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 264: -#line 993 "dhcp4_parser.yy" // lalr1.cc:859 + case 267: +#line 1006 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("out-of-pool", ctx.loc2pos(yystack_[0].location))); } -#line 1899 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1919 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 265: -#line 994 "dhcp4_parser.yy" // lalr1.cc:859 + case 268: +#line 1007 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("all", ctx.loc2pos(yystack_[0].location))); } -#line 1905 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1925 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 266: -#line 997 "dhcp4_parser.yy" // lalr1.cc:859 + case 269: +#line 1010 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr id(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("id", id); } -#line 1914 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1934 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 267: -#line 1002 "dhcp4_parser.yy" // lalr1.cc:859 + case 270: +#line 1015 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr rc(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("rapid-commit", rc); } -#line 1923 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1943 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 268: -#line 1009 "dhcp4_parser.yy" // lalr1.cc:859 + case 271: +#line 1022 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("shared-networks", l); ctx.stack_.push_back(l); ctx.enter(ctx.SHARED_NETWORK); } -#line 1934 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1954 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 269: -#line 1014 "dhcp4_parser.yy" // lalr1.cc:859 + case 272: +#line 1027 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 1943 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1963 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 274: -#line 1029 "dhcp4_parser.yy" // lalr1.cc:859 + case 277: +#line 1042 "dhcp4_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 1953 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1973 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 275: -#line 1033 "dhcp4_parser.yy" // lalr1.cc:859 + case 278: +#line 1046 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 1961 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1981 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 293: -#line 1062 "dhcp4_parser.yy" // lalr1.cc:859 + case 297: +#line 1076 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-def", l); ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DEF); } -#line 1972 "dhcp4_parser.cc" // lalr1.cc:859 +#line 1992 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 294: -#line 1067 "dhcp4_parser.yy" // lalr1.cc:859 + case 298: +#line 1081 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 1981 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2001 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 295: -#line 1075 "dhcp4_parser.yy" // lalr1.cc:859 + case 299: +#line 1089 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 1990 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2010 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 296: -#line 1078 "dhcp4_parser.yy" // lalr1.cc:859 + case 300: +#line 1092 "dhcp4_parser.yy" // lalr1.cc:859 { // parsing completed } -#line 1998 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2018 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 301: -#line 1094 "dhcp4_parser.yy" // lalr1.cc:859 + case 305: +#line 1108 "dhcp4_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 2008 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2028 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 302: -#line 1098 "dhcp4_parser.yy" // lalr1.cc:859 + case 306: +#line 1112 "dhcp4_parser.yy" // lalr1.cc:859 { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2016,21 +2036,21 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2020 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2040 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 303: -#line 1109 "dhcp4_parser.yy" // lalr1.cc:859 + case 307: +#line 1123 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the option-def list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2030 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2050 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 304: -#line 1113 "dhcp4_parser.yy" // lalr1.cc:859 + case 308: +#line 1127 "dhcp4_parser.yy" // lalr1.cc:859 { // The name, code and type option def parameters are required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); @@ -2038,1239 +2058,1248 @@ namespace isc { namespace dhcp { ctx.require("type", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2042 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2062 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 318: -#line 1143 "dhcp4_parser.yy" // lalr1.cc:859 + case 322: +#line 1157 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr code(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("code", code); } -#line 2051 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2071 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 320: -#line 1150 "dhcp4_parser.yy" // lalr1.cc:859 + case 324: +#line 1164 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2059 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2079 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 321: -#line 1152 "dhcp4_parser.yy" // lalr1.cc:859 + case 325: +#line 1166 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr prf(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("type", prf); ctx.leave(); } -#line 2069 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2089 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 322: -#line 1158 "dhcp4_parser.yy" // lalr1.cc:859 + case 326: +#line 1172 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2077 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2097 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 323: -#line 1160 "dhcp4_parser.yy" // lalr1.cc:859 + case 327: +#line 1174 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr rtypes(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("record-types", rtypes); ctx.leave(); } -#line 2087 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2107 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 324: -#line 1166 "dhcp4_parser.yy" // lalr1.cc:859 + case 328: +#line 1180 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2095 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2115 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 325: -#line 1168 "dhcp4_parser.yy" // lalr1.cc:859 + case 329: +#line 1182 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr space(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("space", space); ctx.leave(); } -#line 2105 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2125 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 327: -#line 1176 "dhcp4_parser.yy" // lalr1.cc:859 + case 331: +#line 1190 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2113 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2133 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 328: -#line 1178 "dhcp4_parser.yy" // lalr1.cc:859 + case 332: +#line 1192 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr encap(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("encapsulate", encap); ctx.leave(); } -#line 2123 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2143 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 329: -#line 1184 "dhcp4_parser.yy" // lalr1.cc:859 + case 333: +#line 1198 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr array(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("array", array); } -#line 2132 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2152 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 330: -#line 1193 "dhcp4_parser.yy" // lalr1.cc:859 + case 334: +#line 1207 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("option-data", l); ctx.stack_.push_back(l); ctx.enter(ctx.OPTION_DATA); } -#line 2143 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2163 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 331: -#line 1198 "dhcp4_parser.yy" // lalr1.cc:859 + case 335: +#line 1212 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2152 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2172 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 336: -#line 1217 "dhcp4_parser.yy" // lalr1.cc:859 + case 340: +#line 1231 "dhcp4_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 2162 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2182 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 337: -#line 1221 "dhcp4_parser.yy" // lalr1.cc:859 + case 341: +#line 1235 "dhcp4_parser.yy" // lalr1.cc:859 { /// @todo: the code or name parameters are required. ctx.stack_.pop_back(); } -#line 2171 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2191 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 338: -#line 1229 "dhcp4_parser.yy" // lalr1.cc:859 + case 342: +#line 1243 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the option-data list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2181 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2201 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 339: -#line 1233 "dhcp4_parser.yy" // lalr1.cc:859 + case 343: +#line 1247 "dhcp4_parser.yy" // lalr1.cc:859 { /// @todo: the code or name parameters are required. // parsing completed } -#line 2190 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2210 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 352: -#line 1264 "dhcp4_parser.yy" // lalr1.cc:859 + case 356: +#line 1278 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2198 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2218 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 353: -#line 1266 "dhcp4_parser.yy" // lalr1.cc:859 + case 357: +#line 1280 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr data(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("data", data); ctx.leave(); } -#line 2208 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2228 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 356: -#line 1276 "dhcp4_parser.yy" // lalr1.cc:859 + case 360: +#line 1290 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr space(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("csv-format", space); } -#line 2217 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2237 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 357: -#line 1281 "dhcp4_parser.yy" // lalr1.cc:859 + case 361: +#line 1295 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr persist(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-send", persist); } -#line 2226 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2246 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 358: -#line 1289 "dhcp4_parser.yy" // lalr1.cc:859 + case 362: +#line 1303 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pools", l); ctx.stack_.push_back(l); ctx.enter(ctx.POOLS); } -#line 2237 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2257 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 359: -#line 1294 "dhcp4_parser.yy" // lalr1.cc:859 + case 363: +#line 1308 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2246 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2266 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 364: -#line 1309 "dhcp4_parser.yy" // lalr1.cc:859 + case 368: +#line 1323 "dhcp4_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 2256 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2276 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 365: -#line 1313 "dhcp4_parser.yy" // lalr1.cc:859 + case 369: +#line 1327 "dhcp4_parser.yy" // lalr1.cc:859 { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2266 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2286 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 366: -#line 1319 "dhcp4_parser.yy" // lalr1.cc:859 + case 370: +#line 1333 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the pool list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2276 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2296 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 367: -#line 1323 "dhcp4_parser.yy" // lalr1.cc:859 + case 371: +#line 1337 "dhcp4_parser.yy" // lalr1.cc:859 { // The pool parameter is required. ctx.require("pool", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2286 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2306 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 376: -#line 1341 "dhcp4_parser.yy" // lalr1.cc:859 + case 381: +#line 1356 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2294 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2314 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 377: -#line 1343 "dhcp4_parser.yy" // lalr1.cc:859 + case 382: +#line 1358 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr pool(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("pool", pool); ctx.leave(); } -#line 2304 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2324 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 378: -#line 1349 "dhcp4_parser.yy" // lalr1.cc:859 + case 383: +#line 1364 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2312 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2332 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 379: -#line 1351 "dhcp4_parser.yy" // lalr1.cc:859 + case 384: +#line 1366 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("user-context", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2321 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2341 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 380: -#line 1356 "dhcp4_parser.yy" // lalr1.cc:859 + case 385: +#line 1371 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.KNOWN_CLIENTS); } -#line 2329 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2349 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 381: -#line 1358 "dhcp4_parser.yy" // lalr1.cc:859 + case 386: +#line 1373 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("known-clients", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2338 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2358 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 382: -#line 1364 "dhcp4_parser.yy" // lalr1.cc:859 + case 387: +#line 1379 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("only", ctx.loc2pos(yystack_[0].location))); } -#line 2344 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2364 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 383: -#line 1365 "dhcp4_parser.yy" // lalr1.cc:859 + case 388: +#line 1380 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } -#line 2350 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2370 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 384: -#line 1371 "dhcp4_parser.yy" // lalr1.cc:859 + case 389: +#line 1386 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("reservations", l); ctx.stack_.push_back(l); ctx.enter(ctx.RESERVATIONS); } -#line 2361 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2381 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 385: -#line 1376 "dhcp4_parser.yy" // lalr1.cc:859 + case 390: +#line 1391 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2370 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2390 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 390: -#line 1389 "dhcp4_parser.yy" // lalr1.cc:859 + case 395: +#line 1404 "dhcp4_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 2380 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2400 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 391: -#line 1393 "dhcp4_parser.yy" // lalr1.cc:859 + case 396: +#line 1408 "dhcp4_parser.yy" // lalr1.cc:859 { /// @todo: an identifier parameter is required. ctx.stack_.pop_back(); } -#line 2389 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2409 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 392: -#line 1398 "dhcp4_parser.yy" // lalr1.cc:859 + case 397: +#line 1413 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the reservations list entry map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2399 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2419 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 393: -#line 1402 "dhcp4_parser.yy" // lalr1.cc:859 + case 398: +#line 1417 "dhcp4_parser.yy" // lalr1.cc:859 { /// @todo: an identifier parameter is required. // parsing completed } -#line 2408 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2428 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 411: -#line 1431 "dhcp4_parser.yy" // lalr1.cc:859 + case 416: +#line 1446 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2416 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2436 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 412: -#line 1433 "dhcp4_parser.yy" // lalr1.cc:859 + case 417: +#line 1448 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr next_server(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("next-server", next_server); ctx.leave(); } -#line 2426 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2446 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 413: -#line 1439 "dhcp4_parser.yy" // lalr1.cc:859 + case 418: +#line 1454 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2434 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2454 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 414: -#line 1441 "dhcp4_parser.yy" // lalr1.cc:859 + case 419: +#line 1456 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr srv(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-hostname", srv); ctx.leave(); } -#line 2444 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2464 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 415: -#line 1447 "dhcp4_parser.yy" // lalr1.cc:859 + case 420: +#line 1462 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2452 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2472 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 416: -#line 1449 "dhcp4_parser.yy" // lalr1.cc:859 + case 421: +#line 1464 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr bootfile(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("boot-file-name", bootfile); ctx.leave(); } -#line 2462 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2482 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 417: -#line 1455 "dhcp4_parser.yy" // lalr1.cc:859 + case 422: +#line 1470 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2470 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2490 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 418: -#line 1457 "dhcp4_parser.yy" // lalr1.cc:859 + case 423: +#line 1472 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr addr(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", addr); ctx.leave(); } -#line 2480 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2500 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 419: -#line 1463 "dhcp4_parser.yy" // lalr1.cc:859 + case 424: +#line 1478 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2488 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2508 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 420: -#line 1465 "dhcp4_parser.yy" // lalr1.cc:859 + case 425: +#line 1480 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr d(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("duid", d); ctx.leave(); } -#line 2498 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2518 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 421: -#line 1471 "dhcp4_parser.yy" // lalr1.cc:859 + case 426: +#line 1486 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2506 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2526 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 422: -#line 1473 "dhcp4_parser.yy" // lalr1.cc:859 + case 427: +#line 1488 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hw-address", hw); ctx.leave(); } -#line 2516 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2536 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 423: -#line 1479 "dhcp4_parser.yy" // lalr1.cc:859 + case 428: +#line 1494 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2524 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2544 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 424: -#line 1481 "dhcp4_parser.yy" // lalr1.cc:859 + case 429: +#line 1496 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-id", hw); ctx.leave(); } -#line 2534 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2554 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 425: -#line 1487 "dhcp4_parser.yy" // lalr1.cc:859 + case 430: +#line 1502 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2542 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2562 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 426: -#line 1489 "dhcp4_parser.yy" // lalr1.cc:859 + case 431: +#line 1504 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("circuit-id", hw); ctx.leave(); } -#line 2552 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2572 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 427: -#line 1495 "dhcp4_parser.yy" // lalr1.cc:859 + case 432: +#line 1510 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2560 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2580 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 428: -#line 1497 "dhcp4_parser.yy" // lalr1.cc:859 + case 433: +#line 1512 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr hw(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flex-id", hw); ctx.leave(); } -#line 2570 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2590 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 429: -#line 1503 "dhcp4_parser.yy" // lalr1.cc:859 + case 434: +#line 1518 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2578 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2598 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 430: -#line 1505 "dhcp4_parser.yy" // lalr1.cc:859 + case 435: +#line 1520 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr host(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("hostname", host); ctx.leave(); } -#line 2588 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2608 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 431: -#line 1511 "dhcp4_parser.yy" // lalr1.cc:859 + case 436: +#line 1526 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr c(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", c); ctx.stack_.push_back(c); ctx.enter(ctx.NO_KEYWORD); } -#line 2599 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2619 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 432: -#line 1516 "dhcp4_parser.yy" // lalr1.cc:859 + case 437: +#line 1531 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2608 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2628 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 433: -#line 1524 "dhcp4_parser.yy" // lalr1.cc:859 + case 438: +#line 1539 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("relay", m); ctx.stack_.push_back(m); ctx.enter(ctx.RELAY); } -#line 2619 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2639 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 434: -#line 1529 "dhcp4_parser.yy" // lalr1.cc:859 + case 439: +#line 1544 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2628 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2648 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 435: -#line 1534 "dhcp4_parser.yy" // lalr1.cc:859 + case 440: +#line 1549 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2636 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2656 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 436: -#line 1536 "dhcp4_parser.yy" // lalr1.cc:859 + case 441: +#line 1551 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr ip(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ip-address", ip); ctx.leave(); } -#line 2646 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2666 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 437: -#line 1545 "dhcp4_parser.yy" // lalr1.cc:859 + case 442: +#line 1560 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr l(new ListElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("client-classes", l); ctx.stack_.push_back(l); ctx.enter(ctx.CLIENT_CLASSES); } -#line 2657 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2677 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 438: -#line 1550 "dhcp4_parser.yy" // lalr1.cc:859 + case 443: +#line 1565 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2666 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2686 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 441: -#line 1559 "dhcp4_parser.yy" // lalr1.cc:859 + case 446: +#line 1574 "dhcp4_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 2676 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2696 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 442: -#line 1563 "dhcp4_parser.yy" // lalr1.cc:859 + case 447: +#line 1578 "dhcp4_parser.yy" // lalr1.cc:859 { // The name client class parameter is required. ctx.require("name", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); } -#line 2686 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2706 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 456: -#line 1589 "dhcp4_parser.yy" // lalr1.cc:859 + case 462: +#line 1605 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2694 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2714 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 457: -#line 1591 "dhcp4_parser.yy" // lalr1.cc:859 + case 463: +#line 1607 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr test(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("test", test); ctx.leave(); } -#line 2704 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2724 "dhcp4_parser.cc" // lalr1.cc:859 + break; + + case 464: +#line 1613 "dhcp4_parser.yy" // lalr1.cc:859 + { + ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); + ctx.stack_.back()->set("eval-on-demand"); +} +#line 2733 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 458: -#line 1601 "dhcp4_parser.yy" // lalr1.cc:859 + case 465: +#line 1622 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr time(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp4o6-port", time); } -#line 2713 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2742 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 459: -#line 1608 "dhcp4_parser.yy" // lalr1.cc:859 + case 466: +#line 1629 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("control-socket", m); ctx.stack_.push_back(m); ctx.enter(ctx.CONTROL_SOCKET); } -#line 2724 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2753 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 460: -#line 1613 "dhcp4_parser.yy" // lalr1.cc:859 + case 467: +#line 1634 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 2733 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2762 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 465: -#line 1626 "dhcp4_parser.yy" // lalr1.cc:859 + case 472: +#line 1647 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2741 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2770 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 466: -#line 1628 "dhcp4_parser.yy" // lalr1.cc:859 + case 473: +#line 1649 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr stype(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("socket-type", stype); ctx.leave(); } -#line 2751 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2780 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 467: -#line 1634 "dhcp4_parser.yy" // lalr1.cc:859 + case 474: +#line 1655 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2759 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2788 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 468: -#line 1636 "dhcp4_parser.yy" // lalr1.cc:859 + case 475: +#line 1657 "dhcp4_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 2769 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2798 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 469: -#line 1644 "dhcp4_parser.yy" // lalr1.cc:859 + case 476: +#line 1665 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("dhcp-ddns", m); ctx.stack_.push_back(m); ctx.enter(ctx.DHCP_DDNS); } -#line 2780 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2809 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 470: -#line 1649 "dhcp4_parser.yy" // lalr1.cc:859 + case 477: +#line 1670 "dhcp4_parser.yy" // lalr1.cc:859 { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[2].location), ctx.loc2pos(yystack_[0].location)); ctx.stack_.pop_back(); ctx.leave(); } -#line 2791 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2820 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 471: -#line 1656 "dhcp4_parser.yy" // lalr1.cc:859 + case 478: +#line 1677 "dhcp4_parser.yy" // lalr1.cc:859 { // Parse the dhcp-ddns map ElementPtr m(new MapElement(ctx.loc2pos(yystack_[0].location))); ctx.stack_.push_back(m); } -#line 2801 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2830 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 472: -#line 1660 "dhcp4_parser.yy" // lalr1.cc:859 + case 479: +#line 1681 "dhcp4_parser.yy" // lalr1.cc:859 { // The enable updates DHCP DDNS parameter is required. ctx.require("enable-updates", ctx.loc2pos(yystack_[3].location), ctx.loc2pos(yystack_[0].location)); // parsing completed } -#line 2811 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2840 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 490: -#line 1687 "dhcp4_parser.yy" // lalr1.cc:859 + case 497: +#line 1708 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("enable-updates", b); } -#line 2820 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2849 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 491: -#line 1692 "dhcp4_parser.yy" // lalr1.cc:859 + case 498: +#line 1713 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2828 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2857 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 492: -#line 1694 "dhcp4_parser.yy" // lalr1.cc:859 + case 499: +#line 1715 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("qualifying-suffix", s); ctx.leave(); } -#line 2838 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2867 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 493: -#line 1700 "dhcp4_parser.yy" // lalr1.cc:859 + case 500: +#line 1721 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2846 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2875 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 494: -#line 1702 "dhcp4_parser.yy" // lalr1.cc:859 + case 501: +#line 1723 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-ip", s); ctx.leave(); } -#line 2856 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2885 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 495: -#line 1708 "dhcp4_parser.yy" // lalr1.cc:859 + case 502: +#line 1729 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("server-port", i); } -#line 2865 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2894 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 496: -#line 1713 "dhcp4_parser.yy" // lalr1.cc:859 + case 503: +#line 1734 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 2873 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2902 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 497: -#line 1715 "dhcp4_parser.yy" // lalr1.cc:859 + case 504: +#line 1736 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-ip", s); ctx.leave(); } -#line 2883 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2912 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 498: -#line 1721 "dhcp4_parser.yy" // lalr1.cc:859 + case 505: +#line 1742 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("sender-port", i); } -#line 2892 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2921 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 499: -#line 1726 "dhcp4_parser.yy" // lalr1.cc:859 + case 506: +#line 1747 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr i(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("max-queue-size", i); } -#line 2901 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2930 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 500: -#line 1731 "dhcp4_parser.yy" // lalr1.cc:859 + case 507: +#line 1752 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NCR_PROTOCOL); } -#line 2909 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2938 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 501: -#line 1733 "dhcp4_parser.yy" // lalr1.cc:859 + case 508: +#line 1754 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("ncr-protocol", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2918 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2947 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 502: -#line 1739 "dhcp4_parser.yy" // lalr1.cc:859 + case 509: +#line 1760 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("UDP", ctx.loc2pos(yystack_[0].location))); } -#line 2924 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2953 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 503: -#line 1740 "dhcp4_parser.yy" // lalr1.cc:859 + case 510: +#line 1761 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("TCP", ctx.loc2pos(yystack_[0].location))); } -#line 2930 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2959 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 504: -#line 1743 "dhcp4_parser.yy" // lalr1.cc:859 + case 511: +#line 1764 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NCR_FORMAT); } -#line 2938 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2967 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 505: -#line 1745 "dhcp4_parser.yy" // lalr1.cc:859 + case 512: +#line 1766 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr json(new StringElement("JSON", ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("ncr-format", json); ctx.leave(); } -#line 2948 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2977 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 506: -#line 1751 "dhcp4_parser.yy" // lalr1.cc:859 + case 513: +#line 1772 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("always-include-fqdn", b); } -#line 2957 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2986 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 507: -#line 1756 "dhcp4_parser.yy" // lalr1.cc:859 + case 514: +#line 1777 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-no-update", b); } -#line 2966 "dhcp4_parser.cc" // lalr1.cc:859 +#line 2995 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 508: -#line 1761 "dhcp4_parser.yy" // lalr1.cc:859 + case 515: +#line 1782 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr b(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("override-client-update", b); } -#line 2975 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3004 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 509: -#line 1766 "dhcp4_parser.yy" // lalr1.cc:859 + case 516: +#line 1787 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.REPLACE_CLIENT_NAME); } -#line 2983 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3012 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 510: -#line 1768 "dhcp4_parser.yy" // lalr1.cc:859 + case 517: +#line 1789 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("replace-client-name", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 2992 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3021 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 511: -#line 1774 "dhcp4_parser.yy" // lalr1.cc:859 + case 518: +#line 1795 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-present", ctx.loc2pos(yystack_[0].location))); } -#line 3000 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3029 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 512: -#line 1777 "dhcp4_parser.yy" // lalr1.cc:859 + case 519: +#line 1798 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("never", ctx.loc2pos(yystack_[0].location))); } -#line 3008 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3037 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 513: -#line 1780 "dhcp4_parser.yy" // lalr1.cc:859 + case 520: +#line 1801 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("always", ctx.loc2pos(yystack_[0].location))); } -#line 3016 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3045 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 514: -#line 1783 "dhcp4_parser.yy" // lalr1.cc:859 + case 521: +#line 1804 "dhcp4_parser.yy" // lalr1.cc:859 { yylhs.value.as< ElementPtr > () = ElementPtr(new StringElement("when-not-present", ctx.loc2pos(yystack_[0].location))); } -#line 3024 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3053 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 515: -#line 1786 "dhcp4_parser.yy" // lalr1.cc:859 + case 522: +#line 1807 "dhcp4_parser.yy" // lalr1.cc:859 { error(yystack_[0].location, "boolean values for the replace-client-name are " "no longer supported"); } -#line 3033 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3062 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 516: -#line 1792 "dhcp4_parser.yy" // lalr1.cc:859 + case 523: +#line 1813 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3041 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3070 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 517: -#line 1794 "dhcp4_parser.yy" // lalr1.cc:859 + case 524: +#line 1815 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr s(new StringElement(yystack_[0].value.as< std::string > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("generated-prefix", s); ctx.leave(); } -#line 3051 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3080 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 518: -#line 1802 "dhcp4_parser.yy" // lalr1.cc:859 + case 525: +#line 1823 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3059 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3088 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 519: -#line 1804 "dhcp4_parser.yy" // lalr1.cc:859 + case 526: +#line 1825 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("Dhcp6", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3068 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3097 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 520: -#line 1809 "dhcp4_parser.yy" // lalr1.cc:859 + case 527: +#line 1830 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3076 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3105 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 521: -#line 1811 "dhcp4_parser.yy" // lalr1.cc:859 + case 528: +#line 1832 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("DhcpDdns", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3085 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3114 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 522: -#line 1816 "dhcp4_parser.yy" // lalr1.cc:859 + case 529: +#line 1837 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3093 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3122 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 523: -#line 1818 "dhcp4_parser.yy" // lalr1.cc:859 + case 530: +#line 1839 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.back()->set("Control-agent", yystack_[0].value.as< ElementPtr > ()); ctx.leave(); } -#line 3102 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3131 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 524: -#line 1828 "dhcp4_parser.yy" // lalr1.cc:859 + case 531: +#line 1849 "dhcp4_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 3113 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3142 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 525: -#line 1833 "dhcp4_parser.yy" // lalr1.cc:859 + case 532: +#line 1854 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 3122 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3151 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 529: -#line 1850 "dhcp4_parser.yy" // lalr1.cc:859 + case 536: +#line 1871 "dhcp4_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 3133 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3162 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 530: -#line 1855 "dhcp4_parser.yy" // lalr1.cc:859 + case 537: +#line 1876 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 3142 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3171 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 533: -#line 1867 "dhcp4_parser.yy" // lalr1.cc:859 + case 540: +#line 1888 "dhcp4_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 3152 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3181 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 534: -#line 1871 "dhcp4_parser.yy" // lalr1.cc:859 + case 541: +#line 1892 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 3160 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3189 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 542: -#line 1886 "dhcp4_parser.yy" // lalr1.cc:859 + case 549: +#line 1907 "dhcp4_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 3169 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3198 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 543: -#line 1891 "dhcp4_parser.yy" // lalr1.cc:859 + case 550: +#line 1912 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3177 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3206 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 544: -#line 1893 "dhcp4_parser.yy" // lalr1.cc:859 + case 551: +#line 1914 "dhcp4_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 3187 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3216 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 545: -#line 1899 "dhcp4_parser.yy" // lalr1.cc:859 + case 552: +#line 1920 "dhcp4_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 3198 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3227 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 546: -#line 1904 "dhcp4_parser.yy" // lalr1.cc:859 + case 553: +#line 1925 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); ctx.leave(); } -#line 3207 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3236 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 549: -#line 1913 "dhcp4_parser.yy" // lalr1.cc:859 + case 556: +#line 1934 "dhcp4_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 3217 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3246 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 550: -#line 1917 "dhcp4_parser.yy" // lalr1.cc:859 + case 557: +#line 1938 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.stack_.pop_back(); } -#line 3225 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3254 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 557: -#line 1931 "dhcp4_parser.yy" // lalr1.cc:859 + case 564: +#line 1952 "dhcp4_parser.yy" // lalr1.cc:859 { ctx.enter(ctx.NO_KEYWORD); } -#line 3233 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3262 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 558: -#line 1933 "dhcp4_parser.yy" // lalr1.cc:859 + case 565: +#line 1954 "dhcp4_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 3243 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3272 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 559: -#line 1939 "dhcp4_parser.yy" // lalr1.cc:859 + case 566: +#line 1960 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr flush(new BoolElement(yystack_[0].value.as< bool > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("flush", flush); } -#line 3252 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3281 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 560: -#line 1944 "dhcp4_parser.yy" // lalr1.cc:859 + case 567: +#line 1965 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr maxsize(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxsize", maxsize); } -#line 3261 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3290 "dhcp4_parser.cc" // lalr1.cc:859 break; - case 561: -#line 1949 "dhcp4_parser.yy" // lalr1.cc:859 + case 568: +#line 1970 "dhcp4_parser.yy" // lalr1.cc:859 { ElementPtr maxver(new IntElement(yystack_[0].value.as< int64_t > (), ctx.loc2pos(yystack_[0].location))); ctx.stack_.back()->set("maxver", maxver); } -#line 3270 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3299 "dhcp4_parser.cc" // lalr1.cc:859 break; -#line 3274 "dhcp4_parser.cc" // lalr1.cc:859 +#line 3303 "dhcp4_parser.cc" // lalr1.cc:859 default: break; } @@ -3525,104 +3554,105 @@ namespace isc { namespace dhcp { } - const short int Dhcp4Parser::yypact_ninf_ = -703; + const short int Dhcp4Parser::yypact_ninf_ = -702; const signed char Dhcp4Parser::yytable_ninf_ = -1; const short int Dhcp4Parser::yypact_[] = { - 126, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, 30, 22, 21, 37, 51, 76, 102, - 112, 116, 124, 141, 152, 167, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - 22, -67, -8, 28, 91, 113, -4, 127, 150, 87, - 43, -36, 171, -703, 209, 199, 217, 211, 235, -703, - -703, -703, -703, -703, 247, -703, 35, -703, -703, -703, - -703, -703, -703, -703, 270, 294, -703, -703, -703, -703, - -703, 296, 304, 306, 307, -703, -703, -703, -703, -703, - -703, -703, -703, 310, -703, -703, -703, 54, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, 326, 72, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - 332, 349, -703, -703, -703, -703, -703, -703, -703, -703, - -703, 74, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, 105, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, 250, 289, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, 315, -703, -703, 350, -703, - -703, -703, 351, -703, -703, 348, 354, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, 355, 356, - -703, -703, -703, -703, 353, 359, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, 135, -703, -703, -703, - 360, -703, -703, 361, -703, 362, 363, -703, -703, 367, - 368, 369, -703, -703, -703, 184, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, 22, 22, -703, 210, 370, 371, 372, 373, - 374, -703, -8, -703, 375, 212, 229, 377, 378, 379, - 380, 381, 237, 238, 239, 240, 386, 387, 388, 389, - 390, 391, 392, 393, 251, 394, 395, 28, -703, 397, - 398, 399, 253, 91, -703, 401, 402, 403, 404, 405, - 406, 407, 408, 264, 263, 411, 412, 413, 414, 113, - -703, 415, 416, -4, -703, 417, 418, 419, 420, 421, - 422, 423, 424, -703, 127, -703, 425, 426, 282, 428, - 429, 430, 284, -703, 87, 432, 286, 292, -703, 43, - 434, 435, 10, -703, 293, 436, 438, 299, 441, 300, - 301, 447, 448, 305, 308, 309, 451, 453, 171, -703, - -703, -703, 457, 455, 456, 22, 22, 22, -703, 458, - -703, -703, 320, 321, 322, 459, 460, -703, -703, -703, - -703, 466, 467, 468, 469, 470, 471, 472, 473, -703, - 474, 475, -703, 478, 151, 162, -703, -703, 331, 337, - 338, 479, 480, 340, 341, 342, -703, -703, -7, 343, - 487, 486, -703, 346, 122, -703, 478, 347, 352, 357, - 358, 364, 365, 366, -703, 376, 382, -703, 383, 384, - 385, -703, -703, 396, -703, -703, -703, 400, 22, -703, - -703, 409, 410, -703, 427, -703, -703, 5, 431, -703, - -703, -703, 85, 433, -703, 22, 28, 437, -703, -703, - -703, 91, -703, -703, -703, 193, 193, 489, 490, 491, - 492, 159, 494, 495, 208, 249, 171, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, 496, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, 497, - 439, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, 195, -703, 196, -703, - -703, 214, -703, -703, -703, -703, 503, 504, 505, 506, - 507, -703, -703, -703, 215, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, 244, -703, - 509, 513, -703, -703, 511, 515, -703, -703, 514, 516, - -703, -703, 517, 518, -703, -703, -703, -703, -703, -703, - 8, -703, -703, -703, -703, -703, -703, -703, 39, -703, - -703, 519, 523, -703, 525, 530, 531, 532, 533, 534, - 245, -703, -703, -703, -703, -703, -703, -703, -703, -703, - 246, -703, -703, -703, 287, 440, -703, 521, 536, -703, - -703, 535, 537, -703, -703, 538, -703, 539, 437, -703, - -703, 541, 543, 545, 546, 329, 442, 443, 444, 445, - 548, 549, 193, -703, -703, 113, -703, 489, 87, -703, - 490, 43, -703, 491, 42, -703, 492, 159, -703, 145, - 494, -703, -36, -703, 495, 449, 450, 452, 454, 461, - 462, 208, -703, 550, 551, 249, -703, -703, -703, 553, - 557, -4, -703, 496, 127, -703, 497, 552, -703, 556, - -703, 319, 464, 465, 476, -703, -703, -703, -703, -703, - 477, 481, -703, 288, -703, 555, -703, 558, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, 291, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, 559, 561, -703, -703, - -703, -703, 318, -703, -703, -703, -703, -703, -703, -703, - -703, 482, 483, -703, -703, 484, 330, -703, 560, -703, - 488, 562, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, 42, -703, 566, -703, 145, - -703, -703, -703, -703, -703, -703, -703, -703, 114, -703, - -703, 493, -703, 111, 562, -703, -703, -703, 567, -703, - -703, -703, 334, -703, -703, -703, -703, -703, 568, 485, - 569, 111, -703, 571, -703, 500, -703, 570, -703, -703, - 254, -703, -40, 570, -703, -703, 574, 575, 576, 336, - -703, -703, -703, -703, -703, -703, 578, 446, 502, 510, - -40, -703, 508, -703, -703, -703, -703, -703 + 120, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, 29, 21, 24, 26, 35, 59, 84, + 93, 95, 97, 110, 125, 135, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + 21, -10, 2, 28, 186, 39, 157, 73, 100, 136, + 193, -58, 244, -702, 150, 166, 173, 199, 213, -702, + -702, -702, -702, -702, 251, -702, 72, -702, -702, -702, + -702, -702, -702, -702, 267, 268, -702, -702, -702, -702, + -702, 269, 298, 304, 305, -702, -702, -702, -702, -702, + -702, -702, -702, 314, -702, -702, -702, 90, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, 321, 91, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + 328, 329, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, 111, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, 133, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, 209, 232, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, 292, -702, + -702, 333, -702, -702, -702, 335, -702, -702, 332, 249, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, 340, 343, -702, -702, -702, -702, 341, 345, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, 141, + -702, -702, -702, 365, -702, -702, 369, -702, 370, 371, + -702, -702, 372, 373, 374, -702, -702, -702, 184, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, 21, 21, -702, 229, 376, + 377, 378, 379, 380, -702, 2, -702, 381, 233, 234, + 384, 385, 386, 387, 388, 242, 245, 246, 247, 391, + 395, 396, 397, 398, 399, 400, 401, 255, 403, 404, + 28, -702, 405, 406, 407, 259, 186, -702, 409, 410, + 411, 412, 413, 414, 415, 416, 270, 271, 418, 419, + 421, 422, 423, 39, -702, 424, 425, 157, -702, 426, + 427, 428, 429, 430, 431, 432, 433, -702, 73, -702, + 434, 435, 290, 436, 438, 439, 293, -702, 136, 441, + 294, 297, -702, 193, 444, 445, -35, -702, 300, 450, + 451, 306, 452, 309, 311, 459, 460, 312, 313, 315, + 463, 466, 244, -702, -702, -702, 467, 465, 468, 21, + 21, 21, -702, 469, -702, -702, 323, 324, 327, 471, + 472, -702, -702, -702, -702, 475, 476, 477, 478, 479, + 480, 481, 482, -702, 483, 484, -702, 487, 62, 67, + -702, -702, 338, 344, 346, 488, 490, 348, 349, 350, + -702, -702, 51, 487, 351, 497, 496, -702, 354, 119, + -702, 487, 355, 356, 357, 358, 359, 360, 361, -702, + 362, 363, -702, 364, 366, 367, -702, -702, 368, -702, + -702, -702, 375, 21, -702, -702, 382, 383, -702, 389, + -702, -702, 12, 393, -702, -702, -702, 117, 390, -702, + 21, 28, 392, -702, -702, -702, 186, -702, -702, -702, + 192, 192, 513, 514, 515, 516, 198, 517, 519, 179, + 96, 244, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, 520, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, 521, 440, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, 201, -702, 207, -702, -702, 210, -702, -702, + -702, -702, 491, 525, 526, 530, 531, -702, -702, -702, + 235, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, 285, -702, 532, 533, -702, -702, + 535, 534, -702, -702, 536, 540, -702, -702, 538, 542, + -702, -702, -702, -702, -702, -702, 40, -702, -702, -702, + -702, -702, -702, -702, 41, -702, -702, 541, 543, -702, + 544, 545, 546, 547, 548, 549, 286, -702, -702, -702, + -702, -702, -702, -702, -702, -702, 287, -702, -702, -702, + 288, 408, -702, 550, 551, -702, -702, 553, 552, -702, + -702, 554, -702, 556, 392, -702, -702, 557, 559, 560, + 561, 336, 417, 420, 437, 442, 562, 563, 192, -702, + -702, 39, -702, 513, 136, -702, 514, 193, -702, 515, + 124, -702, 516, 198, -702, 131, 517, -702, -58, -702, + 519, 443, 446, 447, 448, 449, 453, 179, -702, 564, + 565, 96, -702, -702, -702, 566, 570, 157, -702, 520, + 73, -702, 521, 571, -702, 569, -702, 337, 455, 456, + 457, -702, -702, -702, -702, -702, 458, 461, -702, 289, + -702, 568, -702, 572, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, 295, -702, -702, -702, + -702, -702, -702, -702, -702, -702, 573, -702, -702, -702, + -702, -702, -702, -702, 574, 575, -702, -702, -702, -702, + -702, 296, -702, -702, -702, -702, -702, -702, -702, -702, + 462, 464, -702, -702, 470, 303, -702, 576, -702, 473, + 578, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, 124, -702, 577, 474, -702, 131, + -702, -702, -702, -702, -702, -702, -702, -702, 231, -702, + -702, 485, -702, -702, -15, 578, -702, -702, -702, 579, + -702, -702, -702, 307, -702, -702, -702, -702, -702, 582, + 486, 583, -15, -702, 584, -702, 492, -702, 581, -702, + -702, 248, -702, -65, 581, -702, -702, 587, 588, 591, + 319, -702, -702, -702, -702, -702, -702, 592, 494, 489, + 493, -65, -702, 495, -702, -702, -702, -702, -702 }; const unsigned short int @@ -3632,503 +3662,507 @@ namespace isc { namespace dhcp { 20, 22, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 41, 34, 30, 29, 26, 27, 28, 33, 3, 31, 32, 54, 5, - 66, 7, 108, 9, 220, 11, 366, 13, 392, 15, - 295, 17, 303, 19, 338, 21, 185, 23, 471, 25, - 43, 37, 0, 0, 0, 0, 0, 394, 0, 305, - 340, 0, 0, 45, 0, 44, 0, 0, 38, 64, - 524, 518, 520, 522, 0, 63, 0, 56, 58, 60, - 61, 62, 59, 100, 0, 0, 411, 413, 415, 121, - 123, 0, 0, 0, 0, 212, 293, 330, 268, 163, - 437, 177, 196, 0, 459, 469, 93, 0, 68, 70, + 66, 7, 108, 9, 220, 11, 370, 13, 397, 15, + 299, 17, 307, 19, 342, 21, 185, 23, 478, 25, + 43, 37, 0, 0, 0, 0, 0, 399, 0, 309, + 344, 0, 0, 45, 0, 44, 0, 0, 38, 64, + 531, 525, 527, 529, 0, 63, 0, 56, 58, 60, + 61, 62, 59, 100, 0, 0, 416, 418, 420, 121, + 123, 0, 0, 0, 0, 212, 297, 334, 271, 163, + 442, 177, 196, 0, 466, 476, 93, 0, 68, 70, 71, 72, 73, 88, 89, 76, 77, 78, 79, 83, 84, 74, 75, 81, 82, 90, 91, 92, 80, 85, 86, 87, 110, 112, 116, 0, 0, 102, 104, 105, - 106, 107, 249, 251, 253, 358, 378, 247, 255, 257, - 0, 0, 261, 259, 384, 433, 246, 224, 225, 226, - 238, 0, 222, 229, 242, 243, 244, 230, 231, 234, - 236, 232, 233, 227, 228, 245, 235, 239, 240, 241, - 237, 376, 380, 375, 372, 371, 0, 368, 370, 373, - 374, 431, 419, 421, 425, 423, 429, 427, 417, 410, - 406, 0, 395, 396, 407, 408, 409, 403, 398, 404, - 400, 401, 402, 405, 399, 0, 320, 153, 0, 324, - 322, 327, 0, 316, 317, 0, 306, 307, 309, 319, - 310, 311, 312, 326, 313, 314, 315, 352, 0, 0, - 350, 351, 354, 355, 0, 341, 342, 344, 345, 346, - 347, 348, 349, 192, 194, 189, 0, 187, 190, 191, - 0, 491, 493, 0, 496, 0, 0, 500, 504, 0, - 0, 0, 509, 516, 489, 0, 473, 475, 476, 477, - 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, - 488, 42, 0, 0, 35, 0, 0, 0, 0, 0, - 0, 53, 0, 55, 0, 0, 0, 0, 0, 0, + 106, 107, 250, 252, 254, 362, 383, 248, 256, 258, + 0, 0, 264, 262, 260, 389, 438, 247, 224, 225, + 226, 239, 0, 222, 229, 243, 244, 245, 230, 231, + 234, 235, 237, 232, 233, 227, 228, 246, 236, 240, + 241, 242, 238, 381, 385, 380, 376, 377, 375, 0, + 372, 374, 378, 379, 436, 424, 426, 430, 428, 434, + 432, 422, 415, 411, 0, 400, 401, 412, 413, 414, + 408, 403, 409, 405, 406, 407, 410, 404, 0, 324, + 153, 0, 328, 326, 331, 0, 320, 321, 0, 310, + 311, 313, 323, 314, 315, 316, 330, 317, 318, 319, + 356, 0, 0, 354, 355, 358, 359, 0, 345, 346, + 348, 349, 350, 351, 352, 353, 192, 194, 189, 0, + 187, 190, 191, 0, 498, 500, 0, 503, 0, 0, + 507, 511, 0, 0, 0, 516, 523, 496, 0, 480, + 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, + 492, 493, 494, 495, 42, 0, 0, 35, 0, 0, + 0, 0, 0, 0, 53, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, - 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 221, 0, 0, 0, 367, 0, 0, 0, 0, 0, - 0, 0, 0, 393, 0, 296, 0, 0, 0, 0, - 0, 0, 0, 304, 0, 0, 0, 0, 339, 0, - 0, 0, 0, 186, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 472, - 46, 39, 0, 0, 0, 0, 0, 0, 57, 0, - 98, 99, 0, 0, 0, 0, 0, 94, 95, 96, - 97, 0, 0, 0, 0, 0, 0, 0, 0, 458, - 0, 0, 69, 0, 0, 0, 120, 103, 0, 0, - 0, 0, 0, 0, 0, 0, 266, 267, 0, 0, - 0, 0, 223, 0, 0, 369, 0, 0, 0, 0, - 0, 0, 0, 0, 397, 0, 0, 318, 0, 0, - 0, 329, 308, 0, 356, 357, 343, 0, 0, 188, - 490, 0, 0, 495, 0, 498, 499, 0, 0, 506, - 507, 508, 0, 0, 474, 0, 0, 0, 519, 521, - 523, 0, 412, 414, 416, 0, 0, 214, 297, 332, - 270, 0, 0, 179, 0, 0, 0, 47, 111, 114, - 115, 113, 118, 119, 117, 250, 252, 254, 360, 36, - 379, 248, 256, 258, 263, 264, 265, 262, 260, 386, - 0, 377, 382, 383, 381, 432, 420, 422, 426, 424, - 430, 428, 418, 321, 154, 325, 323, 328, 353, 193, - 195, 492, 494, 497, 502, 503, 501, 505, 512, 511, - 513, 514, 515, 510, 517, 40, 0, 529, 0, 526, - 528, 0, 140, 146, 148, 150, 0, 0, 0, 0, - 0, 159, 161, 139, 0, 125, 127, 128, 129, 130, - 131, 132, 133, 134, 135, 136, 137, 138, 0, 218, - 0, 215, 216, 301, 0, 298, 299, 336, 0, 333, - 334, 274, 0, 271, 272, 172, 173, 174, 175, 176, - 0, 165, 167, 168, 169, 170, 171, 441, 0, 439, - 183, 0, 180, 181, 0, 0, 0, 0, 0, 0, - 0, 198, 200, 201, 202, 203, 204, 205, 465, 467, - 0, 461, 463, 464, 0, 49, 364, 0, 361, 362, - 390, 0, 387, 388, 435, 0, 65, 0, 0, 525, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 122, 124, 0, 213, 0, 305, 294, - 0, 340, 331, 0, 0, 269, 0, 0, 164, 443, - 0, 438, 0, 178, 0, 0, 0, 0, 0, 0, - 0, 0, 197, 0, 0, 0, 460, 470, 51, 0, - 50, 0, 359, 0, 394, 385, 0, 0, 434, 0, - 527, 0, 0, 0, 0, 152, 155, 156, 157, 158, - 0, 0, 126, 0, 217, 0, 300, 0, 335, 292, - 291, 281, 282, 284, 278, 279, 280, 290, 289, 0, - 276, 283, 285, 286, 287, 288, 273, 166, 456, 454, - 455, 449, 450, 451, 452, 453, 0, 444, 445, 447, - 448, 440, 0, 182, 206, 207, 208, 209, 210, 211, - 199, 0, 0, 462, 48, 0, 0, 363, 0, 389, - 0, 0, 142, 143, 144, 145, 141, 147, 149, 151, - 160, 162, 219, 302, 337, 0, 275, 0, 442, 0, - 184, 466, 468, 52, 365, 391, 436, 533, 0, 531, - 277, 0, 446, 0, 0, 530, 457, 545, 0, 543, - 541, 537, 0, 535, 539, 540, 538, 532, 0, 0, - 0, 0, 534, 0, 542, 0, 536, 0, 544, 549, - 0, 547, 0, 0, 546, 557, 0, 0, 0, 0, - 551, 553, 554, 555, 556, 548, 0, 0, 0, 0, - 0, 550, 0, 559, 560, 561, 552, 558 + 0, 67, 0, 0, 0, 0, 0, 109, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 221, 0, 0, 0, 371, 0, + 0, 0, 0, 0, 0, 0, 0, 398, 0, 300, + 0, 0, 0, 0, 0, 0, 0, 308, 0, 0, + 0, 0, 343, 0, 0, 0, 0, 186, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 479, 46, 39, 0, 0, 0, 0, + 0, 0, 57, 0, 98, 99, 0, 0, 0, 0, + 0, 94, 95, 96, 97, 0, 0, 0, 0, 0, + 0, 0, 0, 465, 0, 0, 69, 0, 0, 0, + 120, 103, 0, 0, 0, 0, 0, 0, 0, 0, + 269, 270, 0, 0, 0, 0, 0, 223, 0, 0, + 373, 0, 0, 0, 0, 0, 0, 0, 0, 402, + 0, 0, 322, 0, 0, 0, 333, 312, 0, 360, + 361, 347, 0, 0, 188, 497, 0, 0, 502, 0, + 505, 506, 0, 0, 513, 514, 515, 0, 0, 481, + 0, 0, 0, 526, 528, 530, 0, 417, 419, 421, + 0, 0, 214, 301, 336, 273, 0, 0, 179, 0, + 0, 0, 47, 111, 114, 115, 113, 118, 119, 117, + 251, 253, 255, 364, 36, 384, 249, 257, 259, 266, + 267, 268, 265, 263, 261, 391, 0, 382, 387, 388, + 386, 437, 425, 427, 431, 429, 435, 433, 423, 325, + 154, 329, 327, 332, 357, 193, 195, 499, 501, 504, + 509, 510, 508, 512, 519, 518, 520, 521, 522, 517, + 524, 40, 0, 536, 0, 533, 535, 0, 140, 146, + 148, 150, 0, 0, 0, 0, 0, 159, 161, 139, + 0, 125, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 0, 218, 0, 215, 216, 305, + 0, 302, 303, 340, 0, 337, 338, 277, 0, 274, + 275, 172, 173, 174, 175, 176, 0, 165, 167, 168, + 169, 170, 171, 446, 0, 444, 183, 0, 180, 181, + 0, 0, 0, 0, 0, 0, 0, 198, 200, 201, + 202, 203, 204, 205, 472, 474, 0, 468, 470, 471, + 0, 49, 368, 0, 365, 366, 395, 0, 392, 393, + 440, 0, 65, 0, 0, 532, 101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, + 124, 0, 213, 0, 309, 298, 0, 344, 335, 0, + 0, 272, 0, 0, 164, 448, 0, 443, 0, 178, + 0, 0, 0, 0, 0, 0, 0, 0, 197, 0, + 0, 0, 467, 477, 51, 0, 50, 0, 363, 0, + 399, 390, 0, 0, 439, 0, 534, 0, 0, 0, + 0, 152, 155, 156, 157, 158, 0, 0, 126, 0, + 217, 0, 304, 0, 339, 296, 295, 284, 285, 287, + 281, 282, 283, 293, 294, 292, 0, 279, 286, 288, + 289, 290, 291, 276, 166, 462, 0, 460, 461, 455, + 456, 457, 458, 459, 0, 449, 450, 452, 453, 454, + 445, 0, 182, 206, 207, 208, 209, 210, 211, 199, + 0, 0, 469, 48, 0, 0, 367, 0, 394, 0, + 0, 142, 143, 144, 145, 141, 147, 149, 151, 160, + 162, 219, 306, 341, 0, 278, 0, 0, 447, 0, + 184, 473, 475, 52, 369, 396, 441, 540, 0, 538, + 280, 0, 464, 451, 0, 0, 537, 463, 552, 0, + 550, 548, 544, 0, 542, 546, 547, 545, 539, 0, + 0, 0, 0, 541, 0, 549, 0, 543, 0, 551, + 556, 0, 554, 0, 0, 553, 564, 0, 0, 0, + 0, 558, 560, 561, 562, 563, 555, 0, 0, 0, + 0, 0, 557, 0, 566, 567, 568, 559, 565 }; const short int Dhcp4Parser::yypgoto_[] = { - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -47, -703, 70, -703, -703, -703, - -703, -703, -703, -703, -703, 99, -703, -703, -703, -62, - -703, -703, -703, 230, -703, -703, -703, -703, 68, 248, - -30, -25, -24, -703, -703, -19, -703, -703, 73, 243, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, 67, -115, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -69, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -128, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -134, -703, -703, -703, -131, 204, -703, -703, -703, -703, - -703, -703, -703, -129, -703, -703, -703, -703, -703, -703, - -702, -703, -703, -703, -107, -703, -703, -703, -101, 255, - -703, -703, -703, -703, -703, -703, -703, -703, -682, -703, - -703, -703, -48, -703, -681, -703, -703, -703, -703, -703, - -703, -703, -703, -111, -703, -703, -229, -49, -703, -703, - -703, -703, -703, -103, -703, -703, -703, -100, -703, 225, - -703, -64, -703, -703, -703, -703, -703, -44, -703, -703, - -703, -703, -703, -50, -703, -703, -703, -98, -703, -703, - -703, -95, -703, 228, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -125, -703, -703, -703, -122, - 257, -703, -703, -45, -703, -703, -703, -703, -703, -703, - -703, -703, -124, -703, -703, -703, -123, -703, 252, -43, - -703, -42, -703, -31, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -677, -703, -703, -703, -703, -703, -703, -97, -703, - -703, -703, -212, -703, -703, -703, -703, -703, -703, -703, - -96, -703, -703, -703, -703, -703, -703, -703, -703, 109, - 220, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -703, -703, -703, -703, -703, -703, -703, - -703, -703, -703, -51, -703, -703, -703, -216, -703, -703, - -227, -703, -703, -703, -703, -703, -703, -230, -703, -703, - -246, -703, -703, -703, -703, -703 + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -49, -702, 101, -702, -702, -702, + -702, -702, -702, -702, -702, -406, -702, -702, -702, -62, + -702, -702, -702, 264, -702, -702, -702, -702, 92, 261, + -51, -40, -27, -702, -702, -25, -702, -702, 86, 263, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, 89, -95, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -69, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -108, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -114, -702, -702, -702, -111, 222, -702, -702, -702, -702, + -702, -702, -702, -118, -702, -702, -702, -702, -702, -702, + -701, -702, -702, -702, -92, -702, -702, -702, -89, 262, + -702, -702, -702, -702, -702, -702, -702, -702, -679, -702, + -702, -702, -46, -702, -21, -702, -665, -702, -702, -702, + -702, -702, -702, -702, -702, -98, -702, -702, -218, -66, + -702, -702, -702, -702, -702, -88, -702, -702, -702, -85, + -702, 243, -702, -64, -702, -702, -702, -702, -702, -52, + -702, -702, -702, -702, -702, -50, -702, -702, -702, -87, + -702, -702, -702, -84, -702, 237, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -115, -702, -702, + -702, -109, 274, -702, -702, -53, -702, -702, -702, -702, + -702, -702, -702, -702, -116, -702, -702, -702, -107, -702, + 272, -44, -702, -43, -702, -33, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -664, -702, -702, -702, -702, -702, -702, + -72, -702, -702, -702, -192, -702, -702, -702, -702, -702, + -702, -702, -702, -79, -702, -702, -702, -702, -702, -702, + -702, -702, 142, 252, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -702, -702, -702, -702, + -702, -702, -702, -702, -702, -702, -22, -702, -702, -702, + -186, -702, -702, -199, -702, -702, -702, -702, -702, -702, + -205, -702, -702, -221, -702, -702, -702, -702, -702 }; const short int Dhcp4Parser::yydefgoto_[] = { -1, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 34, 35, 36, 61, 540, 77, - 78, 37, 60, 74, 75, 528, 675, 739, 740, 116, - 39, 62, 86, 87, 88, 306, 41, 63, 117, 118, - 119, 120, 121, 122, 123, 124, 125, 314, 146, 147, - 43, 64, 148, 339, 149, 340, 531, 150, 341, 534, - 151, 126, 320, 127, 321, 604, 605, 606, 691, 826, - 607, 692, 608, 693, 609, 694, 610, 234, 377, 612, - 613, 614, 615, 616, 700, 617, 701, 128, 330, 640, - 641, 642, 643, 644, 645, 646, 129, 332, 651, 652, - 653, 722, 57, 71, 266, 267, 268, 390, 269, 391, - 130, 333, 660, 661, 662, 663, 664, 665, 666, 667, - 131, 326, 620, 621, 622, 705, 45, 65, 171, 172, - 173, 350, 174, 345, 175, 346, 176, 347, 177, 351, - 178, 352, 179, 356, 180, 355, 547, 181, 182, 132, - 329, 632, 633, 634, 714, 779, 780, 133, 327, 51, - 68, 624, 625, 626, 708, 53, 69, 235, 236, 237, - 238, 239, 240, 241, 376, 242, 380, 243, 379, 244, - 245, 381, 246, 134, 328, 628, 629, 630, 711, 55, - 70, 254, 255, 256, 257, 258, 385, 259, 260, 261, - 262, 184, 348, 677, 678, 679, 741, 47, 66, 196, - 197, 198, 361, 185, 349, 200, 362, 554, 186, 357, - 681, 682, 683, 744, 49, 67, 211, 212, 213, 135, - 317, 136, 318, 137, 319, 217, 372, 218, 366, 219, - 367, 220, 369, 221, 368, 222, 371, 223, 370, 224, - 365, 190, 358, 685, 747, 138, 331, 648, 649, 719, - 796, 797, 798, 799, 800, 837, 139, 140, 335, 670, - 671, 672, 733, 673, 734, 141, 336, 59, 72, 285, - 286, 287, 288, 395, 289, 396, 290, 291, 398, 292, - 293, 294, 401, 576, 295, 402, 296, 297, 298, 299, - 406, 583, 300, 407, 89, 308, 90, 309, 91, 310, - 92, 307, 588, 589, 590, 687, 848, 849, 853, 862, - 863, 864, 865, 870, 866, 868, 880, 881, 882, 889, - 890, 891, 896, 892, 893, 894 + 22, 23, 24, 25, 34, 35, 36, 61, 545, 77, + 78, 37, 60, 74, 75, 533, 681, 745, 746, 116, + 39, 62, 86, 87, 88, 309, 41, 63, 117, 118, + 119, 120, 121, 122, 123, 124, 125, 317, 146, 147, + 43, 64, 148, 342, 149, 343, 536, 150, 344, 539, + 151, 126, 323, 127, 324, 610, 611, 612, 697, 835, + 613, 698, 614, 699, 615, 700, 616, 237, 381, 618, + 619, 620, 621, 622, 706, 623, 707, 128, 333, 646, + 647, 648, 649, 650, 651, 652, 129, 335, 657, 658, + 659, 728, 57, 71, 269, 270, 271, 394, 272, 395, + 130, 336, 666, 667, 668, 669, 670, 671, 672, 673, + 131, 329, 626, 627, 628, 711, 45, 65, 172, 173, + 174, 353, 175, 348, 176, 349, 177, 350, 178, 354, + 179, 355, 180, 360, 181, 359, 182, 358, 552, 183, + 184, 132, 332, 638, 639, 640, 720, 786, 787, 133, + 330, 51, 68, 630, 631, 632, 714, 53, 69, 238, + 239, 240, 241, 242, 243, 244, 380, 245, 384, 246, + 383, 247, 248, 385, 249, 134, 331, 634, 635, 636, + 717, 55, 70, 257, 258, 259, 260, 261, 389, 262, + 263, 264, 265, 186, 351, 683, 684, 685, 747, 47, + 66, 199, 200, 201, 365, 187, 352, 203, 366, 560, + 188, 361, 687, 688, 689, 750, 49, 67, 214, 215, + 216, 135, 320, 136, 321, 137, 322, 220, 376, 221, + 370, 222, 371, 223, 373, 224, 372, 225, 375, 226, + 374, 227, 369, 192, 362, 691, 753, 138, 334, 654, + 655, 725, 804, 805, 806, 807, 808, 846, 809, 139, + 140, 338, 676, 677, 678, 739, 679, 740, 141, 339, + 59, 72, 288, 289, 290, 291, 399, 292, 400, 293, + 294, 402, 295, 296, 297, 405, 582, 298, 406, 299, + 300, 301, 302, 410, 589, 303, 411, 89, 311, 90, + 312, 91, 313, 92, 310, 594, 595, 596, 693, 858, + 859, 864, 873, 874, 875, 876, 881, 877, 879, 891, + 892, 893, 900, 901, 902, 907, 903, 904, 905 }; const unsigned short int Dhcp4Parser::yytable_[] = { - 85, 251, 79, 166, 193, 209, 252, 233, 250, 265, - 284, 717, 775, 73, 718, 183, 195, 210, 194, 225, - 574, 199, 187, 188, 214, 215, 253, 27, 38, 28, - 26, 29, 776, 778, 189, 167, 216, 785, 312, 93, - 168, 169, 720, 313, 40, 721, 170, 107, 94, 95, - 96, 97, 98, 99, 100, 263, 264, 337, 42, 191, - 156, 192, 338, 95, 96, 97, 98, 544, 545, 546, - 101, 102, 103, 104, 105, 343, 163, 359, 106, 107, - 344, 76, 360, 44, 101, 102, 103, 885, 105, 108, - 886, 887, 888, 107, 227, 227, 247, 228, 229, 248, - 249, 263, 264, 142, 143, 109, 110, 144, 363, 46, - 145, 158, 84, 364, 226, 162, 80, 854, 111, 48, - 855, 112, 163, 50, 575, 81, 82, 83, 113, 114, - 165, 52, 115, 775, 95, 96, 97, 98, 392, 227, - 84, 228, 229, 393, 84, 230, 231, 232, 54, 96, - 97, 98, 578, 776, 778, 101, 102, 103, 785, 56, - 152, 153, 154, 227, 107, 529, 530, 96, 97, 98, - 30, 31, 32, 33, 58, 155, 84, 156, 107, 532, - 533, 157, 158, 159, 160, 161, 162, 408, 552, 553, - 84, 84, 409, 163, 164, 106, 107, 227, 337, 688, - 106, 165, 302, 686, 689, 201, 579, 580, 581, 202, - 203, 204, 205, 206, 207, 301, 208, 343, 702, 304, - 592, 303, 690, 703, 788, 593, 594, 595, 596, 597, - 598, 599, 600, 601, 602, 84, 582, 857, 305, 858, - 859, 635, 636, 637, 638, 227, 639, 702, 731, 735, - 85, 311, 704, 732, 736, 410, 411, 883, 373, 84, - 884, 84, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 315, 84, 270, 271, 272, 273, - 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, - 408, 359, 374, 84, 835, 737, 832, 166, 316, 836, - 322, 193, 654, 655, 656, 657, 658, 659, 323, 183, - 324, 325, 209, 195, 334, 194, 187, 188, 199, 84, - 251, 392, 233, 375, 210, 252, 840, 250, 189, 167, - 342, 214, 215, 363, 168, 169, 353, 871, 844, 900, - 170, 84, 872, 216, 901, 253, 284, 822, 823, 824, - 825, 668, 669, 354, 378, 382, 383, 384, 412, 386, - 387, 388, 389, 420, 394, 397, 399, 400, 508, 509, - 510, 403, 404, 405, 413, 414, 415, 416, 417, 419, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 431, 432, 433, 434, 435, 436, 437, 438, 440, 441, - 439, 443, 444, 445, 446, 448, 449, 450, 451, 452, - 453, 454, 455, 456, 457, 458, 459, 460, 461, 463, - 464, 466, 467, 468, 469, 470, 471, 472, 473, 475, - 476, 477, 478, 479, 480, 481, 483, 484, 487, 488, - 491, 570, 492, 485, 490, 494, 611, 611, 493, 495, - 496, 497, 498, 603, 603, 502, 499, 503, 585, 500, - 501, 505, 506, 507, 284, 511, 515, 516, 512, 513, - 514, 517, 518, 519, 520, 521, 522, 523, 755, 535, - 524, 525, 526, 527, 538, 536, 537, 28, 541, 542, - 543, 548, 549, 550, 551, 556, 619, 623, 627, 631, - 557, 647, 650, 676, 680, 558, 559, 695, 696, 697, - 698, 699, 560, 561, 562, 706, 707, 709, 710, 713, - 712, 716, 539, 715, 563, 723, 724, 742, 684, 725, - 564, 565, 566, 567, 726, 727, 728, 729, 730, 743, - 746, 745, 418, 749, 568, 751, 748, 752, 569, 753, - 754, 577, 760, 761, 811, 812, 820, 571, 572, 814, - 815, 821, 587, 833, 839, 555, 834, 838, 845, 847, - 851, 869, 873, 875, 586, 573, 877, 879, 897, 898, - 899, 584, 902, 618, 591, 442, 447, 762, 738, 787, - 803, 802, 757, 756, 759, 758, 489, 903, 804, 805, - 764, 806, 810, 807, 763, 786, 850, 766, 765, 482, - 808, 809, 827, 828, 462, 768, 767, 486, 817, 816, - 465, 818, 819, 801, 829, 830, 474, 852, 504, 831, - 841, 842, 843, 611, 874, 674, 846, 750, 867, 813, - 603, 856, 251, 166, 876, 774, 233, 252, 878, 250, - 790, 904, 769, 895, 906, 183, 907, 789, 0, 905, - 265, 0, 187, 188, 781, 0, 777, 253, 0, 792, - 791, 782, 783, 0, 189, 167, 793, 794, 0, 193, - 168, 169, 209, 784, 770, 0, 170, 0, 795, 771, - 772, 195, 0, 194, 210, 773, 199, 0, 0, 0, - 0, 214, 215, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, + 85, 254, 228, 167, 195, 212, 255, 236, 253, 268, + 287, 73, 79, 202, 168, 185, 198, 213, 256, 781, + 196, 189, 190, 217, 218, 169, 27, 580, 28, 26, + 29, 38, 191, 40, 219, 266, 267, 230, 170, 93, + 171, 782, 42, 723, 726, 197, 724, 727, 94, 95, + 96, 97, 98, 99, 100, 785, 792, 553, 266, 267, + 95, 96, 97, 98, 896, 561, 44, 897, 898, 899, + 101, 102, 103, 104, 105, 315, 534, 535, 106, 107, + 316, 101, 102, 103, 537, 538, 152, 153, 154, 108, + 107, 46, 84, 340, 346, 96, 97, 98, 341, 347, + 48, 155, 50, 156, 52, 109, 110, 157, 158, 159, + 160, 161, 162, 868, 363, 869, 870, 54, 163, 364, + 111, 164, 165, 112, 107, 549, 550, 551, 80, 166, + 113, 114, 56, 581, 115, 84, 367, 81, 82, 83, + 76, 368, 58, 781, 396, 95, 96, 97, 98, 397, + 106, 204, 84, 96, 97, 98, 304, 205, 206, 207, + 208, 209, 210, 229, 211, 782, 101, 102, 103, 305, + 105, 30, 31, 32, 33, 107, 230, 306, 84, 785, + 792, 106, 107, 230, 584, 558, 559, 412, 230, 84, + 231, 232, 413, 158, 233, 234, 235, 162, 142, 143, + 674, 675, 144, 163, 340, 145, 164, 307, 107, 692, + 694, 795, 796, 346, 166, 695, 308, 377, 696, 598, + 193, 156, 194, 84, 599, 600, 601, 602, 603, 604, + 605, 606, 607, 608, 865, 378, 163, 866, 708, 164, + 585, 586, 587, 709, 230, 230, 250, 231, 232, 251, + 252, 894, 388, 85, 895, 314, 414, 415, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 588, 318, 319, 325, 84, 660, 661, 662, 663, 664, + 665, 84, 641, 642, 643, 644, 84, 645, 708, 737, + 741, 412, 363, 710, 738, 742, 743, 841, 844, 396, + 379, 167, 326, 845, 850, 195, 367, 84, 327, 328, + 882, 854, 168, 185, 202, 883, 212, 198, 337, 189, + 190, 196, 911, 169, 254, 345, 236, 912, 213, 255, + 191, 253, 356, 357, 217, 218, 170, 382, 171, 386, + 387, 256, 84, 84, 390, 219, 197, 391, 393, 392, + 287, 273, 274, 275, 276, 277, 278, 279, 280, 281, + 282, 283, 284, 285, 286, 831, 832, 833, 834, 398, + 513, 514, 515, 401, 403, 404, 407, 408, 409, 416, + 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, + 428, 429, 430, 431, 84, 435, 432, 433, 434, 436, + 437, 438, 439, 440, 441, 442, 443, 444, 445, 447, + 448, 449, 450, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 462, 463, 461, 464, 465, 466, 468, 469, + 471, 472, 473, 474, 475, 476, 477, 478, 480, 481, + 483, 482, 484, 485, 576, 488, 486, 489, 492, 493, + 490, 617, 617, 495, 496, 497, 499, 498, 609, 609, + 500, 591, 501, 502, 503, 504, 505, 507, 506, 287, + 508, 510, 511, 517, 518, 512, 516, 519, 520, 521, + 522, 523, 524, 525, 526, 527, 528, 761, 540, 529, + 530, 531, 532, 543, 541, 701, 542, 28, 546, 547, + 548, 554, 555, 556, 557, 562, 563, 564, 565, 566, + 567, 568, 569, 570, 571, 583, 572, 573, 574, 593, + 625, 629, 633, 637, 653, 575, 656, 682, 686, 702, + 703, 690, 577, 578, 704, 705, 713, 716, 712, 579, + 590, 715, 718, 719, 721, 722, 730, 729, 731, 732, + 733, 734, 735, 736, 749, 752, 748, 544, 744, 751, + 755, 757, 754, 758, 759, 760, 766, 767, 820, 821, + 762, 763, 823, 824, 830, 829, 842, 847, 849, 422, + 843, 861, 848, 880, 855, 857, 884, 886, 890, 888, + 764, 908, 909, 765, 813, 910, 913, 814, 815, 816, + 817, 446, 597, 592, 818, 836, 837, 838, 839, 451, + 624, 840, 851, 768, 852, 794, 812, 811, 494, 819, + 853, 770, 769, 856, 793, 467, 860, 862, 772, 771, + 491, 487, 774, 773, 826, 867, 828, 885, 825, 617, + 915, 470, 889, 827, 916, 918, 609, 914, 254, 167, + 479, 780, 236, 255, 810, 253, 798, 863, 775, 799, + 168, 185, 822, 797, 509, 256, 268, 189, 190, 776, + 788, 169, 756, 680, 783, 800, 789, 790, 191, 878, + 777, 801, 802, 887, 170, 195, 171, 791, 212, 906, + 917, 0, 803, 778, 202, 779, 0, 198, 0, 784, + 213, 196, 0, 0, 0, 0, 217, 218, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 219, 0, 0, + 0, 0, 0, 0, 0, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 774, 0, 0, 0, - 790, 0, 0, 769, 0, 0, 0, 789, 0, 0, - 0, 0, 0, 0, 861, 781, 0, 777, 0, 792, - 791, 860, 782, 783, 0, 0, 793, 794, 0, 0, - 0, 0, 861, 0, 784, 770, 0, 0, 795, 860, - 771, 772, 0, 0, 0, 0, 773 + 0, 0, 0, 0, 0, 780, 0, 0, 0, 0, + 798, 0, 775, 799, 0, 0, 0, 797, 0, 0, + 0, 0, 0, 776, 788, 872, 0, 0, 783, 800, + 789, 790, 871, 0, 777, 801, 802, 0, 0, 0, + 0, 791, 0, 872, 0, 0, 803, 778, 0, 779, + 871, 0, 0, 784 }; const short int Dhcp4Parser::yycheck_[] = { - 62, 70, 10, 65, 66, 67, 70, 69, 70, 71, - 72, 3, 714, 60, 6, 65, 66, 67, 66, 68, - 15, 66, 65, 65, 67, 67, 70, 5, 7, 7, - 0, 9, 714, 714, 65, 65, 67, 714, 3, 11, - 65, 65, 3, 8, 7, 6, 65, 51, 20, 21, - 22, 23, 24, 25, 26, 91, 92, 3, 7, 63, - 64, 65, 8, 21, 22, 23, 24, 74, 75, 76, - 42, 43, 44, 45, 46, 3, 80, 3, 50, 51, - 8, 148, 8, 7, 42, 43, 44, 127, 46, 61, - 130, 131, 132, 51, 52, 52, 53, 54, 55, 56, - 57, 91, 92, 12, 13, 77, 78, 16, 3, 7, - 19, 69, 148, 8, 27, 73, 124, 3, 90, 7, - 6, 93, 80, 7, 119, 133, 134, 135, 100, 101, - 88, 7, 104, 835, 21, 22, 23, 24, 3, 52, - 148, 54, 55, 8, 148, 58, 59, 60, 7, 22, - 23, 24, 67, 835, 835, 42, 43, 44, 835, 7, - 47, 48, 49, 52, 51, 14, 15, 22, 23, 24, - 148, 149, 150, 151, 7, 62, 148, 64, 51, 17, - 18, 68, 69, 70, 71, 72, 73, 3, 66, 67, - 148, 148, 8, 80, 81, 50, 51, 52, 3, 3, - 50, 88, 3, 8, 8, 78, 121, 122, 123, 82, - 83, 84, 85, 86, 87, 6, 89, 3, 3, 8, - 27, 4, 8, 8, 79, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 148, 151, 126, 3, 128, - 129, 82, 83, 84, 85, 52, 87, 3, 3, 3, - 312, 4, 8, 8, 8, 302, 303, 3, 8, 148, - 6, 148, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 4, 148, 105, 106, 107, 108, - 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, - 3, 3, 3, 148, 3, 8, 8, 359, 4, 8, - 4, 363, 94, 95, 96, 97, 98, 99, 4, 359, - 4, 4, 374, 363, 4, 363, 359, 359, 363, 148, - 389, 3, 384, 8, 374, 389, 8, 389, 359, 359, - 4, 374, 374, 3, 359, 359, 4, 3, 8, 3, - 359, 148, 8, 374, 8, 389, 408, 28, 29, 30, - 31, 102, 103, 4, 4, 4, 8, 3, 148, 4, - 4, 8, 3, 151, 4, 4, 4, 4, 415, 416, - 417, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 151, 4, 4, 4, 4, 4, 149, 149, 149, 149, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 149, 4, 4, 4, 151, 4, 4, 4, 4, 4, - 4, 4, 4, 149, 151, 4, 4, 4, 4, 4, + 62, 70, 68, 65, 66, 67, 70, 69, 70, 71, + 72, 60, 10, 66, 65, 65, 66, 67, 70, 720, + 66, 65, 65, 67, 67, 65, 5, 15, 7, 0, + 9, 7, 65, 7, 67, 93, 94, 52, 65, 11, + 65, 720, 7, 3, 3, 66, 6, 6, 20, 21, + 22, 23, 24, 25, 26, 720, 720, 463, 93, 94, + 21, 22, 23, 24, 129, 471, 7, 132, 133, 134, + 42, 43, 44, 45, 46, 3, 14, 15, 50, 51, + 8, 42, 43, 44, 17, 18, 47, 48, 49, 61, + 51, 7, 150, 3, 3, 22, 23, 24, 8, 8, + 7, 62, 7, 64, 7, 77, 78, 68, 69, 70, + 71, 72, 73, 128, 3, 130, 131, 7, 79, 8, + 92, 82, 83, 95, 51, 74, 75, 76, 126, 90, + 102, 103, 7, 121, 106, 150, 3, 135, 136, 137, + 150, 8, 7, 844, 3, 21, 22, 23, 24, 8, + 50, 78, 150, 22, 23, 24, 6, 84, 85, 86, + 87, 88, 89, 27, 91, 844, 42, 43, 44, 3, + 46, 150, 151, 152, 153, 51, 52, 4, 150, 844, + 844, 50, 51, 52, 67, 66, 67, 3, 52, 150, + 54, 55, 8, 69, 58, 59, 60, 73, 12, 13, + 104, 105, 16, 79, 3, 19, 82, 8, 51, 8, + 3, 80, 81, 3, 90, 8, 3, 8, 8, 27, + 63, 64, 65, 150, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 3, 3, 79, 6, 3, 82, + 123, 124, 125, 8, 52, 52, 53, 54, 55, 56, + 57, 3, 3, 315, 6, 4, 305, 306, 138, 139, + 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, + 153, 4, 4, 4, 150, 96, 97, 98, 99, 100, + 101, 150, 84, 85, 86, 87, 150, 89, 3, 3, + 3, 3, 3, 8, 8, 8, 8, 8, 3, 3, + 8, 363, 4, 8, 8, 367, 3, 150, 4, 4, + 3, 8, 363, 363, 367, 8, 378, 367, 4, 363, + 363, 367, 3, 363, 393, 4, 388, 8, 378, 393, + 363, 393, 4, 4, 378, 378, 363, 4, 363, 4, + 8, 393, 150, 150, 4, 378, 367, 4, 3, 8, + 412, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 28, 29, 30, 31, 4, + 419, 420, 421, 4, 4, 4, 4, 4, 4, 150, + 4, 4, 4, 4, 4, 4, 153, 153, 4, 4, + 4, 4, 4, 151, 150, 4, 151, 151, 151, 4, + 4, 4, 4, 4, 4, 4, 151, 4, 4, 4, + 4, 4, 153, 4, 4, 4, 4, 4, 4, 4, + 4, 151, 4, 4, 153, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 149, 4, 4, 4, 151, 4, 151, 4, 4, - 4, 488, 4, 151, 151, 4, 515, 516, 149, 149, - 149, 4, 4, 515, 516, 4, 151, 4, 505, 151, - 151, 4, 7, 7, 526, 7, 7, 7, 148, 148, - 148, 5, 5, 5, 5, 5, 5, 5, 149, 148, - 7, 7, 7, 5, 5, 148, 148, 7, 148, 148, - 148, 148, 5, 7, 148, 148, 7, 7, 7, 7, - 148, 7, 7, 7, 7, 148, 148, 4, 4, 4, - 4, 4, 148, 148, 148, 6, 3, 6, 3, 3, - 6, 3, 452, 6, 148, 6, 3, 6, 89, 4, - 148, 148, 148, 148, 4, 4, 4, 4, 4, 3, - 3, 6, 312, 4, 148, 4, 8, 4, 148, 4, - 4, 120, 4, 4, 4, 4, 4, 148, 148, 6, - 3, 5, 125, 8, 3, 466, 8, 8, 8, 7, - 4, 4, 4, 4, 506, 148, 5, 7, 4, 4, - 4, 148, 4, 516, 511, 337, 343, 702, 148, 717, - 724, 722, 149, 151, 149, 151, 392, 151, 149, 149, - 707, 149, 731, 149, 705, 716, 835, 710, 708, 384, - 149, 149, 148, 148, 359, 713, 711, 389, 743, 741, - 363, 744, 746, 720, 148, 148, 374, 839, 408, 148, - 148, 148, 148, 702, 149, 526, 148, 688, 854, 735, - 702, 148, 711, 705, 871, 714, 708, 711, 148, 711, - 719, 149, 714, 883, 900, 705, 148, 719, -1, 149, - 722, -1, 705, 705, 714, -1, 714, 711, -1, 719, - 719, 714, 714, -1, 705, 705, 719, 719, -1, 741, - 705, 705, 744, 714, 714, -1, 705, -1, 719, 714, - 714, 741, -1, 741, 744, 714, 741, -1, -1, -1, - -1, 744, 744, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 744, -1, -1, -1, -1, -1, -1, + 4, 151, 4, 4, 493, 4, 153, 153, 4, 4, + 153, 520, 521, 153, 4, 4, 4, 151, 520, 521, + 151, 510, 151, 4, 4, 153, 153, 4, 153, 531, + 4, 4, 7, 150, 150, 7, 7, 150, 7, 7, + 5, 5, 5, 5, 5, 5, 5, 151, 150, 7, + 7, 7, 5, 5, 150, 4, 150, 7, 150, 150, + 150, 150, 5, 7, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 122, 150, 150, 150, 127, + 7, 7, 7, 7, 7, 150, 7, 7, 7, 4, + 4, 91, 150, 150, 4, 4, 3, 3, 6, 150, + 150, 6, 6, 3, 6, 3, 3, 6, 4, 4, + 4, 4, 4, 4, 3, 3, 6, 456, 150, 6, + 4, 4, 8, 4, 4, 4, 4, 4, 4, 4, + 153, 151, 6, 3, 5, 4, 8, 4, 3, 315, + 8, 4, 8, 4, 8, 7, 4, 4, 7, 5, + 153, 4, 4, 151, 151, 4, 4, 151, 151, 151, + 151, 340, 516, 511, 151, 150, 150, 150, 150, 346, + 521, 150, 150, 708, 150, 723, 730, 728, 396, 737, + 150, 713, 711, 150, 722, 363, 844, 153, 716, 714, + 393, 388, 719, 717, 749, 150, 752, 151, 747, 708, + 151, 367, 150, 750, 151, 150, 708, 153, 717, 711, + 378, 720, 714, 717, 726, 717, 725, 849, 720, 725, + 711, 711, 741, 725, 412, 717, 728, 711, 711, 720, + 720, 711, 694, 531, 720, 725, 720, 720, 711, 865, + 720, 725, 725, 882, 711, 747, 711, 720, 750, 894, + 911, -1, 725, 720, 747, 720, -1, 747, -1, 720, + 750, 747, -1, -1, -1, -1, 750, 750, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 750, -1, -1, + -1, -1, -1, -1, -1, -1, 747, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 835, -1, -1, -1, - 839, -1, -1, 835, -1, -1, -1, 839, -1, -1, - -1, -1, -1, -1, 853, 835, -1, 835, -1, 839, - 839, 853, 835, 835, -1, -1, 839, 839, -1, -1, - -1, -1, 871, -1, 835, 835, -1, -1, 839, 871, - 835, 835, -1, -1, -1, -1, 835 + -1, -1, -1, -1, -1, 844, -1, -1, -1, -1, + 849, -1, 844, 849, -1, -1, -1, 849, -1, -1, + -1, -1, -1, 844, 844, 864, -1, -1, 844, 849, + 844, 844, 864, -1, 844, 849, 849, -1, -1, -1, + -1, 844, -1, 882, -1, -1, 849, 844, -1, 844, + 882, -1, -1, 844 }; const unsigned short int Dhcp4Parser::yystos_[] = { - 0, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 165, 0, 5, 7, 9, - 148, 149, 150, 151, 166, 167, 168, 173, 7, 182, - 7, 188, 7, 202, 7, 278, 7, 359, 7, 376, - 7, 311, 7, 317, 7, 341, 7, 254, 7, 429, - 174, 169, 183, 189, 203, 279, 360, 377, 312, 318, - 342, 255, 430, 166, 175, 176, 148, 171, 172, 10, - 124, 133, 134, 135, 148, 181, 184, 185, 186, 456, - 458, 460, 462, 11, 20, 21, 22, 23, 24, 25, + 0, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 155, 156, 157, 158, 159, 160, 161, + 162, 163, 164, 165, 166, 167, 0, 5, 7, 9, + 150, 151, 152, 153, 168, 169, 170, 175, 7, 184, + 7, 190, 7, 204, 7, 280, 7, 363, 7, 380, + 7, 315, 7, 321, 7, 345, 7, 256, 7, 434, + 176, 171, 185, 191, 205, 281, 364, 381, 316, 322, + 346, 257, 435, 168, 177, 178, 150, 173, 174, 10, + 126, 135, 136, 137, 150, 183, 186, 187, 188, 461, + 463, 465, 467, 11, 20, 21, 22, 23, 24, 25, 26, 42, 43, 44, 45, 46, 50, 51, 61, 77, - 78, 90, 93, 100, 101, 104, 181, 190, 191, 192, - 193, 194, 195, 196, 197, 198, 213, 215, 239, 248, - 262, 272, 301, 309, 335, 381, 383, 385, 407, 418, - 419, 427, 12, 13, 16, 19, 200, 201, 204, 206, - 209, 212, 47, 48, 49, 62, 64, 68, 69, 70, - 71, 72, 73, 80, 81, 88, 181, 192, 193, 194, - 197, 280, 281, 282, 284, 286, 288, 290, 292, 294, - 296, 299, 300, 335, 353, 365, 370, 381, 383, 385, - 403, 63, 65, 181, 294, 335, 361, 362, 363, 365, - 367, 78, 82, 83, 84, 85, 86, 87, 89, 181, - 335, 378, 379, 380, 381, 383, 385, 387, 389, 391, - 393, 395, 397, 399, 401, 309, 27, 52, 54, 55, - 58, 59, 60, 181, 229, 319, 320, 321, 322, 323, - 324, 325, 327, 329, 331, 332, 334, 53, 56, 57, - 181, 229, 323, 329, 343, 344, 345, 346, 347, 349, - 350, 351, 352, 91, 92, 181, 256, 257, 258, 260, - 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, - 115, 116, 117, 118, 181, 431, 432, 433, 434, 436, - 438, 439, 441, 442, 443, 446, 448, 449, 450, 451, - 454, 6, 3, 4, 8, 3, 187, 463, 457, 459, - 461, 4, 3, 8, 199, 4, 4, 382, 384, 386, - 214, 216, 4, 4, 4, 4, 273, 310, 336, 302, - 240, 408, 249, 263, 4, 420, 428, 3, 8, 205, - 207, 210, 4, 3, 8, 285, 287, 289, 354, 366, - 283, 291, 293, 4, 4, 297, 295, 371, 404, 3, - 8, 364, 368, 3, 8, 402, 390, 392, 396, 394, - 400, 398, 388, 8, 3, 8, 326, 230, 4, 330, - 328, 333, 4, 8, 3, 348, 4, 4, 8, 3, - 259, 261, 3, 8, 4, 435, 437, 4, 440, 4, - 4, 444, 447, 4, 4, 4, 452, 455, 3, 8, - 166, 166, 148, 4, 4, 4, 4, 4, 185, 4, - 151, 151, 4, 4, 4, 4, 4, 149, 149, 149, - 149, 4, 4, 4, 4, 4, 4, 4, 4, 149, - 4, 4, 191, 4, 4, 4, 151, 201, 4, 4, - 4, 4, 4, 4, 4, 4, 149, 151, 4, 4, - 4, 4, 281, 4, 4, 362, 4, 4, 4, 4, - 4, 4, 4, 4, 380, 4, 4, 149, 4, 4, - 4, 151, 321, 4, 151, 151, 345, 4, 4, 257, - 151, 4, 4, 149, 4, 149, 149, 4, 4, 151, - 151, 151, 4, 4, 432, 4, 7, 7, 166, 166, - 166, 7, 148, 148, 148, 7, 7, 5, 5, 5, - 5, 5, 5, 5, 7, 7, 7, 5, 177, 14, - 15, 208, 17, 18, 211, 148, 148, 148, 5, 168, - 170, 148, 148, 148, 74, 75, 76, 298, 148, 5, - 7, 148, 66, 67, 369, 177, 148, 148, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 166, 148, 148, 148, 15, 119, 445, 120, 67, 121, - 122, 123, 151, 453, 148, 166, 190, 125, 464, 465, - 466, 200, 27, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 181, 217, 218, 219, 222, 224, 226, - 228, 229, 231, 232, 233, 234, 235, 237, 217, 7, - 274, 275, 276, 7, 313, 314, 315, 7, 337, 338, - 339, 7, 303, 304, 305, 82, 83, 84, 85, 87, - 241, 242, 243, 244, 245, 246, 247, 7, 409, 410, - 7, 250, 251, 252, 94, 95, 96, 97, 98, 99, - 264, 265, 266, 267, 268, 269, 270, 271, 102, 103, - 421, 422, 423, 425, 431, 178, 7, 355, 356, 357, - 7, 372, 373, 374, 89, 405, 8, 467, 3, 8, - 8, 220, 223, 225, 227, 4, 4, 4, 4, 4, - 236, 238, 3, 8, 8, 277, 6, 3, 316, 6, - 3, 340, 6, 3, 306, 6, 3, 3, 6, 411, - 3, 6, 253, 6, 3, 4, 4, 4, 4, 4, - 4, 3, 8, 424, 426, 3, 8, 8, 148, 179, - 180, 358, 6, 3, 375, 6, 3, 406, 8, 4, - 465, 4, 4, 4, 4, 149, 151, 149, 151, 149, - 4, 4, 218, 280, 276, 319, 315, 343, 339, 181, - 192, 193, 194, 197, 229, 272, 290, 294, 296, 307, - 308, 335, 381, 383, 385, 403, 305, 242, 79, 181, - 229, 309, 335, 381, 383, 385, 412, 413, 414, 415, - 416, 410, 256, 252, 149, 149, 149, 149, 149, 149, - 265, 4, 4, 422, 6, 3, 361, 357, 378, 374, - 4, 5, 28, 29, 30, 31, 221, 148, 148, 148, - 148, 148, 8, 8, 8, 3, 8, 417, 8, 3, - 8, 148, 148, 148, 8, 8, 148, 7, 468, 469, - 308, 4, 414, 470, 3, 6, 148, 126, 128, 129, - 181, 229, 471, 472, 473, 474, 476, 469, 477, 4, - 475, 3, 8, 4, 149, 4, 472, 5, 148, 7, - 478, 479, 480, 3, 6, 127, 130, 131, 132, 481, - 482, 483, 485, 486, 487, 479, 484, 4, 4, 4, - 3, 8, 4, 151, 149, 149, 482, 148 + 78, 92, 95, 102, 103, 106, 183, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 215, 217, 241, 250, + 264, 274, 305, 313, 339, 385, 387, 389, 411, 423, + 424, 432, 12, 13, 16, 19, 202, 203, 206, 208, + 211, 214, 47, 48, 49, 62, 64, 68, 69, 70, + 71, 72, 73, 79, 82, 83, 90, 183, 194, 195, + 196, 199, 282, 283, 284, 286, 288, 290, 292, 294, + 296, 298, 300, 303, 304, 339, 357, 369, 374, 385, + 387, 389, 407, 63, 65, 183, 296, 298, 339, 365, + 366, 367, 369, 371, 78, 84, 85, 86, 87, 88, + 89, 91, 183, 339, 382, 383, 384, 385, 387, 389, + 391, 393, 395, 397, 399, 401, 403, 405, 313, 27, + 52, 54, 55, 58, 59, 60, 183, 231, 323, 324, + 325, 326, 327, 328, 329, 331, 333, 335, 336, 338, + 53, 56, 57, 183, 231, 327, 333, 347, 348, 349, + 350, 351, 353, 354, 355, 356, 93, 94, 183, 258, + 259, 260, 262, 107, 108, 109, 110, 111, 112, 113, + 114, 115, 116, 117, 118, 119, 120, 183, 436, 437, + 438, 439, 441, 443, 444, 446, 447, 448, 451, 453, + 454, 455, 456, 459, 6, 3, 4, 8, 3, 189, + 468, 462, 464, 466, 4, 3, 8, 201, 4, 4, + 386, 388, 390, 216, 218, 4, 4, 4, 4, 275, + 314, 340, 306, 242, 412, 251, 265, 4, 425, 433, + 3, 8, 207, 209, 212, 4, 3, 8, 287, 289, + 291, 358, 370, 285, 293, 295, 4, 4, 301, 299, + 297, 375, 408, 3, 8, 368, 372, 3, 8, 406, + 394, 396, 400, 398, 404, 402, 392, 8, 3, 8, + 330, 232, 4, 334, 332, 337, 4, 8, 3, 352, + 4, 4, 8, 3, 261, 263, 3, 8, 4, 440, + 442, 4, 445, 4, 4, 449, 452, 4, 4, 4, + 457, 460, 3, 8, 168, 168, 150, 4, 4, 4, + 4, 4, 187, 4, 153, 153, 4, 4, 4, 4, + 4, 151, 151, 151, 151, 4, 4, 4, 4, 4, + 4, 4, 4, 151, 4, 4, 193, 4, 4, 4, + 153, 203, 4, 4, 4, 4, 4, 4, 4, 4, + 151, 153, 4, 4, 4, 4, 4, 283, 4, 4, + 366, 4, 4, 4, 4, 4, 4, 4, 4, 384, + 4, 4, 151, 4, 4, 4, 153, 325, 4, 153, + 153, 349, 4, 4, 259, 153, 4, 4, 151, 4, + 151, 151, 4, 4, 153, 153, 153, 4, 4, 437, + 4, 7, 7, 168, 168, 168, 7, 150, 150, 150, + 7, 7, 5, 5, 5, 5, 5, 5, 5, 7, + 7, 7, 5, 179, 14, 15, 210, 17, 18, 213, + 150, 150, 150, 5, 170, 172, 150, 150, 150, 74, + 75, 76, 302, 179, 150, 5, 7, 150, 66, 67, + 373, 179, 150, 150, 150, 150, 150, 150, 150, 150, + 150, 150, 150, 150, 150, 150, 168, 150, 150, 150, + 15, 121, 450, 122, 67, 123, 124, 125, 153, 458, + 150, 168, 192, 127, 469, 470, 471, 202, 27, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 183, + 219, 220, 221, 224, 226, 228, 230, 231, 233, 234, + 235, 236, 237, 239, 219, 7, 276, 277, 278, 7, + 317, 318, 319, 7, 341, 342, 343, 7, 307, 308, + 309, 84, 85, 86, 87, 89, 243, 244, 245, 246, + 247, 248, 249, 7, 413, 414, 7, 252, 253, 254, + 96, 97, 98, 99, 100, 101, 266, 267, 268, 269, + 270, 271, 272, 273, 104, 105, 426, 427, 428, 430, + 436, 180, 7, 359, 360, 361, 7, 376, 377, 378, + 91, 409, 8, 472, 3, 8, 8, 222, 225, 227, + 229, 4, 4, 4, 4, 4, 238, 240, 3, 8, + 8, 279, 6, 3, 320, 6, 3, 344, 6, 3, + 310, 6, 3, 3, 6, 415, 3, 6, 255, 6, + 3, 4, 4, 4, 4, 4, 4, 3, 8, 429, + 431, 3, 8, 8, 150, 181, 182, 362, 6, 3, + 379, 6, 3, 410, 8, 4, 470, 4, 4, 4, + 4, 151, 153, 151, 153, 151, 4, 4, 220, 282, + 278, 323, 319, 347, 343, 183, 194, 195, 196, 199, + 231, 274, 292, 296, 298, 300, 311, 312, 339, 385, + 387, 389, 407, 309, 244, 80, 81, 183, 231, 313, + 339, 385, 387, 389, 416, 417, 418, 419, 420, 422, + 414, 258, 254, 151, 151, 151, 151, 151, 151, 267, + 4, 4, 427, 6, 3, 365, 361, 382, 378, 4, + 5, 28, 29, 30, 31, 223, 150, 150, 150, 150, + 150, 8, 8, 8, 3, 8, 421, 4, 8, 3, + 8, 150, 150, 150, 8, 8, 150, 7, 473, 474, + 312, 4, 153, 418, 475, 3, 6, 150, 128, 130, + 131, 183, 231, 476, 477, 478, 479, 481, 474, 482, + 4, 480, 3, 8, 4, 151, 4, 477, 5, 150, + 7, 483, 484, 485, 3, 6, 129, 132, 133, 134, + 486, 487, 488, 490, 491, 492, 484, 489, 4, 4, + 4, 3, 8, 4, 153, 151, 151, 487, 150 }; const unsigned short int Dhcp4Parser::yyr1_[] = { - 0, 152, 154, 153, 155, 153, 156, 153, 157, 153, - 158, 153, 159, 153, 160, 153, 161, 153, 162, 153, - 163, 153, 164, 153, 165, 153, 166, 166, 166, 166, - 166, 166, 166, 167, 169, 168, 170, 171, 171, 172, - 172, 174, 173, 175, 175, 176, 176, 178, 177, 179, - 179, 180, 180, 181, 183, 182, 184, 184, 185, 185, - 185, 185, 185, 185, 187, 186, 189, 188, 190, 190, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, - 191, 191, 191, 191, 192, 193, 194, 195, 196, 197, - 199, 198, 200, 200, 201, 201, 201, 201, 203, 202, - 205, 204, 207, 206, 208, 208, 210, 209, 211, 211, - 212, 214, 213, 216, 215, 217, 217, 218, 218, 218, - 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - 220, 219, 221, 221, 221, 221, 223, 222, 225, 224, - 227, 226, 228, 230, 229, 231, 232, 233, 234, 236, - 235, 238, 237, 240, 239, 241, 241, 242, 242, 242, - 242, 242, 243, 244, 245, 246, 247, 249, 248, 250, - 250, 251, 251, 253, 252, 255, 254, 256, 256, 256, - 257, 257, 259, 258, 261, 260, 263, 262, 264, 264, - 265, 265, 265, 265, 265, 265, 266, 267, 268, 269, - 270, 271, 273, 272, 274, 274, 275, 275, 277, 276, - 279, 278, 280, 280, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 283, 282, 285, - 284, 287, 286, 289, 288, 291, 290, 293, 292, 295, - 294, 297, 296, 298, 298, 298, 299, 300, 302, 301, - 303, 303, 304, 304, 306, 305, 307, 307, 308, 308, - 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 310, 309, 312, 311, 313, 313, 314, - 314, 316, 315, 318, 317, 319, 319, 320, 320, 321, - 321, 321, 321, 321, 321, 321, 321, 322, 323, 324, - 326, 325, 328, 327, 330, 329, 331, 333, 332, 334, - 336, 335, 337, 337, 338, 338, 340, 339, 342, 341, - 343, 343, 344, 344, 345, 345, 345, 345, 345, 345, - 345, 346, 348, 347, 349, 350, 351, 352, 354, 353, - 355, 355, 356, 356, 358, 357, 360, 359, 361, 361, - 362, 362, 362, 362, 362, 362, 364, 363, 366, 365, - 368, 367, 369, 369, 371, 370, 372, 372, 373, 373, - 375, 374, 377, 376, 378, 378, 379, 379, 380, 380, - 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, - 380, 382, 381, 384, 383, 386, 385, 388, 387, 390, - 389, 392, 391, 394, 393, 396, 395, 398, 397, 400, - 399, 402, 401, 404, 403, 406, 405, 408, 407, 409, - 409, 411, 410, 412, 412, 413, 413, 414, 414, 414, - 414, 414, 414, 414, 414, 415, 417, 416, 418, 420, - 419, 421, 421, 422, 422, 424, 423, 426, 425, 428, - 427, 430, 429, 431, 431, 432, 432, 432, 432, 432, - 432, 432, 432, 432, 432, 432, 432, 432, 432, 432, - 433, 435, 434, 437, 436, 438, 440, 439, 441, 442, - 444, 443, 445, 445, 447, 446, 448, 449, 450, 452, - 451, 453, 453, 453, 453, 453, 455, 454, 457, 456, - 459, 458, 461, 460, 463, 462, 464, 464, 465, 467, - 466, 468, 468, 470, 469, 471, 471, 472, 472, 472, - 472, 472, 473, 475, 474, 477, 476, 478, 478, 480, - 479, 481, 481, 482, 482, 482, 482, 484, 483, 485, - 486, 487 + 0, 154, 156, 155, 157, 155, 158, 155, 159, 155, + 160, 155, 161, 155, 162, 155, 163, 155, 164, 155, + 165, 155, 166, 155, 167, 155, 168, 168, 168, 168, + 168, 168, 168, 169, 171, 170, 172, 173, 173, 174, + 174, 176, 175, 177, 177, 178, 178, 180, 179, 181, + 181, 182, 182, 183, 185, 184, 186, 186, 187, 187, + 187, 187, 187, 187, 189, 188, 191, 190, 192, 192, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, + 193, 193, 193, 193, 194, 195, 196, 197, 198, 199, + 201, 200, 202, 202, 203, 203, 203, 203, 205, 204, + 207, 206, 209, 208, 210, 210, 212, 211, 213, 213, + 214, 216, 215, 218, 217, 219, 219, 220, 220, 220, + 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, + 222, 221, 223, 223, 223, 223, 225, 224, 227, 226, + 229, 228, 230, 232, 231, 233, 234, 235, 236, 238, + 237, 240, 239, 242, 241, 243, 243, 244, 244, 244, + 244, 244, 245, 246, 247, 248, 249, 251, 250, 252, + 252, 253, 253, 255, 254, 257, 256, 258, 258, 258, + 259, 259, 261, 260, 263, 262, 265, 264, 266, 266, + 267, 267, 267, 267, 267, 267, 268, 269, 270, 271, + 272, 273, 275, 274, 276, 276, 277, 277, 279, 278, + 281, 280, 282, 282, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, + 283, 283, 283, 283, 283, 283, 283, 283, 285, 284, + 287, 286, 289, 288, 291, 290, 293, 292, 295, 294, + 297, 296, 299, 298, 301, 300, 302, 302, 302, 303, + 304, 306, 305, 307, 307, 308, 308, 310, 309, 311, + 311, 312, 312, 312, 312, 312, 312, 312, 312, 312, + 312, 312, 312, 312, 312, 312, 312, 314, 313, 316, + 315, 317, 317, 318, 318, 320, 319, 322, 321, 323, + 323, 324, 324, 325, 325, 325, 325, 325, 325, 325, + 325, 326, 327, 328, 330, 329, 332, 331, 334, 333, + 335, 337, 336, 338, 340, 339, 341, 341, 342, 342, + 344, 343, 346, 345, 347, 347, 348, 348, 349, 349, + 349, 349, 349, 349, 349, 350, 352, 351, 353, 354, + 355, 356, 358, 357, 359, 359, 360, 360, 362, 361, + 364, 363, 365, 365, 366, 366, 366, 366, 366, 366, + 366, 368, 367, 370, 369, 372, 371, 373, 373, 375, + 374, 376, 376, 377, 377, 379, 378, 381, 380, 382, + 382, 383, 383, 384, 384, 384, 384, 384, 384, 384, + 384, 384, 384, 384, 384, 384, 386, 385, 388, 387, + 390, 389, 392, 391, 394, 393, 396, 395, 398, 397, + 400, 399, 402, 401, 404, 403, 406, 405, 408, 407, + 410, 409, 412, 411, 413, 413, 415, 414, 416, 416, + 417, 417, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 419, 421, 420, 422, 423, 425, 424, 426, 426, + 427, 427, 429, 428, 431, 430, 433, 432, 435, 434, + 436, 436, 437, 437, 437, 437, 437, 437, 437, 437, + 437, 437, 437, 437, 437, 437, 437, 438, 440, 439, + 442, 441, 443, 445, 444, 446, 447, 449, 448, 450, + 450, 452, 451, 453, 454, 455, 457, 456, 458, 458, + 458, 458, 458, 460, 459, 462, 461, 464, 463, 466, + 465, 468, 467, 469, 469, 470, 472, 471, 473, 473, + 475, 474, 476, 476, 477, 477, 477, 477, 477, 478, + 480, 479, 482, 481, 483, 483, 485, 484, 486, 486, + 487, 487, 487, 487, 489, 488, 490, 491, 492 }; const unsigned char @@ -4158,39 +4192,39 @@ namespace isc { namespace dhcp { 3, 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 1, 1, 1, 3, 3, 0, 6, - 0, 1, 1, 3, 0, 4, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 6, 0, 4, 0, 1, 1, - 3, 0, 4, 0, 4, 0, 1, 1, 3, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 0, 4, 0, 4, 0, 4, 1, 0, 4, 3, - 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, - 0, 1, 1, 3, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 4, 1, 1, 3, 3, 0, 6, - 0, 1, 1, 3, 0, 4, 0, 4, 1, 3, - 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, - 0, 4, 1, 1, 0, 6, 0, 1, 1, 3, + 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 1, 1, 1, 3, + 3, 0, 6, 0, 1, 1, 3, 0, 4, 1, + 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 6, 0, + 4, 0, 1, 1, 3, 0, 4, 0, 4, 0, + 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 1, 0, 4, 0, 4, 0, 4, + 1, 0, 4, 3, 0, 6, 0, 1, 1, 3, 0, 4, 0, 4, 0, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 4, 0, 4, 0, 4, 0, - 4, 0, 4, 0, 6, 0, 4, 0, 6, 1, - 3, 0, 4, 0, 1, 1, 3, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 0, 4, 3, 0, - 6, 1, 3, 1, 1, 0, 4, 0, 4, 0, - 6, 0, 4, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 0, 4, 0, 4, 3, 0, 4, 3, 3, - 0, 4, 1, 1, 0, 4, 3, 3, 3, 0, - 4, 1, 1, 1, 1, 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, 3, 0, 4, 0, 6, 1, 3, 0, - 4, 1, 3, 1, 1, 1, 1, 0, 4, 3, - 3, 3 + 1, 1, 1, 1, 1, 1, 0, 4, 1, 1, + 3, 3, 0, 6, 0, 1, 1, 3, 0, 4, + 0, 4, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 0, 4, 0, 4, 0, 4, 1, 1, 0, + 6, 0, 1, 1, 3, 0, 4, 0, 4, 0, + 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 4, + 0, 4, 0, 4, 0, 4, 0, 4, 0, 6, + 0, 4, 0, 6, 1, 3, 0, 4, 0, 1, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 4, 3, 3, 0, 6, 1, 3, + 1, 1, 0, 4, 0, 4, 0, 6, 0, 4, + 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 0, 4, + 0, 4, 3, 0, 4, 3, 3, 0, 4, 1, + 1, 0, 4, 3, 3, 3, 0, 4, 1, 1, + 1, 1, 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, 3, + 0, 4, 0, 6, 1, 3, 0, 4, 1, 3, + 1, 1, 1, 1, 0, 4, 3, 3, 3 }; @@ -4220,7 +4254,8 @@ namespace isc { namespace dhcp { "\"known-clients\"", "\"only\"", "\"never\"", "\"subnet\"", "\"interface\"", "\"interface-id\"", "\"id\"", "\"rapid-commit\"", "\"reservation-mode\"", "\"disabled\"", "\"out-of-pool\"", "\"all\"", - "\"host-reservation-identifiers\"", "\"client-classes\"", "\"test\"", + "\"host-reservation-identifiers\"", "\"client-classes\"", + "\"eval-client-classes\"", "\"test\"", "\"eval-on-demand\"", "\"client-class\"", "\"reservations\"", "\"duid\"", "\"hw-address\"", "\"circuit-id\"", "\"client-id\"", "\"hostname\"", "\"flex-id\"", "\"relay\"", "\"ip-address\"", "\"hooks-libraries\"", "\"library\"", @@ -4276,53 +4311,54 @@ namespace isc { namespace dhcp { "sub_subnet4", "$@42", "subnet4_params", "subnet4_param", "subnet", "$@43", "subnet_4o6_interface", "$@44", "subnet_4o6_interface_id", "$@45", "subnet_4o6_subnet", "$@46", "interface", "$@47", "interface_id", - "$@48", "client_class", "$@49", "reservation_mode", "$@50", "hr_mode", - "id", "rapid_commit", "shared_networks", "$@51", - "shared_networks_content", "shared_networks_list", "shared_network", - "$@52", "shared_network_params", "shared_network_param", - "option_def_list", "$@53", "sub_option_def_list", "$@54", - "option_def_list_content", "not_empty_option_def_list", - "option_def_entry", "$@55", "sub_option_def", "$@56", - "option_def_params", "not_empty_option_def_params", "option_def_param", - "option_def_name", "code", "option_def_code", "option_def_type", "$@57", - "option_def_record_types", "$@58", "space", "$@59", "option_def_space", - "option_def_encapsulate", "$@60", "option_def_array", "option_data_list", - "$@61", "option_data_list_content", "not_empty_option_data_list", - "option_data_entry", "$@62", "sub_option_data", "$@63", + "$@48", "client_class", "$@49", "eval_client_classes", "$@50", + "reservation_mode", "$@51", "hr_mode", "id", "rapid_commit", + "shared_networks", "$@52", "shared_networks_content", + "shared_networks_list", "shared_network", "$@53", + "shared_network_params", "shared_network_param", "option_def_list", + "$@54", "sub_option_def_list", "$@55", "option_def_list_content", + "not_empty_option_def_list", "option_def_entry", "$@56", + "sub_option_def", "$@57", "option_def_params", + "not_empty_option_def_params", "option_def_param", "option_def_name", + "code", "option_def_code", "option_def_type", "$@58", + "option_def_record_types", "$@59", "space", "$@60", "option_def_space", + "option_def_encapsulate", "$@61", "option_def_array", "option_data_list", + "$@62", "option_data_list_content", "not_empty_option_data_list", + "option_data_entry", "$@63", "sub_option_data", "$@64", "option_data_params", "not_empty_option_data_params", - "option_data_param", "option_data_name", "option_data_data", "$@64", + "option_data_param", "option_data_name", "option_data_data", "$@65", "option_data_code", "option_data_space", "option_data_csv_format", - "option_data_always_send", "pools_list", "$@65", "pools_list_content", - "not_empty_pools_list", "pool_list_entry", "$@66", "sub_pool4", "$@67", - "pool_params", "pool_param", "pool_entry", "$@68", "user_context", - "$@69", "known_clients", "$@70", "known_clients_value", "reservations", - "$@71", "reservations_list", "not_empty_reservations_list", - "reservation", "$@72", "sub_reservation", "$@73", "reservation_params", + "option_data_always_send", "pools_list", "$@66", "pools_list_content", + "not_empty_pools_list", "pool_list_entry", "$@67", "sub_pool4", "$@68", + "pool_params", "pool_param", "pool_entry", "$@69", "user_context", + "$@70", "known_clients", "$@71", "known_clients_value", "reservations", + "$@72", "reservations_list", "not_empty_reservations_list", + "reservation", "$@73", "sub_reservation", "$@74", "reservation_params", "not_empty_reservation_params", "reservation_param", "next_server", - "$@74", "server_hostname", "$@75", "boot_file_name", "$@76", - "ip_address", "$@77", "duid", "$@78", "hw_address", "$@79", - "client_id_value", "$@80", "circuit_id_value", "$@81", "flex_id_value", - "$@82", "hostname", "$@83", "reservation_client_classes", "$@84", - "relay", "$@85", "relay_map", "$@86", "client_classes", "$@87", - "client_classes_list", "client_class_entry", "$@88", + "$@75", "server_hostname", "$@76", "boot_file_name", "$@77", + "ip_address", "$@78", "duid", "$@79", "hw_address", "$@80", + "client_id_value", "$@81", "circuit_id_value", "$@82", "flex_id_value", + "$@83", "hostname", "$@84", "reservation_client_classes", "$@85", + "relay", "$@86", "relay_map", "$@87", "client_classes", "$@88", + "client_classes_list", "client_class_entry", "$@89", "client_class_params", "not_empty_client_class_params", - "client_class_param", "client_class_name", "client_class_test", "$@89", - "dhcp4o6_port", "control_socket", "$@90", "control_socket_params", - "control_socket_param", "control_socket_type", "$@91", - "control_socket_name", "$@92", "dhcp_ddns", "$@93", "sub_dhcp_ddns", - "$@94", "dhcp_ddns_params", "dhcp_ddns_param", "enable_updates", - "qualifying_suffix", "$@95", "server_ip", "$@96", "server_port", - "sender_ip", "$@97", "sender_port", "max_queue_size", "ncr_protocol", - "$@98", "ncr_protocol_value", "ncr_format", "$@99", + "client_class_param", "client_class_name", "client_class_test", "$@90", + "eval_on_demand", "dhcp4o6_port", "control_socket", "$@91", + "control_socket_params", "control_socket_param", "control_socket_type", + "$@92", "control_socket_name", "$@93", "dhcp_ddns", "$@94", + "sub_dhcp_ddns", "$@95", "dhcp_ddns_params", "dhcp_ddns_param", + "enable_updates", "qualifying_suffix", "$@96", "server_ip", "$@97", + "server_port", "sender_ip", "$@98", "sender_port", "max_queue_size", + "ncr_protocol", "$@99", "ncr_protocol_value", "ncr_format", "$@100", "always_include_fqdn", "override_no_update", "override_client_update", - "replace_client_name", "$@100", "replace_client_name_value", - "generated_prefix", "$@101", "dhcp6_json_object", "$@102", - "dhcpddns_json_object", "$@103", "control_agent_json_object", "$@104", - "logging_object", "$@105", "logging_params", "logging_param", "loggers", - "$@106", "loggers_entries", "logger_entry", "$@107", "logger_params", - "logger_param", "debuglevel", "severity", "$@108", "output_options_list", - "$@109", "output_options_list_content", "output_entry", "$@110", - "output_params_list", "output_params", "output", "$@111", "flush", + "replace_client_name", "$@101", "replace_client_name_value", + "generated_prefix", "$@102", "dhcp6_json_object", "$@103", + "dhcpddns_json_object", "$@104", "control_agent_json_object", "$@105", + "logging_object", "$@106", "logging_params", "logging_param", "loggers", + "$@107", "loggers_entries", "logger_entry", "$@108", "logger_params", + "logger_param", "debuglevel", "severity", "$@109", "output_options_list", + "$@110", "output_options_list_content", "output_entry", "$@111", + "output_params_list", "output_params", "output", "$@112", "flush", "maxsize", "maxver", YY_NULLPTR }; @@ -4330,63 +4366,63 @@ namespace isc { namespace dhcp { const unsigned short int Dhcp4Parser::yyrline_[] = { - 0, 236, 236, 236, 237, 237, 238, 238, 239, 239, - 240, 240, 241, 241, 242, 242, 243, 243, 244, 244, - 245, 245, 246, 246, 247, 247, 255, 256, 257, 258, - 259, 260, 261, 264, 269, 269, 280, 283, 284, 287, - 291, 298, 298, 305, 306, 309, 313, 320, 320, 327, - 328, 331, 335, 346, 356, 356, 372, 373, 377, 378, - 379, 380, 381, 382, 385, 385, 400, 400, 409, 410, - 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, - 435, 436, 437, 438, 441, 446, 451, 456, 461, 466, - 472, 472, 483, 484, 487, 488, 489, 490, 493, 493, - 502, 502, 512, 512, 519, 520, 523, 523, 530, 532, - 536, 542, 542, 554, 554, 566, 567, 570, 571, 572, - 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, - 585, 585, 592, 593, 594, 595, 598, 598, 606, 606, - 614, 614, 622, 627, 627, 635, 640, 645, 650, 655, - 655, 663, 663, 672, 672, 682, 683, 686, 687, 688, - 689, 690, 693, 698, 703, 708, 713, 718, 718, 728, - 729, 732, 733, 736, 736, 746, 746, 756, 757, 758, - 761, 762, 765, 765, 773, 773, 781, 781, 792, 793, - 796, 797, 798, 799, 800, 801, 804, 809, 814, 819, - 824, 829, 837, 837, 850, 851, 854, 855, 862, 862, - 888, 888, 899, 900, 904, 905, 906, 907, 908, 909, - 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, - 920, 921, 922, 923, 924, 925, 926, 929, 929, 937, - 937, 945, 945, 953, 953, 961, 961, 969, 969, 977, - 977, 985, 985, 992, 993, 994, 997, 1002, 1009, 1009, - 1020, 1021, 1025, 1026, 1029, 1029, 1037, 1038, 1041, 1042, - 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, - 1053, 1054, 1055, 1062, 1062, 1075, 1075, 1084, 1085, 1088, - 1089, 1094, 1094, 1109, 1109, 1123, 1124, 1127, 1128, 1131, - 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1141, 1143, 1148, - 1150, 1150, 1158, 1158, 1166, 1166, 1174, 1176, 1176, 1184, - 1193, 1193, 1205, 1206, 1211, 1212, 1217, 1217, 1229, 1229, - 1241, 1242, 1247, 1248, 1253, 1254, 1255, 1256, 1257, 1258, - 1259, 1262, 1264, 1264, 1272, 1274, 1276, 1281, 1289, 1289, - 1301, 1302, 1305, 1306, 1309, 1309, 1319, 1319, 1329, 1330, - 1333, 1334, 1335, 1336, 1337, 1338, 1341, 1341, 1349, 1349, - 1356, 1356, 1364, 1365, 1371, 1371, 1381, 1382, 1385, 1386, - 1389, 1389, 1398, 1398, 1407, 1408, 1411, 1412, 1416, 1417, - 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, - 1428, 1431, 1431, 1439, 1439, 1447, 1447, 1455, 1455, 1463, - 1463, 1471, 1471, 1479, 1479, 1487, 1487, 1495, 1495, 1503, - 1503, 1511, 1511, 1524, 1524, 1534, 1534, 1545, 1545, 1555, - 1556, 1559, 1559, 1569, 1570, 1573, 1574, 1577, 1578, 1579, - 1580, 1581, 1582, 1583, 1584, 1587, 1589, 1589, 1601, 1608, - 1608, 1618, 1619, 1622, 1623, 1626, 1626, 1634, 1634, 1644, - 1644, 1656, 1656, 1666, 1667, 1670, 1671, 1672, 1673, 1674, - 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, - 1687, 1692, 1692, 1700, 1700, 1708, 1713, 1713, 1721, 1726, - 1731, 1731, 1739, 1740, 1743, 1743, 1751, 1756, 1761, 1766, - 1766, 1774, 1777, 1780, 1783, 1786, 1792, 1792, 1802, 1802, - 1809, 1809, 1816, 1816, 1828, 1828, 1841, 1842, 1846, 1850, - 1850, 1862, 1863, 1867, 1867, 1875, 1876, 1879, 1880, 1881, - 1882, 1883, 1886, 1891, 1891, 1899, 1899, 1909, 1910, 1913, - 1913, 1921, 1922, 1925, 1926, 1927, 1928, 1931, 1931, 1939, - 1944, 1949 + 0, 238, 238, 238, 239, 239, 240, 240, 241, 241, + 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, + 247, 247, 248, 248, 249, 249, 257, 258, 259, 260, + 261, 262, 263, 266, 271, 271, 282, 285, 286, 289, + 293, 300, 300, 307, 308, 311, 315, 322, 322, 329, + 330, 333, 337, 348, 358, 358, 374, 375, 379, 380, + 381, 382, 383, 384, 387, 387, 402, 402, 411, 412, + 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, + 437, 438, 439, 440, 443, 448, 453, 458, 463, 468, + 474, 474, 485, 486, 489, 490, 491, 492, 495, 495, + 504, 504, 514, 514, 521, 522, 525, 525, 532, 534, + 538, 544, 544, 556, 556, 568, 569, 572, 573, 574, + 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, + 587, 587, 594, 595, 596, 597, 600, 600, 608, 608, + 616, 616, 624, 629, 629, 637, 642, 647, 652, 657, + 657, 665, 665, 674, 674, 684, 685, 688, 689, 690, + 691, 692, 695, 700, 705, 710, 715, 720, 720, 730, + 731, 734, 735, 738, 738, 748, 748, 758, 759, 760, + 763, 764, 767, 767, 775, 775, 783, 783, 794, 795, + 798, 799, 800, 801, 802, 803, 806, 811, 816, 821, + 826, 831, 839, 839, 852, 853, 856, 857, 864, 864, + 890, 890, 901, 902, 906, 907, 908, 909, 910, 911, + 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, + 922, 923, 924, 925, 926, 927, 928, 929, 932, 932, + 940, 940, 948, 948, 956, 956, 964, 964, 972, 972, + 980, 980, 988, 988, 998, 998, 1005, 1006, 1007, 1010, + 1015, 1022, 1022, 1033, 1034, 1038, 1039, 1042, 1042, 1050, + 1051, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, + 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1076, 1076, 1089, + 1089, 1098, 1099, 1102, 1103, 1108, 1108, 1123, 1123, 1137, + 1138, 1141, 1142, 1145, 1146, 1147, 1148, 1149, 1150, 1151, + 1152, 1155, 1157, 1162, 1164, 1164, 1172, 1172, 1180, 1180, + 1188, 1190, 1190, 1198, 1207, 1207, 1219, 1220, 1225, 1226, + 1231, 1231, 1243, 1243, 1255, 1256, 1261, 1262, 1267, 1268, + 1269, 1270, 1271, 1272, 1273, 1276, 1278, 1278, 1286, 1288, + 1290, 1295, 1303, 1303, 1315, 1316, 1319, 1320, 1323, 1323, + 1333, 1333, 1343, 1344, 1347, 1348, 1349, 1350, 1351, 1352, + 1353, 1356, 1356, 1364, 1364, 1371, 1371, 1379, 1380, 1386, + 1386, 1396, 1397, 1400, 1401, 1404, 1404, 1413, 1413, 1422, + 1423, 1426, 1427, 1431, 1432, 1433, 1434, 1435, 1436, 1437, + 1438, 1439, 1440, 1441, 1442, 1443, 1446, 1446, 1454, 1454, + 1462, 1462, 1470, 1470, 1478, 1478, 1486, 1486, 1494, 1494, + 1502, 1502, 1510, 1510, 1518, 1518, 1526, 1526, 1539, 1539, + 1549, 1549, 1560, 1560, 1570, 1571, 1574, 1574, 1584, 1585, + 1588, 1589, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, + 1600, 1603, 1605, 1605, 1613, 1622, 1629, 1629, 1639, 1640, + 1643, 1644, 1647, 1647, 1655, 1655, 1665, 1665, 1677, 1677, + 1687, 1688, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, + 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1708, 1713, 1713, + 1721, 1721, 1729, 1734, 1734, 1742, 1747, 1752, 1752, 1760, + 1761, 1764, 1764, 1772, 1777, 1782, 1787, 1787, 1795, 1798, + 1801, 1804, 1807, 1813, 1813, 1823, 1823, 1830, 1830, 1837, + 1837, 1849, 1849, 1862, 1863, 1867, 1871, 1871, 1883, 1884, + 1888, 1888, 1896, 1897, 1900, 1901, 1902, 1903, 1904, 1907, + 1912, 1912, 1920, 1920, 1930, 1931, 1934, 1934, 1942, 1943, + 1946, 1947, 1948, 1949, 1952, 1952, 1960, 1965, 1970 }; // Print the state stack on the debug stream. @@ -4421,8 +4457,8 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" // lalr1.cc:1167 } } // isc::dhcp -#line 4425 "dhcp4_parser.cc" // lalr1.cc:1167 -#line 1954 "dhcp4_parser.yy" // lalr1.cc:1168 +#line 4461 "dhcp4_parser.cc" // lalr1.cc:1167 +#line 1975 "dhcp4_parser.yy" // lalr1.cc:1168 void diff --git a/src/bin/dhcp4/dhcp4_parser.h b/src/bin/dhcp4/dhcp4_parser.h index b231e29e94..f79d68b50e 100644 --- a/src/bin/dhcp4/dhcp4_parser.h +++ b/src/bin/dhcp4/dhcp4_parser.h @@ -425,79 +425,81 @@ namespace isc { namespace dhcp { TOKEN_ALL = 331, TOKEN_HOST_RESERVATION_IDENTIFIERS = 332, TOKEN_CLIENT_CLASSES = 333, - TOKEN_TEST = 334, - TOKEN_CLIENT_CLASS = 335, - TOKEN_RESERVATIONS = 336, - TOKEN_DUID = 337, - TOKEN_HW_ADDRESS = 338, - TOKEN_CIRCUIT_ID = 339, - TOKEN_CLIENT_ID = 340, - TOKEN_HOSTNAME = 341, - TOKEN_FLEX_ID = 342, - TOKEN_RELAY = 343, - TOKEN_IP_ADDRESS = 344, - TOKEN_HOOKS_LIBRARIES = 345, - TOKEN_LIBRARY = 346, - TOKEN_PARAMETERS = 347, - TOKEN_EXPIRED_LEASES_PROCESSING = 348, - TOKEN_RECLAIM_TIMER_WAIT_TIME = 349, - TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 350, - TOKEN_HOLD_RECLAIMED_TIME = 351, - TOKEN_MAX_RECLAIM_LEASES = 352, - TOKEN_MAX_RECLAIM_TIME = 353, - TOKEN_UNWARNED_RECLAIM_CYCLES = 354, - TOKEN_DHCP4O6_PORT = 355, - TOKEN_CONTROL_SOCKET = 356, - TOKEN_SOCKET_TYPE = 357, - TOKEN_SOCKET_NAME = 358, - TOKEN_DHCP_DDNS = 359, - TOKEN_ENABLE_UPDATES = 360, - TOKEN_QUALIFYING_SUFFIX = 361, - TOKEN_SERVER_IP = 362, - TOKEN_SERVER_PORT = 363, - TOKEN_SENDER_IP = 364, - TOKEN_SENDER_PORT = 365, - TOKEN_MAX_QUEUE_SIZE = 366, - TOKEN_NCR_PROTOCOL = 367, - TOKEN_NCR_FORMAT = 368, - TOKEN_ALWAYS_INCLUDE_FQDN = 369, - TOKEN_OVERRIDE_NO_UPDATE = 370, - TOKEN_OVERRIDE_CLIENT_UPDATE = 371, - TOKEN_REPLACE_CLIENT_NAME = 372, - TOKEN_GENERATED_PREFIX = 373, - TOKEN_TCP = 374, - TOKEN_JSON = 375, - TOKEN_WHEN_PRESENT = 376, - TOKEN_ALWAYS = 377, - TOKEN_WHEN_NOT_PRESENT = 378, - TOKEN_LOGGING = 379, - TOKEN_LOGGERS = 380, - TOKEN_OUTPUT_OPTIONS = 381, - TOKEN_OUTPUT = 382, - TOKEN_DEBUGLEVEL = 383, - TOKEN_SEVERITY = 384, - TOKEN_FLUSH = 385, - TOKEN_MAXSIZE = 386, - TOKEN_MAXVER = 387, - TOKEN_DHCP6 = 388, - TOKEN_DHCPDDNS = 389, - TOKEN_CONTROL_AGENT = 390, - TOKEN_TOPLEVEL_JSON = 391, - TOKEN_TOPLEVEL_DHCP4 = 392, - TOKEN_SUB_DHCP4 = 393, - TOKEN_SUB_INTERFACES4 = 394, - TOKEN_SUB_SUBNET4 = 395, - TOKEN_SUB_POOL4 = 396, - TOKEN_SUB_RESERVATION = 397, - TOKEN_SUB_OPTION_DEFS = 398, - TOKEN_SUB_OPTION_DEF = 399, - TOKEN_SUB_OPTION_DATA = 400, - TOKEN_SUB_HOOKS_LIBRARY = 401, - TOKEN_SUB_DHCP_DDNS = 402, - TOKEN_STRING = 403, - TOKEN_INTEGER = 404, - TOKEN_FLOAT = 405, - TOKEN_BOOLEAN = 406 + TOKEN_EVAL_CLIENT_CLASSES = 334, + TOKEN_TEST = 335, + TOKEN_EVAL_ON_DEMAND = 336, + TOKEN_CLIENT_CLASS = 337, + TOKEN_RESERVATIONS = 338, + TOKEN_DUID = 339, + TOKEN_HW_ADDRESS = 340, + TOKEN_CIRCUIT_ID = 341, + TOKEN_CLIENT_ID = 342, + TOKEN_HOSTNAME = 343, + TOKEN_FLEX_ID = 344, + TOKEN_RELAY = 345, + TOKEN_IP_ADDRESS = 346, + TOKEN_HOOKS_LIBRARIES = 347, + TOKEN_LIBRARY = 348, + TOKEN_PARAMETERS = 349, + TOKEN_EXPIRED_LEASES_PROCESSING = 350, + TOKEN_RECLAIM_TIMER_WAIT_TIME = 351, + TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 352, + TOKEN_HOLD_RECLAIMED_TIME = 353, + TOKEN_MAX_RECLAIM_LEASES = 354, + TOKEN_MAX_RECLAIM_TIME = 355, + TOKEN_UNWARNED_RECLAIM_CYCLES = 356, + TOKEN_DHCP4O6_PORT = 357, + TOKEN_CONTROL_SOCKET = 358, + TOKEN_SOCKET_TYPE = 359, + TOKEN_SOCKET_NAME = 360, + TOKEN_DHCP_DDNS = 361, + TOKEN_ENABLE_UPDATES = 362, + TOKEN_QUALIFYING_SUFFIX = 363, + TOKEN_SERVER_IP = 364, + TOKEN_SERVER_PORT = 365, + TOKEN_SENDER_IP = 366, + TOKEN_SENDER_PORT = 367, + TOKEN_MAX_QUEUE_SIZE = 368, + TOKEN_NCR_PROTOCOL = 369, + TOKEN_NCR_FORMAT = 370, + TOKEN_ALWAYS_INCLUDE_FQDN = 371, + TOKEN_OVERRIDE_NO_UPDATE = 372, + TOKEN_OVERRIDE_CLIENT_UPDATE = 373, + TOKEN_REPLACE_CLIENT_NAME = 374, + TOKEN_GENERATED_PREFIX = 375, + TOKEN_TCP = 376, + TOKEN_JSON = 377, + TOKEN_WHEN_PRESENT = 378, + TOKEN_ALWAYS = 379, + TOKEN_WHEN_NOT_PRESENT = 380, + TOKEN_LOGGING = 381, + TOKEN_LOGGERS = 382, + TOKEN_OUTPUT_OPTIONS = 383, + TOKEN_OUTPUT = 384, + TOKEN_DEBUGLEVEL = 385, + TOKEN_SEVERITY = 386, + TOKEN_FLUSH = 387, + TOKEN_MAXSIZE = 388, + TOKEN_MAXVER = 389, + TOKEN_DHCP6 = 390, + TOKEN_DHCPDDNS = 391, + TOKEN_CONTROL_AGENT = 392, + TOKEN_TOPLEVEL_JSON = 393, + TOKEN_TOPLEVEL_DHCP4 = 394, + TOKEN_SUB_DHCP4 = 395, + TOKEN_SUB_INTERFACES4 = 396, + TOKEN_SUB_SUBNET4 = 397, + TOKEN_SUB_POOL4 = 398, + TOKEN_SUB_RESERVATION = 399, + TOKEN_SUB_OPTION_DEFS = 400, + TOKEN_SUB_OPTION_DEF = 401, + TOKEN_SUB_OPTION_DATA = 402, + TOKEN_SUB_HOOKS_LIBRARY = 403, + TOKEN_SUB_DHCP_DDNS = 404, + TOKEN_STRING = 405, + TOKEN_INTEGER = 406, + TOKEN_FLOAT = 407, + TOKEN_BOOLEAN = 408 }; }; @@ -920,10 +922,18 @@ namespace isc { namespace dhcp { symbol_type make_CLIENT_CLASSES (const location_type& l); + static inline + symbol_type + make_EVAL_CLIENT_CLASSES (const location_type& l); + static inline symbol_type make_TEST (const location_type& l); + static inline + symbol_type + make_EVAL_ON_DEMAND (const location_type& l); + static inline symbol_type make_CLIENT_CLASS (const location_type& l); @@ -1417,12 +1427,12 @@ namespace isc { namespace dhcp { enum { yyeof_ = 0, - yylast_ = 816, ///< Last index in yytable_. - yynnts_ = 336, ///< Number of nonterminal symbols. + yylast_ = 823, ///< Last index in yytable_. + yynnts_ = 339, ///< Number of nonterminal symbols. yyfinal_ = 26, ///< Termination state number. yyterror_ = 1, yyerrcode_ = 256, - yyntokens_ = 152 ///< Number of tokens. + yyntokens_ = 154 ///< Number of tokens. }; @@ -1479,9 +1489,9 @@ namespace isc { namespace dhcp { 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151 + 145, 146, 147, 148, 149, 150, 151, 152, 153 }; - const unsigned int user_token_number_max_ = 406; + const unsigned int user_token_number_max_ = 408; const token_number_type undef_token_ = 2; if (static_cast(t) <= yyeof_) @@ -1514,31 +1524,31 @@ namespace isc { namespace dhcp { { switch (other.type_get ()) { - case 166: // value - case 170: // map_value - case 208: // socket_type - case 211: // outbound_interface_value - case 221: // db_type - case 298: // hr_mode - case 369: // known_clients_value - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 168: // value + case 172: // map_value + case 210: // socket_type + case 213: // outbound_interface_value + case 223: // db_type + case 302: // hr_mode + case 373: // known_clients_value + case 450: // ncr_protocol_value + case 458: // replace_client_name_value value.copy< ElementPtr > (other.value); break; - case 151: // "boolean" + case 153: // "boolean" value.copy< bool > (other.value); break; - case 150: // "floating point" + case 152: // "floating point" value.copy< double > (other.value); break; - case 149: // "integer" + case 151: // "integer" value.copy< int64_t > (other.value); break; - case 148: // "constant string" + case 150: // "constant string" value.copy< std::string > (other.value); break; @@ -1559,31 +1569,31 @@ namespace isc { namespace dhcp { (void) v; switch (this->type_get ()) { - case 166: // value - case 170: // map_value - case 208: // socket_type - case 211: // outbound_interface_value - case 221: // db_type - case 298: // hr_mode - case 369: // known_clients_value - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 168: // value + case 172: // map_value + case 210: // socket_type + case 213: // outbound_interface_value + case 223: // db_type + case 302: // hr_mode + case 373: // known_clients_value + case 450: // ncr_protocol_value + case 458: // replace_client_name_value value.copy< ElementPtr > (v); break; - case 151: // "boolean" + case 153: // "boolean" value.copy< bool > (v); break; - case 150: // "floating point" + case 152: // "floating point" value.copy< double > (v); break; - case 149: // "integer" + case 151: // "integer" value.copy< int64_t > (v); break; - case 148: // "constant string" + case 150: // "constant string" value.copy< std::string > (v); break; @@ -1663,31 +1673,31 @@ namespace isc { namespace dhcp { // Type destructor. switch (yytype) { - case 166: // value - case 170: // map_value - case 208: // socket_type - case 211: // outbound_interface_value - case 221: // db_type - case 298: // hr_mode - case 369: // known_clients_value - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 168: // value + case 172: // map_value + case 210: // socket_type + case 213: // outbound_interface_value + case 223: // db_type + case 302: // hr_mode + case 373: // known_clients_value + case 450: // ncr_protocol_value + case 458: // replace_client_name_value value.template destroy< ElementPtr > (); break; - case 151: // "boolean" + case 153: // "boolean" value.template destroy< bool > (); break; - case 150: // "floating point" + case 152: // "floating point" value.template destroy< double > (); break; - case 149: // "integer" + case 151: // "integer" value.template destroy< int64_t > (); break; - case 148: // "constant string" + case 150: // "constant string" value.template destroy< std::string > (); break; @@ -1714,31 +1724,31 @@ namespace isc { namespace dhcp { super_type::move(s); switch (this->type_get ()) { - case 166: // value - case 170: // map_value - case 208: // socket_type - case 211: // outbound_interface_value - case 221: // db_type - case 298: // hr_mode - case 369: // known_clients_value - case 445: // ncr_protocol_value - case 453: // replace_client_name_value + case 168: // value + case 172: // map_value + case 210: // socket_type + case 213: // outbound_interface_value + case 223: // db_type + case 302: // hr_mode + case 373: // known_clients_value + case 450: // ncr_protocol_value + case 458: // replace_client_name_value value.move< ElementPtr > (s.value); break; - case 151: // "boolean" + case 153: // "boolean" value.move< bool > (s.value); break; - case 150: // "floating point" + case 152: // "floating point" value.move< double > (s.value); break; - case 149: // "integer" + case 151: // "integer" value.move< int64_t > (s.value); break; - case 148: // "constant string" + case 150: // "constant string" value.move< std::string > (s.value); break; @@ -1812,7 +1822,7 @@ namespace isc { namespace dhcp { 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, - 405, 406 + 405, 406, 407, 408 }; return static_cast (yytoken_number_[type]); } @@ -2279,12 +2289,24 @@ namespace isc { namespace dhcp { return symbol_type (token::TOKEN_CLIENT_CLASSES, l); } + Dhcp4Parser::symbol_type + Dhcp4Parser::make_EVAL_CLIENT_CLASSES (const location_type& l) + { + return symbol_type (token::TOKEN_EVAL_CLIENT_CLASSES, l); + } + Dhcp4Parser::symbol_type Dhcp4Parser::make_TEST (const location_type& l) { return symbol_type (token::TOKEN_TEST, l); } + Dhcp4Parser::symbol_type + Dhcp4Parser::make_EVAL_ON_DEMAND (const location_type& l) + { + return symbol_type (token::TOKEN_EVAL_ON_DEMAND, l); + } + Dhcp4Parser::symbol_type Dhcp4Parser::make_CLIENT_CLASS (const location_type& l) { @@ -2720,7 +2742,7 @@ namespace isc { namespace dhcp { #line 14 "dhcp4_parser.yy" // lalr1.cc:377 } } // isc::dhcp -#line 2724 "dhcp4_parser.h" // lalr1.cc:377 +#line 2746 "dhcp4_parser.h" // lalr1.cc:377 diff --git a/src/bin/dhcp4/location.hh b/src/bin/dhcp4/location.hh index 026c42d703..c963e41946 100644 --- a/src/bin/dhcp4/location.hh +++ b/src/bin/dhcp4/location.hh @@ -1,4 +1,4 @@ -// Generated 201711191032 +// Generated 201711270201 // A Bison parser, made by GNU Bison 3.0.4. // Locations for Bison parsers in C++ diff --git a/src/bin/dhcp4/position.hh b/src/bin/dhcp4/position.hh index 9a6143d45a..ff40d48564 100644 --- a/src/bin/dhcp4/position.hh +++ b/src/bin/dhcp4/position.hh @@ -1,4 +1,4 @@ -// Generated 201711191032 +// Generated 201711270201 // A Bison parser, made by GNU Bison 3.0.4. // Positions for Bison parsers in C++ diff --git a/src/bin/dhcp4/stack.hh b/src/bin/dhcp4/stack.hh index 88216713cd..c3d3506011 100644 --- a/src/bin/dhcp4/stack.hh +++ b/src/bin/dhcp4/stack.hh @@ -1,4 +1,4 @@ -// Generated 201711191032 +// Generated 201711270201 // A Bison parser, made by GNU Bison 3.0.4. // Stack handling for Bison parsers in C++ diff --git a/src/bin/dhcp6/dhcp6_lexer.cc b/src/bin/dhcp6/dhcp6_lexer.cc index 52b3cc4701..da86f0771b 100644 --- a/src/bin/dhcp6/dhcp6_lexer.cc +++ b/src/bin/dhcp6/dhcp6_lexer.cc @@ -691,8 +691,8 @@ static void yynoreturn yy_fatal_error ( const char* msg ); /* %% [3.0] code to copy yytext_ptr to yytext[] 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 164 -#define YY_END_OF_BUFFER 165 +#define YY_NUM_RULES 166 +#define YY_END_OF_BUFFER 167 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -700,149 +700,153 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[1288] = +static const flex_int16_t yy_accept[1317] = { 0, - 157, 157, 0, 0, 0, 0, 0, 0, 0, 0, - 165, 163, 10, 11, 163, 1, 157, 154, 157, 157, - 163, 156, 155, 163, 163, 163, 163, 163, 150, 151, - 163, 163, 163, 152, 153, 5, 5, 5, 163, 163, - 163, 10, 11, 0, 0, 146, 0, 0, 0, 0, + 159, 159, 0, 0, 0, 0, 0, 0, 0, 0, + 167, 165, 10, 11, 165, 1, 159, 156, 159, 159, + 165, 158, 157, 165, 165, 165, 165, 165, 152, 153, + 165, 165, 165, 154, 155, 5, 5, 5, 165, 165, + 165, 10, 11, 0, 0, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 157, - 157, 0, 156, 157, 3, 2, 6, 0, 157, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 159, + 159, 0, 158, 159, 3, 2, 6, 0, 159, 0, 0, 0, 0, 0, 0, 4, 0, 0, 9, 0, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, + 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, - 0, 0, 0, 8, 0, 0, 0, 0, 125, 0, - 0, 126, 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, 127, + 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, - 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 162, 160, 0, 159, 158, 0, - 0, 0, 0, 0, 0, 0, 124, 0, 0, 27, + 0, 0, 0, 0, 0, 0, 164, 162, 0, 161, + 160, 0, 0, 0, 0, 0, 0, 0, 126, 0, - 0, 26, 0, 0, 89, 0, 0, 0, 0, 0, - 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 27, 0, 26, 0, 0, 89, 0, 0, 0, + 0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 161, - 158, 0, 0, 0, 0, 0, 0, 0, 0, 28, - - 0, 0, 30, 0, 0, 0, 0, 0, 90, 0, - 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, - 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 66, 0, 0, 0, 79, 0, 0, - 0, 0, 0, 0, 0, 0, 76, 0, 51, 0, + 0, 0, 163, 160, 0, 0, 0, 0, 0, 0, + + 0, 0, 28, 0, 0, 30, 0, 0, 0, 0, + 0, 90, 0, 0, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 111, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, + 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, + 76, 0, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 105, 129, 43, 0, 48, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 106, 131, 43, 0, 48, 0, - 0, 143, 36, 0, 33, 0, 32, 0, 0, 0, - 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, - 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, + 0, 0, 0, 0, 0, 145, 36, 0, 33, 0, + 32, 0, 0, 0, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 45, 0, 0, 31, 0, 0, 0, - 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, - 0, 7, 34, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 98, 0, 0, 0, 0, 0, + 0, 0, 130, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, + 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, + 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 120, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 115, 0, 0, 0, 0, 7, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, - 0, 0, 0, 97, 0, 0, 0, 0, 0, 0, - 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 80, 0, 0, 0, 0, 0, 0, 94, 0, + 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 0, 97, 0, 0, 0, 0, 0, 0, 0, 0, + 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, + 0, 0, 0, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 122, 95, 0, 0, 0, + 0, 0, 0, 0, 0, 124, 95, 0, 0, 0, 99, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0, - 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, - 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, - 0, 0, 0, 0, 0, 0, 0, 49, 70, 0, - 0, 0, 108, 0, 0, 0, 42, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, + 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, + 70, 0, 0, 0, 110, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, + 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, - 0, 0, 0, 0, 0, 0, 16, 0, 123, 14, - + 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 114, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 110, 127, 0, 38, 0, 119, 0, 0, - 0, 0, 0, 0, 0, 20, 0, 0, 64, 0, - 0, 0, 0, 121, 46, 0, 72, 0, 0, 0, + + 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, + 16, 0, 125, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, - 0, 0, 0, 0, 0, 0, 0, 116, 0, 0, + 116, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 112, 129, + 0, 38, 0, 121, 0, 0, 0, 0, 0, 0, + 0, 20, 0, 0, 64, 0, 0, 0, 0, 123, + 46, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, - 0, 0, 0, 91, 0, 0, 0, 65, 88, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, - 0, 0, 0, 17, 15, 0, 141, 140, 0, 0, - 0, 0, 0, 29, 0, 104, 0, 0, 0, 0, - 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 0, 107, 0, 0, 53, 0, - 0, 0, 19, 0, 0, 0, 0, 0, 84, 60, - 0, 115, 0, 0, 0, 106, 0, 0, 77, 0, - 145, 0, 0, 0, 0, 0, 0, 0, 75, 0, - 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, - 0, 56, 139, 0, 12, 0, 0, 0, 0, 0, - 0, 0, 41, 0, 40, 18, 0, 0, 96, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, - 0, 0, 54, 0, 73, 0, 0, 0, 0, 0, - 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 63, 0, 35, 0, 0, 0, 0, - 0, 25, 0, 0, 0, 0, 136, 0, 0, 0, - 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, - - 0, 0, 0, 37, 0, 0, 0, 0, 13, 0, + 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 135, 0, 22, 57, 0, 0, 0, 0, 21, 0, - 74, 0, 0, 134, 0, 0, 0, 0, 24, 0, + 0, 91, 0, 0, 0, 65, 88, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, + 0, 17, 15, 0, 143, 142, 0, 0, 0, 0, + 0, 29, 0, 105, 0, 0, 0, 0, 0, 0, + 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 0, 109, 0, 0, 53, 0, + 0, 0, 19, 0, 0, 0, 0, 0, 84, 60, + 0, 117, 0, 0, 0, 108, 0, 0, 77, 0, + + 147, 0, 0, 0, 0, 0, 0, 0, 75, 0, + 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 103, 0, 56, 141, 0, 12, 0, 107, 0, + 0, 0, 0, 0, 0, 0, 41, 0, 40, 18, + 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 58, 0, 0, 54, 0, 0, 73, + 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, + + 35, 0, 0, 0, 0, 0, 0, 25, 0, 0, + 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, + 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 37, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, + 22, 57, 0, 0, 0, 0, 21, 0, 104, 74, + 0, 0, 136, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 23, 0, 92, 0, 0, 0, 0, 0, 132, 137, - 61, 0, 0, 0, 131, 0, 0, 0, 0, 0, - 0, 0, 93, 0, 0, 133, 0 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, + 0, 92, 0, 0, 0, 0, 0, 134, 139, 61, + + 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, + 0, 93, 0, 0, 135, 0 } ; static const YY_CHAR yy_ec[256] = @@ -889,317 +893,323 @@ static const YY_CHAR yy_meta[72] = 3 } ; -static const flex_int16_t yy_base[1300] = +static const flex_int16_t yy_base[1329] = { 0, 0, 70, 19, 29, 41, 49, 52, 58, 87, 95, - 1651, 1652, 32, 1647, 141, 0, 201, 1652, 206, 88, - 11, 213, 1652, 1629, 114, 25, 2, 6, 1652, 1652, - 73, 11, 17, 1652, 1652, 1652, 104, 1635, 1590, 0, - 1627, 107, 1642, 217, 241, 1652, 185, 1586, 1592, 1612, + 1681, 1682, 32, 1677, 141, 0, 201, 1682, 206, 88, + 11, 213, 1682, 1659, 114, 25, 2, 6, 1682, 1682, + 73, 11, 17, 1682, 1682, 1682, 104, 1665, 1620, 0, + 1657, 107, 1672, 217, 241, 1682, 185, 1616, 1622, 1642, 93, 58, 190, 91, 211, 200, 14, 267, 213, 175, - 269, 64, 231, 1593, 187, 75, 11, 274, 188, 290, - 278, 297, 1576, 195, 298, 317, 324, 1595, 0, 345, - 352, 373, 380, 358, 1652, 0, 1652, 267, 295, 296, - 324, 283, 325, 346, 340, 1652, 1592, 1631, 1652, 384, - - 1652, 385, 361, 1579, 1589, 1628, 368, 220, 249, 1583, - 366, 370, 371, 377, 304, 1626, 0, 436, 377, 1570, - 1578, 361, 1574, 1563, 1564, 365, 1580, 1563, 1572, 370, - 200, 373, 1566, 383, 1554, 1610, 406, 1557, 1608, 1550, - 1559, 1572, 1569, 1569, 1563, 272, 1556, 1549, 1554, 1548, - 382, 1559, 1552, 1543, 1542, 1556, 378, 1592, 1541, 405, - 1553, 1556, 1540, 433, 407, 1554, 1551, 1552, 1550, 1532, - 1537, 1533, 1525, 1542, 1534, 0, 431, 441, 428, 435, - 444, 446, 1533, 1652, 0, 454, 1524, 1527, 1652, 440, - 456, 1652, 1579, 1534, 462, 1577, 464, 1576, 461, 1575, - - 1652, 505, 1574, 479, 1535, 1530, 1529, 444, 1570, 1564, - 1530, 1509, 1517, 1523, 1511, 1525, 1521, 1522, 1522, 1517, - 1509, 1511, 1495, 1499, 1512, 1512, 1504, 1494, 1497, 1511, - 1652, 1497, 1505, 1508, 1489, 1484, 1487, 1537, 1486, 1496, - 1534, 444, 1495, 1483, 1494, 1530, 486, 1534, 1471, 1486, - 445, 1476, 1492, 1473, 1475, 1471, 1477, 1468, 1467, 1480, - 1473, 1475, 1479, 1478, 1472, 80, 1479, 1474, 1466, 1472, - 1472, 1453, 1469, 1455, 1461, 1468, 1456, 1449, 1463, 1462, - 1465, 1447, 1455, 489, 1652, 1652, 490, 1652, 1652, 1442, - 0, 464, 1444, 501, 497, 1498, 1652, 1451, 472, 1652, - - 1496, 1652, 1490, 541, 1652, 500, 1432, 1442, 1492, 1449, - 480, 1652, 1447, 1489, 1444, 1441, 1442, 402, 1446, 1484, - 1434, 1429, 1426, 1422, 1424, 1473, 1432, 1421, 1470, 1418, - 536, 1431, 1431, 1414, 1415, 1428, 1415, 1416, 1424, 1419, - 1426, 1421, 1406, 475, 1415, 1418, 1413, 1409, 1457, 499, - 510, 1652, 1456, 1403, 1402, 1395, 1397, 1401, 1390, 1397, - 1402, 534, 1447, 1402, 521, 1399, 1403, 1401, 1390, 1390, - 1402, 1384, 1376, 1377, 1398, 1380, 1392, 1391, 1377, 1389, - 1388, 1387, 1386, 1427, 1426, 1425, 1369, 564, 1382, 1652, - 1652, 1381, 0, 510, 1369, 1420, 1419, 1377, 1417, 1652, - - 1365, 1415, 1652, 544, 590, 545, 1414, 1356, 1652, 1372, - 1371, 1358, 1357, 1652, 1359, 1356, 1368, 1364, 1352, 1354, - 1652, 1360, 1345, 1347, 1358, 1356, 1351, 571, 1358, 1340, - 1389, 1652, 1338, 1354, 1386, 1390, 1348, 1342, 1344, 1345, - 1347, 1379, 1378, 1331, 1326, 1325, 1327, 1320, 1335, 1313, - 1320, 1325, 1373, 1652, 1320, 1316, 1370, 1652, 1318, 1325, - 1310, 1320, 1323, 1312, 1311, 1306, 1652, 1361, 1652, 1305, - 1304, 1297, 1314, 1351, 1298, 1303, 1312, 1306, 1310, 572, - 1345, 1309, 1289, 1292, 1291, 1299, 1303, 1286, 1342, 1284, - 1652, 1652, 1652, 1289, 1652, 1299, 1333, 1295, 0, 1336, - - 1286, 1652, 1652, 1283, 1652, 1289, 1652, 550, 558, 586, - 1652, 1327, 1274, 1273, 1280, 1273, 1285, 1284, 1268, 1283, - 1313, 1280, 1316, 1262, 1264, 1276, 1276, 1275, 1652, 1260, - 1257, 1271, 1263, 1269, 1260, 1268, 1652, 1253, 1264, 1268, - 1250, 1264, 1263, 1261, 1244, 1238, 1243, 1240, 1255, 1256, - 1253, 1294, 1251, 1652, 1237, 1239, 1652, 1285, 1284, 574, - 1247, 1230, 1231, 1236, 1227, 1652, 1241, 1227, 612, 1219, - 1240, 1237, 1229, 1272, 1226, 1270, 1652, 1218, 1216, 1230, - 1233, 1265, 1264, 1211, 1262, 1261, 1652, 578, 1223, 1212, - 1214, 1652, 1652, 1257, 1205, 1260, 564, 577, 548, 1219, - - 1253, 1252, 1251, 1205, 1195, 1248, 1210, 1200, 1245, 1208, - 1190, 1198, 1200, 1204, 1239, 1243, 1200, 1199, 1200, 1193, - 1182, 1195, 1198, 1193, 1188, 1193, 1190, 1189, 1181, 1191, - 1186, 1227, 1226, 1170, 1166, 1174, 1222, 1652, 1221, 1170, - 1162, 1177, 1164, 1652, 1164, 1173, 1172, 1172, 1156, 1211, - 1154, 1167, 1652, 1159, 1151, 1160, 1153, 1164, 1141, 1145, - 1196, 1143, 1141, 1152, 1192, 1139, 569, 570, 1133, 1143, - 563, 1652, 1193, 1151, 1140, 1144, 1151, 1188, 1652, 1182, - 590, 1135, 1143, 1135, 1126, 1129, 1125, 1142, 1137, 1125, - 1136, 1120, 1122, 1174, 1120, 1134, 1115, 1165, 1120, 1652, - - 1128, 1126, 1117, 1126, 1122, 1163, 1105, 1105, 1118, 1117, - 1102, 1157, 1110, 1098, 1099, 1652, 1652, 1113, 1110, 1113, - 1652, 1652, 1112, 1097, 596, 1096, 1094, 9, 63, 120, - 235, 1652, 200, 216, 266, 416, 367, 452, 483, 553, - 508, 498, 527, 550, 574, 585, 580, 574, 583, 595, - 585, 639, 598, 603, 580, 1652, 638, 587, 602, 603, - 1652, 623, 631, 611, 601, 615, 609, 604, 605, 601, - 610, 605, 656, 662, 611, 1652, 623, 608, 624, 614, - 626, 620, 665, 633, 617, 619, 1652, 637, 621, 623, - 679, 624, 1652, 639, 644, 624, 643, 681, 641, 631, - - 649, 633, 648, 640, 636, 654, 639, 1652, 1652, 647, - 692, 647, 1652, 655, 650, 701, 1652, 652, 657, 651, - 653, 665, 659, 657, 710, 656, 712, 713, 659, 1652, - 658, 666, 664, 663, 677, 678, 679, 695, 700, 674, - 684, 670, 677, 682, 689, 730, 731, 680, 684, 1652, - 679, 698, 695, 733, 684, 702, 703, 689, 697, 706, - 686, 707, 747, 748, 1652, 703, 752, 753, 703, 716, - 718, 702, 703, 710, 761, 710, 725, 764, 716, 720, - 718, 716, 769, 770, 722, 772, 768, 728, 1652, 733, - 726, 735, 729, 724, 734, 730, 1652, 725, 1652, 1652, - - 726, 724, 743, 744, 745, 727, 732, 739, 772, 763, - 735, 794, 740, 755, 747, 751, 1652, 1652, 761, 759, - 745, 746, 804, 759, 764, 751, 762, 754, 760, 756, - 774, 775, 1652, 1652, 774, 1652, 776, 1652, 761, 761, - 781, 772, 822, 777, 819, 1652, 776, 826, 1652, 827, - 776, 783, 825, 1652, 1652, 785, 1652, 776, 776, 779, - 793, 780, 791, 838, 797, 835, 841, 842, 791, 844, - 845, 806, 790, 802, 792, 822, 851, 811, 1652, 853, - 802, 798, 814, 819, 807, 859, 818, 1652, 820, 819, - 821, 814, 823, 824, 821, 811, 813, 870, 819, 872, - - 817, 818, 875, 1652, 813, 828, 879, 1652, 1652, 829, - 839, 824, 840, 826, 886, 887, 833, 889, 848, 1652, - 841, 843, 894, 1652, 1652, 841, 1652, 1652, 848, 898, - 849, 900, 882, 1652, 860, 1652, 847, 846, 849, 849, - 850, 908, 1652, 853, 910, 865, 856, 871, 871, 874, - 874, 871, 876, 1652, 868, 1652, 920, 879, 1652, 880, - 881, 879, 1652, 870, 876, 875, 887, 887, 1652, 1652, - 926, 1652, 891, 876, 882, 1652, 887, 898, 1652, 895, - 1652, 914, 934, 940, 884, 942, 943, 898, 1652, 945, - 1652, 885, 942, 907, 903, 945, 895, 900, 953, 911, - - 1652, 955, 956, 919, 908, 959, 903, 920, 905, 920, - 904, 961, 962, 927, 913, 924, 971, 943, 930, 1652, - 974, 1652, 1652, 923, 1652, 976, 924, 973, 918, 923, - 982, 932, 1652, 938, 1652, 1652, 929, 944, 1652, 982, - 950, 943, 944, 953, 940, 942, 952, 995, 946, 1652, - 997, 944, 1652, 948, 1652, 952, 947, 946, 1004, 959, - 1652, 1001, 963, 966, 1009, 952, 954, 962, 952, 968, - 962, 978, 1017, 1652, 1013, 1652, 978, 1015, 979, 970, - 977, 1652, 974, 979, 1026, 971, 1652, 975, 987, 988, - 1031, 975, 976, 984, 1652, 995, 985, 984, 987, 999, - - 990, 999, 1001, 1652, 1043, 1003, 1045, 1046, 1652, 1042, - 1002, 1007, 988, 1051, 1010, 1053, 1012, 1013, 1056, 1015, - 1652, 1020, 1652, 1652, 1002, 1008, 1061, 1022, 1652, 1008, - 1652, 1008, 1010, 1652, 1015, 1010, 1022, 1018, 1652, 1021, - 1025, 1016, 1068, 1017, 1033, 1026, 1021, 1036, 1027, 1034, - 1021, 1036, 1083, 1042, 1085, 1030, 1046, 1037, 1051, 1047, - 1652, 1091, 1652, 1092, 1093, 1050, 1049, 1050, 1652, 1652, - 1652, 1097, 1041, 1057, 1652, 1095, 1046, 1045, 1047, 1058, - 1105, 1056, 1652, 1065, 1108, 1652, 1652, 1114, 1119, 1124, - 1129, 1134, 1139, 1144, 1147, 1121, 1126, 1128, 1141 - + 269, 67, 231, 1623, 187, 268, 11, 274, 188, 293, + 285, 299, 1606, 78, 297, 329, 311, 1625, 0, 351, + 368, 380, 386, 389, 1682, 0, 1682, 267, 295, 285, + 309, 315, 330, 357, 342, 1682, 1622, 1661, 1682, 237, + + 1682, 402, 354, 1609, 1619, 1658, 358, 305, 249, 1613, + 370, 377, 374, 385, 393, 1656, 0, 453, 384, 1600, + 1608, 74, 1604, 1593, 1594, 378, 1610, 1593, 1602, 325, + 1609, 200, 306, 1595, 370, 1583, 1639, 413, 1586, 1637, + 1579, 1588, 1601, 1598, 1598, 1592, 193, 1585, 1578, 1583, + 1577, 384, 1588, 1581, 1572, 1571, 1585, 365, 1621, 1570, + 384, 1582, 1585, 1569, 449, 391, 1583, 1580, 1581, 1579, + 1561, 1566, 1562, 1554, 1571, 1563, 0, 395, 425, 405, + 421, 429, 437, 1562, 1682, 0, 443, 1553, 1556, 1682, + 447, 456, 1682, 1608, 1563, 448, 1606, 457, 1605, 458, + + 1604, 1682, 502, 1603, 468, 1564, 1559, 1558, 457, 1599, + 1593, 1559, 1538, 1546, 1552, 1540, 1554, 1550, 1551, 1551, + 1546, 1538, 1537, 1539, 1523, 1527, 1540, 1540, 1532, 1522, + 1525, 1539, 1682, 1525, 1533, 1536, 1517, 1512, 1515, 1565, + 1514, 1524, 1562, 479, 1523, 1511, 1522, 1558, 482, 1562, + 1499, 1514, 460, 1504, 1520, 1501, 1503, 1499, 1505, 1496, + 1495, 1508, 1501, 1503, 1507, 1506, 1500, 80, 1507, 1502, + 1494, 1500, 1500, 1481, 1497, 1483, 1489, 1496, 1484, 1477, + 1491, 1490, 1493, 1475, 1483, 485, 1682, 1682, 497, 1682, + 1682, 1470, 0, 453, 1472, 516, 504, 1526, 1682, 1479, + + 501, 1682, 1524, 1682, 1518, 549, 1682, 498, 1460, 1470, + 1520, 1477, 492, 1682, 1475, 1517, 1472, 1469, 1470, 524, + 1474, 1512, 1462, 1457, 1454, 1503, 1449, 1451, 1500, 1459, + 1448, 1497, 1445, 548, 1458, 1458, 1441, 1442, 1455, 1442, + 1443, 1451, 1446, 1453, 1448, 1433, 482, 1442, 1445, 1440, + 1436, 1484, 192, 522, 1682, 1483, 1430, 1429, 1422, 1424, + 1428, 1417, 1424, 1429, 257, 1474, 1429, 508, 1426, 1430, + 1428, 1417, 1417, 1429, 1411, 1403, 1404, 1425, 1407, 1419, + 1418, 1404, 1416, 1415, 1414, 1413, 1454, 1453, 1452, 1396, + 570, 1409, 1682, 1682, 1408, 0, 523, 1396, 1447, 1446, + + 1404, 1444, 1682, 1392, 1442, 1682, 547, 597, 524, 1441, + 1383, 1682, 1399, 1398, 1385, 1384, 1682, 1386, 1383, 1395, + 1391, 1379, 1381, 1682, 1387, 1372, 1374, 445, 1385, 1383, + 1378, 576, 1385, 1367, 1416, 1682, 1365, 1381, 1413, 1417, + 1375, 1369, 1371, 1372, 1374, 1406, 1405, 1358, 1353, 1352, + 1354, 1347, 1362, 1340, 1347, 1352, 1400, 1682, 1347, 1343, + 1397, 1682, 1345, 1352, 1337, 1347, 1350, 1339, 1338, 1333, + 1682, 1388, 1682, 1332, 1331, 1324, 1341, 1378, 1325, 1330, + 1339, 1333, 1337, 578, 1372, 1336, 1316, 1319, 1318, 1326, + 1330, 1313, 1369, 1311, 1682, 1682, 1682, 1316, 1682, 1326, + + 1360, 1322, 0, 1363, 1313, 1682, 1682, 1310, 1682, 1316, + 1682, 530, 547, 596, 1682, 1354, 1301, 1300, 1307, 1300, + 1312, 1311, 1295, 1310, 1340, 1307, 1343, 1289, 1291, 1296, + 1293, 1301, 1301, 1300, 1682, 1285, 1282, 1296, 1288, 1294, + 1285, 1293, 1682, 1278, 1289, 1293, 1275, 1289, 1288, 1286, + 1269, 1263, 1268, 1265, 1280, 1281, 1278, 1319, 1276, 1682, + 1262, 1264, 1682, 1310, 1309, 572, 1272, 1255, 1256, 1261, + 1252, 1682, 1266, 1252, 603, 1244, 1265, 1262, 1254, 1297, + 1251, 1295, 1682, 1243, 1241, 1255, 1258, 1290, 1289, 1236, + 1287, 1286, 1682, 584, 1248, 1237, 1239, 1682, 1682, 1282, + + 1230, 1285, 564, 543, 564, 1244, 1278, 1277, 1276, 1230, + 1220, 1273, 1235, 1225, 1270, 1233, 1215, 1223, 1225, 1224, + 1264, 1227, 1262, 1266, 1223, 1222, 1223, 1216, 1205, 1218, + 1221, 1216, 1211, 1216, 1213, 1212, 1204, 1214, 1209, 1250, + 1249, 1193, 1189, 1197, 1245, 1682, 1244, 1193, 1185, 1200, + 1187, 1682, 1187, 1196, 1195, 1195, 1179, 1234, 1177, 1190, + 1682, 1182, 1174, 1183, 1176, 1187, 1164, 1168, 1219, 1166, + 1164, 1175, 1215, 1162, 565, 573, 1156, 1166, 571, 1682, + 1216, 1174, 1163, 1167, 1174, 1211, 1682, 1205, 567, 1158, + 1166, 1158, 1149, 1152, 1148, 1165, 1160, 1148, 1159, 1143, + + 1145, 1197, 1143, 1157, 1138, 1151, 1151, 1186, 1141, 1682, + 1149, 1147, 1138, 1147, 1143, 1184, 1126, 1126, 1139, 1138, + 1123, 1178, 1131, 266, 292, 1682, 1682, 326, 326, 387, + 1682, 1682, 396, 412, 587, 414, 479, 556, 508, 586, + 597, 1682, 570, 586, 588, 631, 581, 583, 577, 641, + 596, 586, 582, 593, 597, 608, 603, 597, 599, 611, + 601, 654, 613, 618, 595, 1682, 653, 602, 617, 617, + 1682, 636, 644, 625, 615, 629, 622, 617, 618, 614, + 623, 618, 669, 675, 624, 1682, 636, 621, 637, 629, + 639, 629, 641, 635, 680, 649, 633, 635, 1682, 653, + + 636, 638, 694, 639, 1682, 654, 659, 639, 658, 696, + 656, 646, 664, 648, 663, 655, 651, 669, 654, 1682, + 1682, 662, 707, 662, 1682, 670, 665, 716, 1682, 667, + 672, 666, 668, 680, 674, 672, 725, 671, 727, 728, + 674, 1682, 673, 681, 679, 678, 692, 693, 694, 710, + 715, 689, 699, 685, 692, 697, 704, 745, 746, 695, + 699, 1682, 694, 713, 710, 748, 697, 705, 701, 719, + 720, 706, 714, 723, 703, 724, 764, 767, 1682, 722, + 769, 770, 720, 733, 735, 719, 720, 727, 778, 727, + 742, 781, 733, 737, 735, 733, 786, 787, 739, 789, + + 785, 745, 1682, 750, 743, 752, 746, 741, 751, 747, + 1682, 742, 1682, 1682, 743, 741, 760, 761, 762, 744, + 749, 756, 789, 780, 752, 811, 757, 772, 764, 768, + 1682, 1682, 778, 776, 762, 763, 821, 776, 818, 786, + 783, 770, 781, 773, 779, 775, 794, 795, 1682, 1682, + 793, 1682, 795, 1682, 780, 781, 801, 791, 841, 796, + 838, 1682, 795, 845, 1682, 846, 795, 802, 844, 1682, + 1682, 804, 1682, 795, 795, 798, 812, 799, 810, 857, + 816, 854, 860, 861, 810, 863, 864, 825, 809, 821, + 811, 841, 870, 830, 1682, 872, 821, 817, 833, 838, + + 826, 878, 837, 1682, 839, 841, 831, 840, 842, 835, + 844, 845, 842, 832, 834, 891, 840, 893, 838, 839, + 896, 1682, 835, 850, 900, 1682, 1682, 850, 860, 845, + 861, 847, 906, 908, 854, 911, 870, 1682, 862, 865, + 916, 1682, 1682, 862, 1682, 1682, 869, 919, 870, 921, + 903, 1682, 881, 1682, 868, 867, 870, 870, 871, 929, + 1682, 874, 931, 883, 892, 888, 879, 894, 894, 897, + 897, 894, 899, 1682, 891, 1682, 943, 902, 1682, 904, + 905, 902, 1682, 893, 899, 898, 910, 910, 1682, 1682, + 949, 1682, 914, 899, 905, 1682, 910, 921, 1682, 918, + + 1682, 937, 957, 963, 907, 965, 966, 921, 1682, 968, + 1682, 931, 970, 910, 967, 932, 928, 970, 920, 925, + 978, 936, 1682, 980, 981, 944, 933, 984, 928, 945, + 930, 946, 930, 986, 987, 952, 938, 949, 996, 968, + 955, 1682, 999, 1682, 1682, 948, 1682, 945, 1682, 1002, + 950, 999, 944, 949, 1008, 958, 1682, 964, 1682, 1682, + 955, 970, 1682, 1008, 976, 969, 970, 979, 966, 968, + 978, 1021, 972, 1682, 1023, 970, 1682, 975, 971, 1682, + 979, 974, 973, 1031, 986, 1682, 1028, 990, 993, 1036, + 979, 981, 989, 979, 995, 989, 1005, 1044, 1682, 1040, + + 1682, 1005, 1042, 1006, 1007, 998, 1005, 1682, 1002, 1007, + 1054, 999, 1682, 1003, 1015, 1016, 1059, 1003, 1004, 1012, + 1682, 1023, 1013, 1012, 1010, 1016, 1028, 1019, 1028, 1030, + 1682, 1072, 1032, 1074, 1075, 1682, 1071, 1031, 1036, 1017, + 1080, 1039, 1082, 1083, 1042, 1043, 1086, 1045, 1682, 1050, + 1682, 1682, 1032, 1038, 1091, 1052, 1682, 1038, 1682, 1682, + 1038, 1040, 1682, 1045, 1040, 1052, 1048, 1682, 1051, 1055, + 1046, 1098, 1047, 1063, 1056, 1051, 1066, 1057, 1064, 1051, + 1066, 1113, 1072, 1115, 1060, 1076, 1067, 1081, 1077, 1682, + 1121, 1682, 1122, 1123, 1080, 1079, 1080, 1682, 1682, 1682, + + 1127, 1071, 1087, 1682, 1125, 1076, 1075, 1077, 1088, 1135, + 1086, 1682, 1095, 1138, 1682, 1682, 1144, 1149, 1154, 1159, + 1164, 1169, 1174, 1177, 1151, 1156, 1158, 1171 } ; -static const flex_int16_t yy_def[1300] = +static const flex_int16_t yy_def[1329] = { 0, - 1288, 1288, 1289, 1289, 1288, 1288, 1288, 1288, 1288, 1288, - 1287, 1287, 1287, 1287, 1287, 1290, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1291, - 1287, 1287, 1287, 1292, 15, 1287, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1293, 45, 45, + 1317, 1317, 1318, 1318, 1317, 1317, 1317, 1317, 1317, 1317, + 1316, 1316, 1316, 1316, 1316, 1319, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1320, + 1316, 1316, 1316, 1321, 15, 1316, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1322, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1290, 1287, - 1287, 1287, 1287, 1287, 1287, 1294, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1291, 1287, 1292, + 45, 45, 45, 45, 45, 45, 45, 45, 1319, 1316, + 1316, 1316, 1316, 1316, 1316, 1323, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1320, 1316, 1321, - 1287, 1287, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1295, 45, 1293, 45, 45, + 1316, 1316, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1324, 45, 1322, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1294, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1296, 45, 45, 45, 1287, 45, - 45, 1287, 45, 45, 45, 45, 45, 45, 45, 1295, + 45, 45, 45, 45, 45, 45, 1323, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1325, 45, 45, 45, 1316, + 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, - 1287, 1293, 45, 45, 45, 45, 45, 45, 45, 45, + 1324, 1316, 1322, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1297, 45, 45, 45, 45, 45, 1287, 45, 45, 1287, + 45, 45, 45, 45, 45, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1326, 45, 45, 45, 45, 45, 1316, 45, - 45, 1287, 45, 1293, 1287, 45, 45, 45, 45, 45, - 45, 1287, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1316, 45, 1316, 45, 1322, 1316, 45, 45, 45, + 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1287, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1287, - 1287, 1287, 1298, 45, 45, 45, 45, 45, 45, 1287, - - 45, 45, 1287, 45, 1293, 45, 45, 45, 1287, 45, - 45, 45, 45, 1287, 45, 45, 45, 45, 45, 45, - 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1287, 45, 45, 45, 1287, 45, 45, - 45, 45, 45, 45, 45, 45, 1287, 45, 1287, 45, + 45, 45, 1316, 1316, 1316, 1327, 45, 45, 45, 45, + + 45, 45, 1316, 45, 45, 1316, 45, 1322, 45, 45, + 45, 1316, 45, 45, 45, 45, 1316, 45, 45, 45, + 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1316, 45, 45, + 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, + 1316, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1287, 1287, 1287, 45, 1287, 45, 45, 1287, 1299, 45, + 45, 45, 45, 45, 1316, 1316, 1316, 45, 1316, 45, - 45, 1287, 1287, 45, 1287, 45, 1287, 45, 45, 45, - 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1287, 45, - 45, 45, 45, 45, 45, 45, 1287, 45, 45, 45, + 45, 1316, 1328, 45, 45, 1316, 1316, 45, 1316, 45, + 1316, 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1287, 45, 45, 1287, 45, 45, 45, - 45, 45, 45, 45, 45, 1287, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1287, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1287, 45, 45, 45, - 45, 1287, 1287, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1316, 45, 45, 45, 45, 45, + 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1316, + 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, + 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1316, 45, 45, 45, 45, 1316, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 1287, 45, 45, - 45, 45, 45, 1287, 45, 45, 45, 45, 45, 45, - 45, 45, 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1287, 45, 45, 45, 45, 45, 45, 1287, 45, + 45, 45, 45, 45, 45, 1316, 45, 45, 45, 45, + 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, + 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1316, + 45, 45, 45, 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1287, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1287, 1287, 45, 45, 45, - 1287, 1287, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 1287, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1316, 1316, 45, 45, 45, + 1316, 1316, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1287, 45, 45, 45, 45, - 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 1287, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1287, 45, 45, 45, - 45, 45, 1287, 45, 45, 45, 45, 45, 45, 45, - - 45, 45, 45, 45, 45, 45, 45, 1287, 1287, 45, - 45, 45, 1287, 45, 45, 45, 1287, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1287, + 45, 45, 45, 45, 45, 1316, 45, 45, 45, 45, + 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 1316, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1316, 45, + + 45, 45, 45, 45, 1316, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1316, + 1316, 45, 45, 45, 1316, 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1287, + 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 1287, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1287, 45, - 45, 45, 45, 45, 45, 45, 1287, 45, 1287, 1287, - + 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 1287, 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 1287, 1287, 45, 1287, 45, 1287, 45, 45, - 45, 45, 45, 45, 45, 1287, 45, 45, 1287, 45, - 45, 45, 45, 1287, 1287, 45, 1287, 45, 45, 45, + + 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, + 1316, 45, 1316, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 1287, 45, - 45, 45, 45, 45, 45, 45, 45, 1287, 45, 45, + 1316, 1316, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1316, 1316, + 45, 1316, 45, 1316, 45, 45, 45, 45, 45, 45, + 45, 1316, 45, 45, 1316, 45, 45, 45, 45, 1316, + 1316, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 1316, 45, 45, 45, 45, 45, - 45, 45, 45, 1287, 45, 45, 45, 1287, 1287, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1287, - 45, 45, 45, 1287, 1287, 45, 1287, 1287, 45, 45, - 45, 45, 45, 1287, 45, 1287, 45, 45, 45, 45, - 45, 45, 1287, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1287, 45, 1287, 45, 45, 1287, 45, - 45, 45, 1287, 45, 45, 45, 45, 45, 1287, 1287, - 45, 1287, 45, 45, 45, 1287, 45, 45, 1287, 45, - 1287, 45, 45, 45, 45, 45, 45, 45, 1287, 45, - 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, - - 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1287, - 45, 1287, 1287, 45, 1287, 45, 45, 45, 45, 45, - 45, 45, 1287, 45, 1287, 1287, 45, 45, 1287, 45, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 1287, - 45, 45, 1287, 45, 1287, 45, 45, 45, 45, 45, - 1287, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 45, 45, 45, 1287, 45, 1287, 45, 45, 45, 45, - 45, 1287, 45, 45, 45, 45, 1287, 45, 45, 45, - 45, 45, 45, 45, 1287, 45, 45, 45, 45, 45, - - 45, 45, 45, 1287, 45, 45, 45, 45, 1287, 45, + 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1287, 45, 1287, 1287, 45, 45, 45, 45, 1287, 45, - 1287, 45, 45, 1287, 45, 45, 45, 45, 1287, 45, + 45, 1316, 45, 45, 45, 1316, 1316, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 1316, 45, 45, + 45, 1316, 1316, 45, 1316, 1316, 45, 45, 45, 45, + 45, 1316, 45, 1316, 45, 45, 45, 45, 45, 45, + 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1316, 45, 1316, 45, 45, 1316, 45, + 45, 45, 1316, 45, 45, 45, 45, 45, 1316, 1316, + 45, 1316, 45, 45, 45, 1316, 45, 45, 1316, 45, + + 1316, 45, 45, 45, 45, 45, 45, 45, 1316, 45, + 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 1316, 45, 1316, 1316, 45, 1316, 45, 1316, 45, + 45, 45, 45, 45, 45, 45, 1316, 45, 1316, 1316, + 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 1316, 45, 45, 1316, 45, 45, 1316, + 45, 45, 45, 45, 45, 1316, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1316, 45, + + 1316, 45, 45, 45, 45, 45, 45, 1316, 45, 45, + 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, + 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 1316, 45, 45, 45, 45, 1316, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 1316, 45, + 1316, 1316, 45, 45, 45, 45, 1316, 45, 1316, 1316, + 45, 45, 1316, 45, 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 1287, 45, 1287, 45, 45, 45, 45, 45, 1287, 1287, - 1287, 45, 45, 45, 1287, 45, 45, 45, 45, 45, - 45, 45, 1287, 45, 45, 1287, 0, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287 + 45, 45, 45, 45, 45, 45, 45, 45, 45, 1316, + 45, 1316, 45, 45, 45, 45, 45, 1316, 1316, 1316, + 45, 45, 45, 1316, 45, 45, 45, 45, 45, 45, + 45, 1316, 45, 45, 1316, 0, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316 } ; -static const flex_int16_t yy_nxt[1724] = +static const flex_int16_t yy_nxt[1754] = { 0, - 1287, 13, 14, 13, 1287, 15, 16, 1287, 17, 18, - 19, 20, 21, 22, 22, 22, 23, 24, 85, 806, - 37, 14, 37, 86, 25, 26, 38, 1287, 1287, 27, + 1316, 13, 14, 13, 1316, 15, 16, 1316, 17, 18, + 19, 20, 21, 22, 22, 22, 23, 24, 85, 1316, + 37, 14, 37, 86, 25, 26, 38, 1316, 1316, 27, 37, 14, 37, 42, 28, 42, 38, 91, 92, 29, 115, 30, 13, 14, 13, 90, 91, 25, 31, 92, - 13, 14, 13, 13, 14, 13, 32, 40, 140, 13, - 14, 13, 33, 40, 115, 91, 92, 141, 90, 34, + 13, 14, 13, 13, 14, 13, 32, 40, 141, 13, + 14, 13, 33, 40, 115, 91, 92, 142, 90, 34, 35, 13, 14, 13, 94, 15, 16, 95, 17, 18, 19, 20, 21, 22, 22, 22, 23, 24, 13, 14, 13, 108, 39, 90, 25, 26, 13, 14, 13, 27, 39, 84, 84, 84, 28, 42, 41, 42, 42, 29, 42, 30, 82, 107, 41, 111, 93, 25, 31, 108, - 130, 137, 88, 807, 88, 808, 32, 89, 89, 89, - 131, 138, 33, 139, 371, 82, 107, 372, 111, 34, + 208, 164, 88, 130, 88, 165, 32, 89, 89, 89, + 209, 131, 33, 132, 374, 82, 107, 375, 111, 34, 35, 44, 44, 44, 45, 45, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 45, 48, 49, 50, 51, 45, 52, 53, @@ -1210,177 +1220,180 @@ static const flex_int16_t yy_nxt[1724] = 73, 74, 75, 76, 77, 78, 57, 45, 45, 45, 45, 45, 80, 103, 81, 81, 81, 80, 109, 83, 83, 83, 101, 114, 80, 82, 83, 83, 83, 121, - 82, 146, 122, 112, 123, 147, 124, 82, 163, 103, - 809, 103, 164, 113, 134, 221, 114, 110, 82, 135, - 191, 107, 136, 82, 192, 148, 112, 102, 222, 810, - 82, 45, 811, 45, 45, 45, 45, 119, 45, 45, - 45, 113, 117, 120, 107, 45, 45, 191, 45, 45, - 89, 89, 89, 193, 45, 132, 45, 45, 45, 45, + 82, 147, 122, 112, 123, 148, 124, 82, 243, 103, + 459, 103, 101, 113, 135, 223, 114, 110, 82, 136, + 460, 107, 137, 82, 193, 149, 112, 102, 224, 244, + 82, 45, 471, 45, 45, 45, 45, 119, 45, 45, + 45, 113, 117, 120, 107, 45, 45, 102, 45, 45, + 89, 89, 89, 194, 45, 133, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 89, 89, - 89, 45, 125, 812, 111, 45, 126, 241, 179, 127, - 128, 142, 143, 45, 177, 144, 152, 45, 199, 45, - 118, 145, 129, 149, 153, 150, 154, 151, 242, 112, - 157, 155, 156, 158, 159, 165, 179, 114, 166, 113, - 177, 199, 178, 177, 160, 167, 168, 161, 84, 84, - 84, 169, 112, 80, 170, 81, 81, 81, 171, 82, - 114, 84, 84, 84, 178, 179, 82, 113, 178, 180, - 173, 88, 82, 88, 172, 174, 89, 89, 89, 101, - 100, 80, 82, 83, 83, 83, 190, 100, 186, 82, - - 181, 196, 195, 182, 82, 82, 197, 207, 198, 212, - 213, 231, 418, 218, 186, 219, 419, 208, 195, 214, - 223, 813, 190, 814, 102, 100, 186, 82, 196, 100, - 195, 203, 220, 100, 197, 198, 224, 226, 253, 254, - 227, 100, 204, 263, 228, 100, 247, 100, 185, 202, - 202, 202, 286, 232, 344, 355, 202, 202, 202, 202, - 202, 202, 257, 271, 284, 258, 259, 272, 284, 285, - 286, 273, 285, 295, 292, 286, 264, 265, 266, 202, - 202, 202, 202, 202, 202, 296, 299, 267, 301, 268, - 303, 269, 284, 289, 270, 285, 287, 292, 288, 292, - - 310, 295, 394, 356, 402, 345, 311, 815, 346, 299, - 299, 301, 296, 390, 390, 396, 397, 303, 304, 304, - 304, 399, 306, 411, 398, 304, 304, 304, 304, 304, - 304, 394, 402, 351, 448, 449, 390, 391, 394, 467, - 412, 432, 402, 500, 399, 816, 433, 455, 304, 304, - 304, 304, 304, 304, 405, 405, 405, 456, 817, 818, - 819, 405, 405, 405, 405, 405, 405, 406, 471, 495, - 457, 500, 472, 508, 496, 509, 529, 577, 500, 644, - 597, 530, 578, 672, 405, 405, 405, 405, 405, 405, - 598, 593, 434, 673, 820, 468, 599, 435, 680, 682, - - 508, 681, 509, 45, 45, 45, 510, 597, 821, 683, - 45, 45, 45, 45, 45, 45, 645, 653, 598, 754, - 748, 750, 654, 763, 681, 755, 680, 749, 751, 822, - 823, 824, 825, 45, 45, 45, 45, 45, 45, 802, - 826, 827, 829, 803, 830, 831, 832, 833, 834, 835, - 836, 763, 837, 828, 838, 839, 840, 841, 842, 655, - 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, - 853, 854, 855, 856, 857, 858, 859, 860, 839, 861, - 862, 838, 863, 864, 865, 868, 869, 870, 871, 866, - 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, - - 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, - 882, 893, 894, 895, 896, 897, 898, 899, 900, 901, - 902, 903, 904, 905, 906, 907, 908, 909, 911, 910, - 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, - 867, 922, 923, 924, 925, 926, 927, 928, 929, 930, - 931, 932, 933, 934, 935, 909, 910, 936, 938, 940, - 941, 942, 937, 943, 944, 945, 946, 947, 948, 949, - 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, - 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, - 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, - - 939, 980, 981, 982, 983, 984, 985, 986, 987, 988, - 989, 990, 991, 992, 993, 994, 995, 996, 997, 976, - 998, 999, 1000, 1001, 1002, 977, 1003, 1004, 1005, 1006, - 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, - 1017, 1018, 1019, 1020, 1021, 1022, 1024, 1025, 1026, 1027, - 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1038, - 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, - 1059, 1060, 1061, 1033, 1063, 1064, 1065, 1066, 1067, 1068, - 1062, 1069, 1070, 1071, 1072, 1073, 1023, 1074, 1075, 1076, - - 1037, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, - 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, - 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1082, + 89, 45, 125, 178, 138, 45, 126, 111, 472, 127, + 128, 143, 144, 45, 139, 145, 140, 45, 807, 45, + 118, 146, 129, 153, 114, 192, 150, 179, 151, 178, + 152, 154, 158, 155, 166, 159, 160, 167, 156, 157, + 180, 112, 808, 225, 168, 169, 161, 114, 178, 162, + 170, 113, 192, 179, 84, 84, 84, 174, 219, 226, + 220, 809, 175, 810, 112, 82, 171, 180, 180, 80, + 172, 81, 81, 81, 181, 179, 191, 221, 88, 113, + 88, 187, 82, 89, 89, 89, 173, 80, 82, 83, + + 83, 83, 84, 84, 84, 183, 196, 100, 197, 198, + 82, 182, 191, 82, 100, 82, 199, 200, 233, 187, + 196, 187, 213, 214, 228, 255, 256, 229, 286, 288, + 811, 230, 215, 82, 196, 197, 82, 198, 204, 812, + 200, 259, 100, 199, 260, 261, 100, 273, 249, 205, + 100, 274, 288, 287, 286, 275, 286, 287, 100, 265, + 234, 288, 100, 294, 100, 186, 203, 203, 203, 813, + 358, 816, 301, 203, 203, 203, 203, 203, 203, 287, + 297, 303, 289, 290, 291, 298, 294, 305, 294, 347, + 530, 397, 266, 267, 268, 301, 203, 203, 203, 203, + + 203, 203, 531, 269, 303, 270, 301, 271, 297, 393, + 272, 308, 298, 312, 305, 306, 306, 306, 359, 313, + 397, 393, 306, 306, 306, 306, 306, 306, 402, 354, + 399, 400, 393, 405, 421, 414, 397, 817, 422, 401, + 348, 452, 453, 349, 394, 306, 306, 306, 306, 306, + 306, 402, 415, 436, 405, 475, 504, 504, 437, 476, + 603, 405, 408, 408, 408, 409, 818, 689, 819, 408, + 408, 408, 408, 408, 408, 499, 512, 652, 513, 604, + 500, 535, 461, 583, 504, 514, 536, 603, 584, 680, + 689, 820, 408, 408, 408, 408, 408, 408, 688, 681, + + 773, 599, 821, 512, 438, 513, 605, 604, 661, 439, + 45, 45, 45, 662, 653, 690, 758, 45, 45, 45, + 45, 45, 45, 759, 760, 691, 688, 764, 773, 822, + 814, 761, 823, 765, 815, 824, 825, 826, 827, 828, + 45, 45, 45, 45, 45, 45, 829, 830, 831, 832, + 663, 833, 834, 835, 836, 837, 838, 839, 841, 842, + 843, 844, 845, 846, 847, 848, 849, 850, 851, 840, + 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, + 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, + 872, 851, 873, 874, 850, 875, 876, 877, 878, 879, + + 882, 883, 884, 885, 880, 886, 887, 888, 889, 890, + 891, 892, 893, 894, 895, 897, 898, 899, 900, 901, + 902, 903, 904, 905, 906, 896, 907, 908, 909, 910, + 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, + 921, 922, 923, 925, 924, 926, 927, 928, 929, 930, + 931, 932, 933, 934, 935, 881, 936, 937, 938, 939, + 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, + 923, 924, 950, 951, 952, 954, 956, 957, 958, 953, + 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, + 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, + + 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, + 989, 990, 991, 992, 993, 994, 995, 955, 996, 997, + 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, + 1008, 1009, 1010, 1011, 1012, 1013, 992, 1014, 1015, 1016, + 1017, 1018, 993, 1019, 1020, 1021, 1022, 1023, 1024, 1025, + 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, + 1036, 1037, 1038, 1039, 1040, 1042, 1043, 1044, 1045, 1046, + 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1056, 1057, + 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, + 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, + + 1078, 1079, 1051, 1080, 1081, 1083, 1084, 1085, 1086, 1087, + 1088, 1089, 1082, 1090, 1091, 1041, 1092, 1093, 1094, 1055, + 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, - 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, - 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, - 1118, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, - 1154, 1155, 1157, 1158, 1159, 1160, 1156, 1161, 1162, 1163, - 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, - - 1174, 1175, 1176, 1177, 1178, 1151, 1179, 1180, 1181, 1182, - 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, + 1102, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, + 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, + 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, + 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, + 1164, 1165, 1166, 1140, 1167, 1168, 1169, 1170, 1171, 1172, + + 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1182, 1183, + 1184, 1185, 1181, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, - 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, - 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, - 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, - 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, - 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, - 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, - 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, - - 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, - 1283, 1284, 1285, 1286, 12, 12, 12, 12, 12, 36, - 36, 36, 36, 36, 79, 291, 79, 79, 79, 98, - 393, 98, 499, 98, 100, 100, 100, 100, 100, 116, - 116, 116, 116, 116, 176, 100, 176, 176, 176, 200, - 200, 200, 805, 804, 801, 800, 799, 798, 797, 796, - 795, 794, 793, 792, 791, 790, 789, 788, 787, 786, - 785, 784, 783, 782, 781, 780, 779, 778, 777, 776, - 775, 774, 773, 772, 771, 770, 769, 768, 767, 766, - 765, 764, 762, 761, 760, 759, 758, 757, 756, 753, - - 752, 747, 746, 745, 744, 743, 742, 741, 740, 739, - 738, 737, 736, 735, 734, 733, 732, 731, 730, 729, - 728, 727, 726, 725, 724, 723, 722, 721, 720, 719, - 718, 717, 716, 715, 714, 713, 712, 711, 710, 709, - 708, 707, 706, 705, 704, 703, 702, 701, 700, 699, - 698, 697, 696, 695, 694, 693, 692, 691, 690, 689, - 688, 687, 686, 685, 684, 679, 678, 677, 676, 675, - 674, 671, 670, 669, 668, 667, 666, 665, 664, 663, - 662, 661, 660, 659, 658, 657, 656, 652, 651, 650, - 649, 648, 647, 646, 643, 642, 641, 640, 639, 638, - - 637, 636, 635, 634, 633, 632, 631, 630, 629, 628, - 627, 626, 625, 624, 623, 622, 621, 620, 619, 618, - 617, 616, 615, 614, 613, 612, 611, 610, 609, 608, - 607, 606, 605, 604, 603, 602, 601, 600, 596, 595, - 594, 593, 592, 591, 590, 589, 588, 587, 586, 585, - 584, 583, 582, 581, 580, 579, 576, 575, 574, 573, - 572, 571, 570, 569, 568, 567, 566, 565, 564, 563, - 562, 561, 560, 559, 558, 557, 556, 555, 554, 553, - 552, 551, 550, 549, 548, 547, 546, 545, 544, 543, - 542, 541, 540, 539, 538, 537, 536, 535, 534, 533, - - 532, 531, 528, 527, 526, 525, 524, 523, 522, 521, - 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, - 507, 506, 505, 504, 503, 502, 501, 498, 497, 494, - 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, - 483, 482, 481, 480, 479, 478, 477, 476, 475, 474, - 473, 470, 469, 466, 465, 464, 463, 462, 461, 460, - 459, 458, 454, 453, 452, 451, 450, 447, 446, 445, - 444, 443, 442, 441, 440, 439, 438, 437, 436, 431, - 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, - 420, 417, 416, 415, 414, 413, 410, 409, 408, 407, - - 404, 403, 401, 400, 395, 392, 389, 388, 387, 386, - 385, 384, 383, 382, 381, 380, 379, 378, 377, 376, - 375, 374, 373, 370, 369, 368, 367, 366, 365, 364, - 363, 362, 361, 360, 359, 358, 357, 354, 353, 352, - 350, 349, 348, 347, 343, 342, 341, 340, 339, 338, - 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, - 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, - 317, 316, 315, 314, 313, 312, 309, 308, 307, 305, - 201, 302, 300, 298, 297, 294, 293, 290, 283, 282, - 281, 280, 279, 278, 277, 276, 275, 274, 262, 261, - - 260, 256, 255, 252, 251, 250, 249, 248, 246, 245, - 244, 243, 240, 239, 238, 237, 236, 235, 234, 233, - 230, 229, 225, 217, 216, 215, 211, 210, 209, 206, - 205, 201, 194, 189, 188, 187, 184, 183, 175, 162, - 133, 106, 105, 104, 43, 99, 97, 96, 87, 43, - 1287, 11, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287 + 1175, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, + 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, + 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, + 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, + 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, + 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, + 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, + + 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, + 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, + 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, + 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, + 1312, 1313, 1314, 1315, 12, 12, 12, 12, 12, 36, + 36, 36, 36, 36, 79, 293, 79, 79, 79, 98, + 396, 98, 503, 98, 100, 100, 100, 100, 100, 116, + 116, 116, 116, 116, 177, 100, 177, 177, 177, 201, + 201, 201, 806, 805, 804, 803, 802, 801, 800, 799, + 798, 797, 796, 795, 794, 793, 792, 791, 790, 789, + + 788, 787, 786, 785, 784, 783, 782, 781, 780, 779, + 778, 777, 776, 775, 774, 772, 771, 770, 769, 768, + 767, 766, 763, 762, 757, 756, 755, 754, 753, 752, + 751, 750, 749, 748, 747, 746, 745, 744, 743, 742, + 741, 740, 739, 738, 737, 736, 735, 734, 733, 732, + 731, 730, 729, 728, 727, 726, 725, 724, 723, 722, + 721, 720, 719, 718, 717, 716, 715, 714, 713, 712, + 711, 710, 709, 708, 707, 706, 705, 704, 703, 702, + 701, 700, 699, 698, 697, 696, 695, 694, 693, 692, + 687, 686, 685, 684, 683, 682, 679, 678, 677, 676, + + 675, 674, 673, 672, 671, 670, 669, 668, 667, 666, + 665, 664, 660, 659, 658, 657, 656, 655, 654, 651, + 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, + 640, 639, 638, 637, 636, 635, 634, 633, 632, 631, + 630, 629, 628, 627, 626, 625, 624, 623, 622, 621, + 620, 619, 618, 617, 616, 615, 614, 613, 612, 611, + 610, 609, 608, 607, 606, 602, 601, 600, 599, 598, + 597, 596, 595, 594, 593, 592, 591, 590, 589, 588, + 587, 586, 585, 582, 581, 580, 579, 578, 577, 576, + 575, 574, 573, 572, 571, 570, 569, 568, 567, 566, + + 565, 564, 563, 562, 561, 560, 559, 558, 557, 556, + 555, 554, 553, 552, 551, 550, 549, 548, 547, 546, + 545, 544, 543, 542, 541, 540, 539, 538, 537, 534, + 533, 532, 529, 528, 527, 526, 525, 524, 523, 522, + 521, 520, 519, 518, 517, 516, 515, 511, 510, 509, + 508, 507, 506, 505, 502, 501, 498, 497, 496, 495, + 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, + 484, 483, 482, 481, 480, 479, 478, 477, 474, 473, + 470, 469, 468, 467, 466, 465, 464, 463, 462, 458, + 457, 456, 455, 454, 451, 450, 449, 448, 447, 446, + + 445, 444, 443, 442, 441, 440, 435, 434, 433, 432, + 431, 430, 429, 428, 427, 426, 425, 424, 423, 420, + 419, 418, 417, 416, 413, 412, 411, 410, 407, 406, + 404, 403, 398, 395, 392, 391, 390, 389, 388, 387, + 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, + 376, 373, 372, 371, 370, 369, 368, 367, 366, 365, + 364, 363, 362, 361, 360, 357, 356, 355, 353, 352, + 351, 350, 346, 345, 344, 343, 342, 341, 340, 339, + 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, + 328, 327, 326, 325, 324, 323, 322, 321, 320, 319, + + 318, 317, 316, 315, 314, 311, 310, 309, 307, 202, + 304, 302, 300, 299, 296, 295, 292, 285, 284, 283, + 282, 281, 280, 279, 278, 277, 276, 264, 263, 262, + 258, 257, 254, 253, 252, 251, 250, 248, 247, 246, + 245, 242, 241, 240, 239, 238, 237, 236, 235, 232, + 231, 227, 222, 218, 217, 216, 212, 211, 210, 207, + 206, 202, 195, 190, 189, 188, 185, 184, 176, 163, + 134, 106, 105, 104, 43, 99, 97, 96, 87, 43, + 1316, 11, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316 } ; -static const flex_int16_t yy_chk[1724] = +static const flex_int16_t yy_chk[1754] = { 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 21, 728, + 1, 1, 1, 1, 1, 1, 1, 1, 21, 0, 3, 3, 3, 21, 1, 1, 3, 0, 0, 1, 4, 4, 4, 13, 1, 13, 4, 27, 28, 1, 57, 1, 5, 5, 5, 26, 32, 1, 1, 33, @@ -1392,8 +1405,8 @@ static const flex_int16_t yy_chk[1724] = 6, 20, 20, 20, 2, 37, 9, 37, 42, 2, 42, 2, 20, 51, 10, 54, 31, 2, 2, 52, - 62, 66, 25, 729, 25, 730, 2, 25, 25, 25, - 62, 66, 2, 66, 266, 20, 51, 266, 54, 2, + 122, 74, 25, 62, 25, 74, 2, 25, 25, 25, + 122, 62, 2, 62, 268, 20, 51, 268, 54, 2, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, @@ -1404,171 +1417,174 @@ static const flex_int16_t yy_chk[1724] = 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 17, 47, 17, 17, 17, 19, 53, 19, 19, 19, 44, 56, 22, 17, 22, 22, 22, 60, - 19, 69, 60, 55, 60, 69, 60, 22, 74, 47, - 731, 59, 74, 55, 65, 131, 56, 53, 17, 65, - 108, 63, 65, 19, 109, 69, 55, 44, 131, 733, - 22, 45, 734, 45, 45, 45, 45, 59, 45, 45, - 45, 55, 58, 59, 63, 45, 45, 108, 45, 58, + 19, 69, 60, 55, 60, 69, 60, 22, 147, 47, + 353, 59, 100, 55, 65, 132, 56, 53, 17, 65, + 353, 63, 65, 19, 109, 69, 55, 44, 132, 147, + 22, 45, 365, 45, 45, 45, 45, 59, 45, 45, + 45, 55, 58, 59, 63, 45, 45, 100, 45, 58, 88, 88, 88, 109, 45, 63, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 58, 89, 89, - 89, 58, 61, 735, 70, 58, 61, 146, 92, 61, - 61, 68, 68, 58, 90, 68, 71, 58, 115, 58, - 58, 68, 61, 70, 71, 70, 71, 70, 146, 76, - 72, 71, 71, 72, 72, 75, 92, 77, 75, 76, - 90, 115, 91, 93, 72, 75, 75, 72, 80, 80, - 80, 75, 76, 81, 76, 81, 81, 81, 76, 80, - 77, 84, 84, 84, 94, 95, 81, 76, 91, 93, - 77, 82, 84, 82, 76, 77, 82, 82, 82, 100, - 102, 83, 80, 83, 83, 83, 107, 102, 103, 81, - - 94, 112, 111, 95, 83, 84, 113, 122, 114, 126, - 126, 137, 318, 130, 119, 130, 318, 122, 151, 126, - 132, 736, 107, 737, 100, 102, 103, 83, 112, 102, - 111, 119, 130, 102, 113, 114, 132, 134, 157, 157, - 134, 102, 119, 164, 134, 102, 151, 102, 102, 118, - 118, 118, 179, 137, 242, 251, 118, 118, 118, 118, - 118, 118, 160, 165, 177, 160, 160, 165, 180, 178, - 182, 165, 181, 190, 186, 179, 164, 164, 164, 118, - 118, 118, 118, 118, 118, 191, 195, 164, 197, 164, - 199, 164, 177, 182, 164, 178, 180, 186, 181, 204, - - 208, 190, 292, 251, 299, 242, 208, 738, 242, 195, - 247, 197, 191, 284, 287, 294, 294, 199, 202, 202, - 202, 295, 204, 311, 294, 202, 202, 202, 202, 202, - 202, 292, 299, 247, 344, 344, 284, 287, 306, 362, - 311, 331, 351, 394, 295, 739, 331, 350, 202, 202, - 202, 202, 202, 202, 304, 304, 304, 350, 740, 741, - 742, 304, 304, 304, 304, 304, 304, 306, 365, 388, - 351, 394, 365, 404, 388, 404, 428, 480, 406, 560, - 508, 428, 480, 588, 304, 304, 304, 304, 304, 304, - 509, 510, 331, 588, 743, 362, 510, 331, 597, 599, - - 404, 598, 404, 405, 405, 405, 406, 508, 744, 599, - 405, 405, 405, 405, 405, 405, 560, 569, 509, 671, - 667, 668, 569, 681, 598, 671, 597, 667, 668, 745, - 746, 747, 748, 405, 405, 405, 405, 405, 405, 725, - 749, 750, 751, 725, 752, 753, 754, 755, 757, 758, - 759, 681, 760, 750, 762, 763, 764, 765, 766, 569, - 767, 768, 769, 770, 771, 772, 773, 774, 775, 777, - 778, 779, 780, 781, 782, 783, 784, 785, 763, 786, - 788, 762, 789, 790, 791, 792, 794, 795, 796, 791, - 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, - - 807, 810, 811, 812, 814, 815, 816, 818, 819, 820, - 806, 821, 822, 823, 824, 825, 826, 827, 828, 829, - 831, 832, 833, 834, 835, 836, 837, 838, 840, 839, - 841, 842, 843, 844, 845, 846, 847, 848, 849, 851, - 791, 852, 853, 854, 855, 856, 857, 858, 859, 860, - 861, 862, 863, 864, 866, 838, 839, 867, 868, 869, - 870, 871, 867, 872, 873, 874, 875, 876, 877, 878, - 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, - 890, 891, 892, 893, 894, 895, 896, 898, 901, 902, - 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, - - 868, 913, 914, 915, 916, 919, 920, 921, 922, 923, - 924, 925, 926, 927, 928, 929, 930, 931, 932, 909, - 935, 937, 939, 940, 941, 910, 942, 943, 944, 945, - 947, 948, 950, 951, 952, 953, 956, 958, 959, 960, - 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, - 971, 972, 973, 974, 975, 976, 977, 978, 980, 981, - 982, 983, 984, 985, 986, 987, 989, 990, 991, 992, - 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, - 1003, 1005, 1006, 976, 1007, 1010, 1011, 1012, 1013, 1014, - 1006, 1015, 1016, 1017, 1018, 1019, 966, 1021, 1022, 1023, - - 980, 1026, 1029, 1030, 1031, 1032, 1033, 1035, 1037, 1038, - 1039, 1040, 1041, 1042, 1044, 1045, 1046, 1047, 1048, 1049, - 1050, 1051, 1052, 1053, 1055, 1057, 1058, 1060, 1061, 1033, - 1062, 1064, 1065, 1066, 1067, 1068, 1071, 1073, 1074, 1075, - 1077, 1078, 1080, 1082, 1083, 1084, 1085, 1086, 1087, 1088, - 1090, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, - 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, - 1082, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1121, - 1124, 1126, 1127, 1128, 1129, 1130, 1126, 1131, 1132, 1134, - 1137, 1138, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, - - 1148, 1149, 1151, 1152, 1154, 1118, 1156, 1157, 1158, 1159, - 1160, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, - 1171, 1172, 1173, 1175, 1177, 1178, 1179, 1180, 1181, 1183, - 1184, 1185, 1186, 1188, 1189, 1190, 1191, 1192, 1193, 1194, - 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1205, 1206, - 1207, 1208, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, - 1218, 1219, 1220, 1222, 1225, 1226, 1227, 1228, 1230, 1232, - 1233, 1235, 1236, 1237, 1238, 1240, 1241, 1242, 1243, 1244, - 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, - 1255, 1256, 1257, 1258, 1259, 1260, 1262, 1264, 1265, 1266, - - 1267, 1268, 1272, 1273, 1274, 1276, 1277, 1278, 1279, 1280, - 1281, 1282, 1284, 1285, 1288, 1288, 1288, 1288, 1288, 1289, - 1289, 1289, 1289, 1289, 1290, 1296, 1290, 1290, 1290, 1291, - 1297, 1291, 1298, 1291, 1292, 1292, 1292, 1292, 1292, 1293, - 1293, 1293, 1293, 1293, 1294, 1299, 1294, 1294, 1294, 1295, - 1295, 1295, 727, 726, 724, 723, 720, 719, 718, 715, - 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, - 704, 703, 702, 701, 699, 698, 697, 696, 695, 694, - 693, 692, 691, 690, 689, 688, 687, 686, 685, 684, - 683, 682, 680, 678, 677, 676, 675, 674, 673, 670, - - 669, 666, 665, 664, 663, 662, 661, 660, 659, 658, - 657, 656, 655, 654, 652, 651, 650, 649, 648, 647, - 646, 645, 643, 642, 641, 640, 639, 637, 636, 635, - 634, 633, 632, 631, 630, 629, 628, 627, 626, 625, - 624, 623, 622, 621, 620, 619, 618, 617, 616, 615, - 614, 613, 612, 611, 610, 609, 608, 607, 606, 605, - 604, 603, 602, 601, 600, 596, 595, 594, 591, 590, - 589, 586, 585, 584, 583, 582, 581, 580, 579, 578, - 576, 575, 574, 573, 572, 571, 570, 568, 567, 565, - 564, 563, 562, 561, 559, 558, 556, 555, 553, 552, - - 551, 550, 549, 548, 547, 546, 545, 544, 543, 542, - 541, 540, 539, 538, 536, 535, 534, 533, 532, 531, - 530, 528, 527, 526, 525, 524, 523, 522, 521, 520, - 519, 518, 517, 516, 515, 514, 513, 512, 506, 504, - 501, 500, 498, 497, 496, 494, 490, 489, 488, 487, - 486, 485, 484, 483, 482, 481, 479, 478, 477, 476, - 475, 474, 473, 472, 471, 470, 468, 466, 465, 464, - 463, 462, 461, 460, 459, 457, 456, 455, 453, 452, - 451, 450, 449, 448, 447, 446, 445, 444, 443, 442, - 441, 440, 439, 438, 437, 436, 435, 434, 433, 431, - - 430, 429, 427, 426, 425, 424, 423, 422, 420, 419, - 418, 417, 416, 415, 413, 412, 411, 410, 408, 407, - 402, 401, 399, 398, 397, 396, 395, 392, 389, 387, + 89, 58, 61, 90, 66, 58, 61, 70, 365, 61, + 61, 68, 68, 58, 66, 68, 66, 58, 724, 58, + 58, 68, 61, 71, 77, 108, 70, 91, 70, 90, + 70, 71, 72, 71, 75, 72, 72, 75, 71, 71, + 92, 76, 725, 133, 75, 75, 72, 77, 93, 72, + 75, 76, 108, 91, 80, 80, 80, 77, 130, 133, + 130, 728, 77, 729, 76, 80, 76, 95, 92, 81, + 76, 81, 81, 81, 93, 94, 107, 130, 82, 76, + 82, 103, 81, 82, 82, 82, 76, 83, 80, 83, + + 83, 83, 84, 84, 84, 95, 111, 102, 112, 113, + 83, 94, 107, 84, 102, 81, 114, 115, 138, 103, + 152, 119, 126, 126, 135, 158, 158, 135, 178, 180, + 730, 135, 126, 83, 111, 112, 84, 113, 119, 733, + 115, 161, 102, 114, 161, 161, 102, 166, 152, 119, + 102, 166, 180, 179, 181, 166, 178, 182, 102, 165, + 138, 183, 102, 187, 102, 102, 118, 118, 118, 734, + 253, 736, 196, 118, 118, 118, 118, 118, 118, 179, + 191, 198, 181, 182, 183, 192, 187, 200, 205, 244, + 428, 294, 165, 165, 165, 196, 118, 118, 118, 118, + + 118, 118, 428, 165, 198, 165, 249, 165, 191, 286, + 165, 205, 192, 209, 200, 203, 203, 203, 253, 209, + 294, 289, 203, 203, 203, 203, 203, 203, 297, 249, + 296, 296, 286, 301, 320, 313, 308, 737, 320, 296, + 244, 347, 347, 244, 289, 203, 203, 203, 203, 203, + 203, 297, 313, 334, 354, 368, 397, 409, 334, 368, + 512, 301, 306, 306, 306, 308, 738, 604, 739, 306, + 306, 306, 306, 306, 306, 391, 407, 566, 407, 513, + 391, 432, 354, 484, 397, 409, 432, 512, 484, 594, + 604, 740, 306, 306, 306, 306, 306, 306, 603, 594, + + 689, 514, 741, 407, 334, 407, 514, 513, 575, 334, + 408, 408, 408, 575, 566, 605, 675, 408, 408, 408, + 408, 408, 408, 675, 676, 605, 603, 679, 689, 743, + 735, 676, 744, 679, 735, 745, 746, 747, 748, 749, + 408, 408, 408, 408, 408, 408, 750, 751, 752, 753, + 575, 754, 755, 756, 757, 758, 759, 760, 761, 762, + 763, 764, 765, 767, 768, 769, 770, 772, 773, 760, + 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, + 784, 785, 787, 788, 789, 790, 791, 792, 793, 794, + 795, 773, 796, 797, 772, 798, 800, 801, 802, 803, + + 804, 806, 807, 808, 803, 809, 810, 811, 812, 813, + 814, 815, 816, 817, 818, 819, 822, 823, 824, 826, + 827, 828, 830, 831, 832, 818, 833, 834, 835, 836, + 837, 838, 839, 840, 841, 843, 844, 845, 846, 847, + 848, 849, 850, 852, 851, 853, 854, 855, 856, 857, + 858, 859, 860, 861, 863, 803, 864, 865, 866, 867, + 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, + 850, 851, 878, 880, 881, 882, 883, 884, 885, 881, + 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, + 896, 897, 898, 899, 900, 901, 902, 904, 905, 906, + + 907, 908, 909, 910, 912, 915, 916, 917, 918, 919, + 920, 921, 922, 923, 924, 925, 926, 882, 927, 928, + 929, 930, 933, 934, 935, 936, 937, 938, 939, 940, + 941, 942, 943, 944, 945, 946, 923, 947, 948, 951, + 953, 955, 924, 956, 957, 958, 959, 960, 961, 963, + 964, 966, 967, 968, 969, 972, 974, 975, 976, 977, + 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, + 988, 989, 990, 991, 992, 993, 994, 996, 997, 998, + 999, 1000, 1001, 1002, 1003, 1005, 1006, 1007, 1008, 1009, + 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, + + 1020, 1021, 992, 1023, 1024, 1025, 1028, 1029, 1030, 1031, + 1032, 1033, 1024, 1034, 1035, 982, 1036, 1037, 1039, 996, + 1040, 1041, 1044, 1047, 1048, 1049, 1050, 1051, 1053, 1055, + 1056, 1057, 1058, 1059, 1060, 1062, 1063, 1064, 1065, 1066, + 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1075, 1077, 1078, + 1051, 1080, 1081, 1082, 1084, 1085, 1086, 1087, 1088, 1091, + 1093, 1094, 1095, 1097, 1098, 1100, 1102, 1103, 1104, 1105, + 1106, 1107, 1108, 1110, 1112, 1113, 1114, 1115, 1116, 1117, + 1118, 1119, 1120, 1121, 1122, 1124, 1125, 1126, 1127, 1128, + 1129, 1130, 1131, 1102, 1132, 1133, 1134, 1135, 1136, 1137, + + 1138, 1139, 1140, 1141, 1143, 1146, 1148, 1150, 1151, 1152, + 1153, 1154, 1150, 1155, 1156, 1158, 1161, 1162, 1164, 1165, + 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1175, 1176, + 1140, 1178, 1179, 1181, 1182, 1183, 1184, 1185, 1187, 1188, + 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, + 1200, 1202, 1203, 1204, 1205, 1206, 1207, 1209, 1210, 1211, + 1212, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1222, 1223, + 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1232, 1233, 1234, + 1235, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, + 1246, 1247, 1248, 1250, 1253, 1254, 1255, 1256, 1258, 1261, + + 1262, 1264, 1265, 1266, 1267, 1269, 1270, 1271, 1272, 1273, + 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 1291, 1293, 1294, 1295, + 1296, 1297, 1301, 1302, 1303, 1305, 1306, 1307, 1308, 1309, + 1310, 1311, 1313, 1314, 1317, 1317, 1317, 1317, 1317, 1318, + 1318, 1318, 1318, 1318, 1319, 1325, 1319, 1319, 1319, 1320, + 1326, 1320, 1327, 1320, 1321, 1321, 1321, 1321, 1321, 1322, + 1322, 1322, 1322, 1322, 1323, 1328, 1323, 1323, 1323, 1324, + 1324, 1324, 723, 722, 721, 720, 719, 718, 717, 716, + 715, 714, 713, 712, 711, 709, 708, 707, 706, 705, + + 704, 703, 702, 701, 700, 699, 698, 697, 696, 695, + 694, 693, 692, 691, 690, 688, 686, 685, 684, 683, + 682, 681, 678, 677, 674, 673, 672, 671, 670, 669, + 668, 667, 666, 665, 664, 663, 662, 660, 659, 658, + 657, 656, 655, 654, 653, 651, 650, 649, 648, 647, + 645, 644, 643, 642, 641, 640, 639, 638, 637, 636, + 635, 634, 633, 632, 631, 630, 629, 628, 627, 626, + 625, 624, 623, 622, 621, 620, 619, 618, 617, 616, + 615, 614, 613, 612, 611, 610, 609, 608, 607, 606, + 602, 601, 600, 597, 596, 595, 592, 591, 590, 589, + + 588, 587, 586, 585, 584, 582, 581, 580, 579, 578, + 577, 576, 574, 573, 571, 570, 569, 568, 567, 565, + 564, 562, 561, 559, 558, 557, 556, 555, 554, 553, + 552, 551, 550, 549, 548, 547, 546, 545, 544, 542, + 541, 540, 539, 538, 537, 536, 534, 533, 532, 531, + 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, + 520, 519, 518, 517, 516, 510, 508, 505, 504, 502, + 501, 500, 498, 494, 493, 492, 491, 490, 489, 488, + 487, 486, 485, 483, 482, 481, 480, 479, 478, 477, + 476, 475, 474, 472, 470, 469, 468, 467, 466, 465, + + 464, 463, 461, 460, 459, 457, 456, 455, 454, 453, + 452, 451, 450, 449, 448, 447, 446, 445, 444, 443, + 442, 441, 440, 439, 438, 437, 435, 434, 433, 431, + 430, 429, 427, 426, 425, 423, 422, 421, 420, 419, + 418, 416, 415, 414, 413, 411, 410, 405, 404, 402, + 401, 400, 399, 398, 395, 392, 390, 389, 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, 378, 377, - 376, 375, 374, 373, 372, 371, 370, 369, 368, 367, - 366, 364, 363, 361, 360, 359, 358, 357, 356, 355, - 354, 353, 349, 348, 347, 346, 345, 343, 342, 341, - 340, 339, 338, 337, 336, 335, 334, 333, 332, 330, - 329, 328, 327, 326, 325, 324, 323, 322, 321, 320, - 319, 317, 316, 315, 314, 313, 310, 309, 308, 307, - - 303, 301, 298, 296, 293, 290, 283, 282, 281, 280, + 376, 375, 374, 373, 372, 371, 370, 369, 367, 366, + 364, 363, 362, 361, 360, 359, 358, 357, 356, 352, + 351, 350, 349, 348, 346, 345, 344, 343, 342, 341, + + 340, 339, 338, 337, 336, 335, 333, 332, 331, 330, + 329, 328, 327, 326, 325, 324, 323, 322, 321, 319, + 318, 317, 316, 315, 312, 311, 310, 309, 305, 303, + 300, 298, 295, 292, 285, 284, 283, 282, 281, 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 270, - 269, 268, 267, 265, 264, 263, 262, 261, 260, 259, - 258, 257, 256, 255, 254, 253, 252, 250, 249, 248, - 246, 245, 244, 243, 241, 240, 239, 238, 237, 236, - 235, 234, 233, 232, 230, 229, 228, 227, 226, 225, + 269, 267, 266, 265, 264, 263, 262, 261, 260, 259, + 258, 257, 256, 255, 254, 252, 251, 250, 248, 247, + 246, 245, 243, 242, 241, 240, 239, 238, 237, 236, + 235, 234, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, - 214, 213, 212, 211, 210, 209, 207, 206, 205, 203, - 200, 198, 196, 194, 193, 188, 187, 183, 175, 174, - 173, 172, 171, 170, 169, 168, 167, 166, 163, 162, - 161, 159, 158, 156, 155, 154, 153, 152, 150, 149, - 148, 147, 145, 144, 143, 142, 141, 140, 139, 138, - 136, 135, 133, 129, 128, 127, 125, 124, 123, 121, + 214, 213, 212, 211, 210, 208, 207, 206, 204, 201, + 199, 197, 195, 194, 189, 188, 184, 176, 175, 174, + 173, 172, 171, 170, 169, 168, 167, 164, 163, 162, + 160, 159, 157, 156, 155, 154, 153, 151, 150, 149, + 148, 146, 145, 144, 143, 142, 141, 140, 139, 137, + 136, 134, 131, 129, 128, 127, 125, 124, 123, 121, 120, 116, 110, 106, 105, 104, 98, 97, 78, 73, 64, 50, 49, 48, 43, 41, 39, 38, 24, 14, - 11, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, 1287, - 1287, 1287, 1287 + 11, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, 1316, + 1316, 1316, 1316 } ; static yy_state_type yy_last_accepting_state; @@ -1577,7 +1593,7 @@ static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 1; -static const flex_int16_t yy_rule_linenum[164] = +static const flex_int16_t yy_rule_linenum[166] = { 0, 145, 147, 149, 154, 155, 160, 161, 162, 174, 177, 182, 189, 198, 207, 216, 225, 234, 243, 252, 261, @@ -1586,17 +1602,17 @@ static const flex_int16_t yy_rule_linenum[164] = 460, 469, 478, 490, 499, 508, 517, 526, 536, 546, 556, 566, 577, 587, 597, 607, 617, 628, 639, 650, 661, 670, 680, 689, 698, 714, 730, 739, 748, 757, - 766, 775, 784, 793, 802, 811, 820, 831, 840, 849, - 858, 868, 878, 887, 897, 907, 916, 925, 934, 943, - 953, 962, 971, 980, 989, 998, 1007, 1016, 1025, 1034, - - 1044, 1053, 1062, 1072, 1085, 1095, 1104, 1113, 1122, 1133, - 1143, 1152, 1162, 1172, 1181, 1190, 1199, 1208, 1218, 1227, - 1237, 1246, 1255, 1264, 1273, 1282, 1291, 1300, 1309, 1318, - 1327, 1336, 1345, 1354, 1363, 1372, 1381, 1390, 1399, 1408, - 1417, 1426, 1435, 1444, 1453, 1463, 1561, 1566, 1571, 1576, - 1577, 1578, 1579, 1580, 1581, 1583, 1601, 1614, 1619, 1623, - 1625, 1627, 1629 + 766, 775, 784, 793, 802, 811, 820, 831, 841, 850, + 859, 869, 879, 888, 898, 908, 917, 926, 935, 944, + 954, 963, 972, 981, 990, 999, 1008, 1017, 1026, 1035, + + 1045, 1054, 1063, 1073, 1085, 1098, 1108, 1117, 1126, 1135, + 1144, 1155, 1165, 1174, 1184, 1194, 1203, 1212, 1221, 1230, + 1240, 1249, 1259, 1268, 1277, 1286, 1295, 1304, 1313, 1322, + 1331, 1340, 1349, 1358, 1367, 1376, 1385, 1394, 1403, 1412, + 1421, 1430, 1439, 1448, 1457, 1466, 1475, 1485, 1583, 1588, + 1593, 1598, 1599, 1600, 1601, 1602, 1603, 1605, 1623, 1636, + 1641, 1645, 1647, 1649, 1651 } ; /* The intent behind this definition is that it'll catch @@ -1649,7 +1665,7 @@ using namespace isc::dhcp; /* To avoid the call to exit... oops! */ #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg) -#line 1652 "dhcp6_lexer.cc" +#line 1668 "dhcp6_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 @@ -1675,8 +1691,8 @@ using namespace isc::dhcp; 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 1678 "dhcp6_lexer.cc" -#line 1679 "dhcp6_lexer.cc" +#line 1694 "dhcp6_lexer.cc" +#line 1695 "dhcp6_lexer.cc" #define INITIAL 0 #define COMMENT 1 @@ -2004,7 +2020,7 @@ YY_DECL } -#line 2007 "dhcp6_lexer.cc" +#line 2023 "dhcp6_lexer.cc" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2033,13 +2049,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 >= 1288 ) + if ( yy_current_state >= 1317 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1287 ); + while ( yy_current_state != 1316 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -2058,13 +2074,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 < 164 ) + else if ( yy_act < 166 ) fprintf( stderr, "--accepting rule at line %ld (\"%s\")\n", (long)yy_rule_linenum[yy_act], yytext ); - else if ( yy_act == 164 ) + else if ( yy_act == 166 ) fprintf( stderr, "--accepting default rule (\"%s\")\n", yytext ); - else if ( yy_act == 165 ) + else if ( yy_act == 167 ) fprintf( stderr, "--(end of buffer or a NUL)\n" ); else fprintf( stderr, "--EOF (start condition %d)\n", YY_START ); @@ -3023,7 +3039,7 @@ YY_RULE_SETUP YY_BREAK case 79: YY_RULE_SETUP -#line 840 "dhcp6_lexer.ll" +#line 841 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::KNOWN_CLIENTS: @@ -3035,7 +3051,7 @@ YY_RULE_SETUP YY_BREAK case 80: YY_RULE_SETUP -#line 849 "dhcp6_lexer.ll" +#line 850 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3047,7 +3063,7 @@ YY_RULE_SETUP YY_BREAK case 81: YY_RULE_SETUP -#line 858 "dhcp6_lexer.ll" +#line 859 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3060,7 +3076,7 @@ YY_RULE_SETUP YY_BREAK case 82: YY_RULE_SETUP -#line 868 "dhcp6_lexer.ll" +#line 869 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3073,7 +3089,7 @@ YY_RULE_SETUP YY_BREAK case 83: YY_RULE_SETUP -#line 878 "dhcp6_lexer.ll" +#line 879 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3085,7 +3101,7 @@ YY_RULE_SETUP YY_BREAK case 84: YY_RULE_SETUP -#line 887 "dhcp6_lexer.ll" +#line 888 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3098,7 +3114,7 @@ YY_RULE_SETUP YY_BREAK case 85: YY_RULE_SETUP -#line 897 "dhcp6_lexer.ll" +#line 898 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3111,7 +3127,7 @@ YY_RULE_SETUP YY_BREAK case 86: YY_RULE_SETUP -#line 907 "dhcp6_lexer.ll" +#line 908 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3123,7 +3139,7 @@ YY_RULE_SETUP YY_BREAK case 87: YY_RULE_SETUP -#line 916 "dhcp6_lexer.ll" +#line 917 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3135,7 +3151,7 @@ YY_RULE_SETUP YY_BREAK case 88: YY_RULE_SETUP -#line 925 "dhcp6_lexer.ll" +#line 926 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3147,7 +3163,7 @@ YY_RULE_SETUP YY_BREAK case 89: YY_RULE_SETUP -#line 934 "dhcp6_lexer.ll" +#line 935 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATION_MODE: @@ -3159,7 +3175,7 @@ YY_RULE_SETUP YY_BREAK case 90: YY_RULE_SETUP -#line 943 "dhcp6_lexer.ll" +#line 944 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3172,7 +3188,7 @@ YY_RULE_SETUP YY_BREAK case 91: YY_RULE_SETUP -#line 953 "dhcp6_lexer.ll" +#line 954 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3184,7 +3200,7 @@ YY_RULE_SETUP YY_BREAK case 92: YY_RULE_SETUP -#line 962 "dhcp6_lexer.ll" +#line 963 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3196,7 +3212,7 @@ YY_RULE_SETUP YY_BREAK case 93: YY_RULE_SETUP -#line 971 "dhcp6_lexer.ll" +#line 972 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3208,7 +3224,7 @@ YY_RULE_SETUP YY_BREAK case 94: YY_RULE_SETUP -#line 980 "dhcp6_lexer.ll" +#line 981 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -3220,7 +3236,7 @@ YY_RULE_SETUP YY_BREAK case 95: YY_RULE_SETUP -#line 989 "dhcp6_lexer.ll" +#line 990 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGING: @@ -3232,7 +3248,7 @@ YY_RULE_SETUP YY_BREAK case 96: YY_RULE_SETUP -#line 998 "dhcp6_lexer.ll" +#line 999 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -3244,7 +3260,7 @@ YY_RULE_SETUP YY_BREAK case 97: YY_RULE_SETUP -#line 1007 "dhcp6_lexer.ll" +#line 1008 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3256,7 +3272,7 @@ YY_RULE_SETUP YY_BREAK case 98: YY_RULE_SETUP -#line 1016 "dhcp6_lexer.ll" +#line 1017 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3268,7 +3284,7 @@ YY_RULE_SETUP YY_BREAK case 99: YY_RULE_SETUP -#line 1025 "dhcp6_lexer.ll" +#line 1026 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3280,7 +3296,7 @@ YY_RULE_SETUP YY_BREAK case 100: YY_RULE_SETUP -#line 1034 "dhcp6_lexer.ll" +#line 1035 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OUTPUT_OPTIONS: @@ -3292,7 +3308,7 @@ YY_RULE_SETUP YY_BREAK case 101: YY_RULE_SETUP -#line 1044 "dhcp6_lexer.ll" +#line 1045 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -3304,7 +3320,7 @@ YY_RULE_SETUP YY_BREAK case 102: YY_RULE_SETUP -#line 1053 "dhcp6_lexer.ll" +#line 1054 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::LOGGERS: @@ -3316,7 +3332,7 @@ YY_RULE_SETUP YY_BREAK case 103: YY_RULE_SETUP -#line 1062 "dhcp6_lexer.ll" +#line 1063 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3329,7 +3345,22 @@ YY_RULE_SETUP YY_BREAK case 104: YY_RULE_SETUP -#line 1072 "dhcp6_lexer.ll" +#line 1073 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::SUBNET6: + case isc::dhcp::Parser6Context::POOLS: + case isc::dhcp::Parser6Context::PD_POOLS: + case isc::dhcp::Parser6Context::SHARED_NETWORK: + return isc::dhcp::Dhcp6Parser::make_EVAL_CLIENT_CLASSES(driver.loc_); + default: + return isc::dhcp::Dhcp4Parser::make_STRING("eval-client-classes", driver.loc_); + } +} + YY_BREAK +case 105: +YY_RULE_SETUP +#line 1085 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3343,9 +3374,9 @@ YY_RULE_SETUP } } YY_BREAK -case 105: +case 106: YY_RULE_SETUP -#line 1085 "dhcp6_lexer.ll" +#line 1098 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CLIENT_CLASSES: @@ -3356,9 +3387,21 @@ YY_RULE_SETUP } } YY_BREAK -case 106: +case 107: YY_RULE_SETUP -#line 1095 "dhcp6_lexer.ll" +#line 1108 "dhcp6_lexer.ll" +{ + switch(driver.ctx_) { + case isc::dhcp::Parser6Context::CLIENT_CLASSES: + return isc::dhcp::Dhcp6Parser::make_EVAL_ON_DEMAND(driver.loc_); + default: + return isc::dhcp::Dhcp6Parser::make_STRING("eval-on-demand", driver.loc_); + } +} + YY_BREAK +case 108: +YY_RULE_SETUP +#line 1117 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3368,9 +3411,9 @@ YY_RULE_SETUP } } YY_BREAK -case 107: +case 109: YY_RULE_SETUP -#line 1104 "dhcp6_lexer.ll" +#line 1126 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -3380,9 +3423,9 @@ YY_RULE_SETUP } } YY_BREAK -case 108: +case 110: YY_RULE_SETUP -#line 1113 "dhcp6_lexer.ll" +#line 1135 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -3392,9 +3435,9 @@ YY_RULE_SETUP } } YY_BREAK -case 109: +case 111: YY_RULE_SETUP -#line 1122 "dhcp6_lexer.ll" +#line 1144 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::MAC_SOURCES: @@ -3406,9 +3449,9 @@ YY_RULE_SETUP } } YY_BREAK -case 110: +case 112: YY_RULE_SETUP -#line 1133 "dhcp6_lexer.ll" +#line 1155 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -3419,9 +3462,9 @@ YY_RULE_SETUP } } YY_BREAK -case 111: +case 113: YY_RULE_SETUP -#line 1143 "dhcp6_lexer.ll" +#line 1165 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RESERVATIONS: @@ -3431,9 +3474,9 @@ YY_RULE_SETUP } } YY_BREAK -case 112: +case 114: YY_RULE_SETUP -#line 1152 "dhcp6_lexer.ll" +#line 1174 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS: @@ -3444,9 +3487,9 @@ YY_RULE_SETUP } } YY_BREAK -case 113: +case 115: YY_RULE_SETUP -#line 1162 "dhcp6_lexer.ll" +#line 1184 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3457,9 +3500,9 @@ YY_RULE_SETUP } } YY_BREAK -case 114: +case 116: YY_RULE_SETUP -#line 1172 "dhcp6_lexer.ll" +#line 1194 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DATA: @@ -3469,9 +3512,9 @@ YY_RULE_SETUP } } YY_BREAK -case 115: +case 117: YY_RULE_SETUP -#line 1181 "dhcp6_lexer.ll" +#line 1203 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3481,9 +3524,9 @@ YY_RULE_SETUP } } YY_BREAK -case 116: +case 118: YY_RULE_SETUP -#line 1190 "dhcp6_lexer.ll" +#line 1212 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3493,9 +3536,9 @@ YY_RULE_SETUP } } YY_BREAK -case 117: +case 119: YY_RULE_SETUP -#line 1199 "dhcp6_lexer.ll" +#line 1221 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::OPTION_DEF: @@ -3505,9 +3548,9 @@ YY_RULE_SETUP } } YY_BREAK -case 118: +case 120: YY_RULE_SETUP -#line 1208 "dhcp6_lexer.ll" +#line 1230 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SUBNET6: @@ -3518,9 +3561,9 @@ YY_RULE_SETUP } } YY_BREAK -case 119: +case 121: YY_RULE_SETUP -#line 1218 "dhcp6_lexer.ll" +#line 1240 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::RELAY: @@ -3530,9 +3573,9 @@ YY_RULE_SETUP } } YY_BREAK -case 120: +case 122: YY_RULE_SETUP -#line 1227 "dhcp6_lexer.ll" +#line 1249 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3542,9 +3585,9 @@ YY_RULE_SETUP } } YY_BREAK -case 121: +case 123: YY_RULE_SETUP -#line 1237 "dhcp6_lexer.ll" +#line 1259 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -3554,9 +3597,9 @@ YY_RULE_SETUP } } YY_BREAK -case 122: +case 124: YY_RULE_SETUP -#line 1246 "dhcp6_lexer.ll" +#line 1268 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::HOOKS_LIBRARIES: @@ -3566,9 +3609,9 @@ YY_RULE_SETUP } } YY_BREAK -case 123: +case 125: YY_RULE_SETUP -#line 1255 "dhcp6_lexer.ll" +#line 1277 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3578,9 +3621,9 @@ YY_RULE_SETUP } } YY_BREAK -case 124: +case 126: YY_RULE_SETUP -#line 1264 "dhcp6_lexer.ll" +#line 1286 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -3590,9 +3633,9 @@ YY_RULE_SETUP } } YY_BREAK -case 125: +case 127: YY_RULE_SETUP -#line 1273 "dhcp6_lexer.ll" +#line 1295 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -3602,9 +3645,9 @@ YY_RULE_SETUP } } YY_BREAK -case 126: +case 128: YY_RULE_SETUP -#line 1282 "dhcp6_lexer.ll" +#line 1304 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DUID_TYPE: @@ -3614,9 +3657,9 @@ YY_RULE_SETUP } } YY_BREAK -case 127: +case 129: YY_RULE_SETUP -#line 1291 "dhcp6_lexer.ll" +#line 1313 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -3626,9 +3669,9 @@ YY_RULE_SETUP } } YY_BREAK -case 128: +case 130: YY_RULE_SETUP -#line 1300 "dhcp6_lexer.ll" +#line 1322 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -3638,9 +3681,9 @@ YY_RULE_SETUP } } YY_BREAK -case 129: +case 131: YY_RULE_SETUP -#line 1309 "dhcp6_lexer.ll" +#line 1331 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -3650,9 +3693,9 @@ YY_RULE_SETUP } } YY_BREAK -case 130: +case 132: YY_RULE_SETUP -#line 1318 "dhcp6_lexer.ll" +#line 1340 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::SERVER_ID: @@ -3662,9 +3705,9 @@ YY_RULE_SETUP } } YY_BREAK -case 131: +case 133: YY_RULE_SETUP -#line 1327 "dhcp6_lexer.ll" +#line 1349 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3674,9 +3717,9 @@ YY_RULE_SETUP } } YY_BREAK -case 132: +case 134: YY_RULE_SETUP -#line 1336 "dhcp6_lexer.ll" +#line 1358 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3686,9 +3729,9 @@ YY_RULE_SETUP } } YY_BREAK -case 133: +case 135: YY_RULE_SETUP -#line 1345 "dhcp6_lexer.ll" +#line 1367 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3698,9 +3741,9 @@ YY_RULE_SETUP } } YY_BREAK -case 134: +case 136: YY_RULE_SETUP -#line 1354 "dhcp6_lexer.ll" +#line 1376 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3710,9 +3753,9 @@ YY_RULE_SETUP } } YY_BREAK -case 135: +case 137: YY_RULE_SETUP -#line 1363 "dhcp6_lexer.ll" +#line 1385 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3722,9 +3765,9 @@ YY_RULE_SETUP } } YY_BREAK -case 136: +case 138: YY_RULE_SETUP -#line 1372 "dhcp6_lexer.ll" +#line 1394 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3734,9 +3777,9 @@ YY_RULE_SETUP } } YY_BREAK -case 137: +case 139: YY_RULE_SETUP -#line 1381 "dhcp6_lexer.ll" +#line 1403 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING: @@ -3746,9 +3789,9 @@ YY_RULE_SETUP } } YY_BREAK -case 138: +case 140: YY_RULE_SETUP -#line 1390 "dhcp6_lexer.ll" +#line 1412 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3758,9 +3801,9 @@ YY_RULE_SETUP } } YY_BREAK -case 139: +case 141: YY_RULE_SETUP -#line 1399 "dhcp6_lexer.ll" +#line 1421 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3770,9 +3813,9 @@ YY_RULE_SETUP } } YY_BREAK -case 140: +case 142: YY_RULE_SETUP -#line 1408 "dhcp6_lexer.ll" +#line 1430 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -3782,9 +3825,9 @@ YY_RULE_SETUP } } YY_BREAK -case 141: +case 143: YY_RULE_SETUP -#line 1417 "dhcp6_lexer.ll" +#line 1439 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONTROL_SOCKET: @@ -3794,9 +3837,9 @@ YY_RULE_SETUP } } YY_BREAK -case 142: +case 144: YY_RULE_SETUP -#line 1426 "dhcp6_lexer.ll" +#line 1448 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::DHCP6: @@ -3806,9 +3849,9 @@ YY_RULE_SETUP } } YY_BREAK -case 143: +case 145: YY_RULE_SETUP -#line 1435 "dhcp6_lexer.ll" +#line 1457 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -3818,9 +3861,9 @@ YY_RULE_SETUP } } YY_BREAK -case 144: +case 146: YY_RULE_SETUP -#line 1444 "dhcp6_lexer.ll" +#line 1466 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -3830,9 +3873,9 @@ YY_RULE_SETUP } } YY_BREAK -case 145: +case 147: YY_RULE_SETUP -#line 1453 "dhcp6_lexer.ll" +#line 1475 "dhcp6_lexer.ll" { switch(driver.ctx_) { case isc::dhcp::Parser6Context::CONFIG: @@ -3842,9 +3885,9 @@ YY_RULE_SETUP } } YY_BREAK -case 146: +case 148: YY_RULE_SETUP -#line 1463 "dhcp6_lexer.ll" +#line 1485 "dhcp6_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. @@ -3943,65 +3986,65 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_STRING(decoded, driver.loc_); } YY_BREAK -case 147: -/* rule 147 can match eol */ +case 149: +/* rule 149 can match eol */ YY_RULE_SETUP -#line 1561 "dhcp6_lexer.ll" +#line 1583 "dhcp6_lexer.ll" { /* Bad string with a forbidden control character inside */ driver.error(driver.loc_, "Invalid control in " + std::string(yytext)); } YY_BREAK -case 148: -/* rule 148 can match eol */ +case 150: +/* rule 150 can match eol */ YY_RULE_SETUP -#line 1566 "dhcp6_lexer.ll" +#line 1588 "dhcp6_lexer.ll" { /* Bad string with a bad escape inside */ driver.error(driver.loc_, "Bad escape in " + std::string(yytext)); } YY_BREAK -case 149: +case 151: YY_RULE_SETUP -#line 1571 "dhcp6_lexer.ll" +#line 1593 "dhcp6_lexer.ll" { /* Bad string with an open escape at the end */ driver.error(driver.loc_, "Overflow escape in " + std::string(yytext)); } YY_BREAK -case 150: +case 152: YY_RULE_SETUP -#line 1576 "dhcp6_lexer.ll" +#line 1598 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 151: +case 153: YY_RULE_SETUP -#line 1577 "dhcp6_lexer.ll" +#line 1599 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); } YY_BREAK -case 152: +case 154: YY_RULE_SETUP -#line 1578 "dhcp6_lexer.ll" +#line 1600 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); } YY_BREAK -case 153: +case 155: YY_RULE_SETUP -#line 1579 "dhcp6_lexer.ll" +#line 1601 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); } YY_BREAK -case 154: +case 156: YY_RULE_SETUP -#line 1580 "dhcp6_lexer.ll" +#line 1602 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); } YY_BREAK -case 155: +case 157: YY_RULE_SETUP -#line 1581 "dhcp6_lexer.ll" +#line 1603 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); } YY_BREAK -case 156: +case 158: YY_RULE_SETUP -#line 1583 "dhcp6_lexer.ll" +#line 1605 "dhcp6_lexer.ll" { /* An integer was found. */ std::string tmp(yytext); @@ -4020,9 +4063,9 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_INTEGER(integer, driver.loc_); } YY_BREAK -case 157: +case 159: YY_RULE_SETUP -#line 1601 "dhcp6_lexer.ll" +#line 1623 "dhcp6_lexer.ll" { /* A floating point was found. */ std::string tmp(yytext); @@ -4036,43 +4079,43 @@ YY_RULE_SETUP return isc::dhcp::Dhcp6Parser::make_FLOAT(fp, driver.loc_); } YY_BREAK -case 158: +case 160: YY_RULE_SETUP -#line 1614 "dhcp6_lexer.ll" +#line 1636 "dhcp6_lexer.ll" { string tmp(yytext); return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_); } YY_BREAK -case 159: +case 161: YY_RULE_SETUP -#line 1619 "dhcp6_lexer.ll" +#line 1641 "dhcp6_lexer.ll" { return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_); } YY_BREAK -case 160: +case 162: YY_RULE_SETUP -#line 1623 "dhcp6_lexer.ll" +#line 1645 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON true reserved keyword is lower case only"); YY_BREAK -case 161: +case 163: YY_RULE_SETUP -#line 1625 "dhcp6_lexer.ll" +#line 1647 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON false reserved keyword is lower case only"); YY_BREAK -case 162: +case 164: YY_RULE_SETUP -#line 1627 "dhcp6_lexer.ll" +#line 1649 "dhcp6_lexer.ll" driver.error (driver.loc_, "JSON null reserved keyword is lower case only"); YY_BREAK -case 163: +case 165: YY_RULE_SETUP -#line 1629 "dhcp6_lexer.ll" +#line 1651 "dhcp6_lexer.ll" driver.error (driver.loc_, "Invalid character: " + std::string(yytext)); YY_BREAK case YY_STATE_EOF(INITIAL): -#line 1631 "dhcp6_lexer.ll" +#line 1653 "dhcp6_lexer.ll" { if (driver.states_.empty()) { return isc::dhcp::Dhcp6Parser::make_END(driver.loc_); @@ -4096,12 +4139,12 @@ case YY_STATE_EOF(INITIAL): BEGIN(DIR_EXIT); } YY_BREAK -case 164: +case 166: YY_RULE_SETUP -#line 1654 "dhcp6_lexer.ll" +#line 1676 "dhcp6_lexer.ll" ECHO; YY_BREAK -#line 4103 "dhcp6_lexer.cc" +#line 4147 "dhcp6_lexer.cc" case YY_END_OF_BUFFER: { @@ -4420,7 +4463,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 >= 1288 ) + if ( yy_current_state >= 1317 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -4453,11 +4496,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 >= 1288 ) + if ( yy_current_state >= 1317 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1287); + yy_is_jam = (yy_current_state == 1316); return yy_is_jam ? 0 : yy_current_state; } @@ -5206,7 +5249,7 @@ void yyfree (void * ptr ) /* %ok-for-header */ -#line 1654 "dhcp6_lexer.ll" +#line 1676 "dhcp6_lexer.ll" using namespace isc::dhcp; diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 0747d12c48..5196a4b01c 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -949,7 +949,7 @@ client_class: CLIENT_CLASS { ctx.leave(); }; -+eval_client_classes: EVAL_CLIENT_CLASSES { +eval_client_classes: EVAL_CLIENT_CLASSES { ElementPtr c(new ListElement(ctx.loc2pos(@1))); ctx.stack_.back()->set("eval-client-classes", c); ctx.stack_.push_back(c); diff --git a/src/bin/dhcp6/location.hh b/src/bin/dhcp6/location.hh index a4c2b72f9b..a46ed39111 100644 --- a/src/bin/dhcp6/location.hh +++ b/src/bin/dhcp6/location.hh @@ -1,3 +1,6 @@ +// Generated 201711270201 +// Generated 201711270201 +// Generated 201711270201 // Generated 201711191033 // A Bison parser, made by GNU Bison 3.0.4. diff --git a/src/bin/dhcp6/position.hh b/src/bin/dhcp6/position.hh index 474b341ca5..6d58434f36 100644 --- a/src/bin/dhcp6/position.hh +++ b/src/bin/dhcp6/position.hh @@ -1,3 +1,6 @@ +// Generated 201711270201 +// Generated 201711270201 +// Generated 201711270201 // Generated 201711191033 // A Bison parser, made by GNU Bison 3.0.4. diff --git a/src/bin/dhcp6/stack.hh b/src/bin/dhcp6/stack.hh index c57d21f6b2..7183f849aa 100644 --- a/src/bin/dhcp6/stack.hh +++ b/src/bin/dhcp6/stack.hh @@ -1,3 +1,6 @@ +// Generated 201711270201 +// Generated 201711270201 +// Generated 201711270201 // Generated 201711191033 // A Bison parser, made by GNU Bison 3.0.4. diff --git a/src/lib/eval/location.hh b/src/lib/eval/location.hh index afce8e45e7..6c10901951 100644 --- a/src/lib/eval/location.hh +++ b/src/lib/eval/location.hh @@ -1,4 +1,4 @@ -// Generated 201711240833 +// Generated 201711270203 // A Bison parser, made by GNU Bison 3.0.4. // Locations for Bison parsers in C++ diff --git a/src/lib/eval/position.hh b/src/lib/eval/position.hh index 8292fb4f0e..01a150e6ab 100644 --- a/src/lib/eval/position.hh +++ b/src/lib/eval/position.hh @@ -1,4 +1,4 @@ -// Generated 201711240833 +// Generated 201711270203 // A Bison parser, made by GNU Bison 3.0.4. // Positions for Bison parsers in C++ diff --git a/src/lib/eval/stack.hh b/src/lib/eval/stack.hh index cc15969074..0304add897 100644 --- a/src/lib/eval/stack.hh +++ b/src/lib/eval/stack.hh @@ -1,4 +1,4 @@ -// Generated 201711240833 +// Generated 201711270203 // A Bison parser, made by GNU Bison 3.0.4. // Stack handling for Bison parsers in C++