133, 135, 137, 142, 143, 148, 149, 150, 162, 165,
170, 177, 186, 195, 204, 213, 222, 231, 240, 249,
258, 267, 276, 285, 294, 303, 312, 321, 330, 339,
- 348, 357, 366, 375, 384, 393, 402, 411, 509, 514,
- 519, 524, 525, 526, 527, 528, 529, 531, 549, 562,
- 567, 571, 573, 575, 577
+ 348, 357, 366, 375, 384, 393, 402, 411, 510, 515,
+ 520, 525, 526, 527, 528, 529, 530, 532, 550, 563,
+ 568, 572, 574, 576, 578
} ;
/* The intent behind this definition is that it'll catch
case '"':
/* impossible condition */
driver.error(driver.loc_, "Bad quote in \"" + raw + "\"");
+ break;
case '\\':
++pos;
if (pos >= len) {
case 39:
/* rule 39 can match eol */
YY_RULE_SETUP
-#line 509 "agent_lexer.ll"
+#line 510 "agent_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
case 40:
/* rule 40 can match eol */
YY_RULE_SETUP
-#line 514 "agent_lexer.ll"
+#line 515 "agent_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 519 "agent_lexer.ll"
+#line 520 "agent_lexer.ll"
{
/* Bad string with an open escape at the end */
driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 524 "agent_lexer.ll"
+#line 525 "agent_lexer.ll"
{ return AgentParser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 525 "agent_lexer.ll"
+#line 526 "agent_lexer.ll"
{ return AgentParser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 526 "agent_lexer.ll"
+#line 527 "agent_lexer.ll"
{ return AgentParser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 527 "agent_lexer.ll"
+#line 528 "agent_lexer.ll"
{ return AgentParser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 528 "agent_lexer.ll"
+#line 529 "agent_lexer.ll"
{ return AgentParser::make_COMMA(driver.loc_); }
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 529 "agent_lexer.ll"
+#line 530 "agent_lexer.ll"
{ return AgentParser::make_COLON(driver.loc_); }
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 531 "agent_lexer.ll"
+#line 532 "agent_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 549 "agent_lexer.ll"
+#line 550 "agent_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 562 "agent_lexer.ll"
+#line 563 "agent_lexer.ll"
{
string tmp(yytext);
return AgentParser::make_BOOLEAN(tmp == "true", driver.loc_);
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 567 "agent_lexer.ll"
+#line 568 "agent_lexer.ll"
{
return AgentParser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 571 "agent_lexer.ll"
+#line 572 "agent_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 573 "agent_lexer.ll"
+#line 574 "agent_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 575 "agent_lexer.ll"
+#line 576 "agent_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 577 "agent_lexer.ll"
+#line 578 "agent_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 579 "agent_lexer.ll"
+#line 580 "agent_lexer.ll"
{
if (driver.states_.empty()) {
return AgentParser::make_END(driver.loc_);
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 602 "agent_lexer.ll"
+#line 603 "agent_lexer.ll"
ECHO;
YY_BREAK
-#line 2458 "agent_lexer.cc"
+#line 2459 "agent_lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 602 "agent_lexer.ll"
+#line 603 "agent_lexer.ll"
using namespace isc::dhcp;
170, 176, 185, 196, 207, 216, 225, 234, 244, 254,
264, 273, 282, 292, 302, 312, 323, 332, 342, 352,
363, 372, 381, 390, 399, 408, 417, 426, 439, 448,
- 457, 466, 475, 485, 583, 588, 593, 598, 599, 600,
- 601, 602, 603, 605, 623, 636, 641, 645, 647, 649,
- 651
+ 457, 466, 475, 485, 584, 589, 594, 599, 600, 601,
+ 602, 603, 604, 606, 624, 637, 642, 646, 648, 650,
+ 652
} ;
/* The intent behind this definition is that it'll catch
case '"':
/* impossible condition */
driver.error(driver.loc_, "Bad quote in \"" + raw + "\"");
+ break;
case '\\':
++pos;
if (pos >= len) {
case 45:
/* rule 45 can match eol */
YY_RULE_SETUP
-#line 583 "d2_lexer.ll"
+#line 584 "d2_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
case 46:
/* rule 46 can match eol */
YY_RULE_SETUP
-#line 588 "d2_lexer.ll"
+#line 589 "d2_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 593 "d2_lexer.ll"
+#line 594 "d2_lexer.ll"
{
/* Bad string with an open escape at the end */
driver.error(driver.loc_, "Overflow escape in " + std::string(yytext));
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 598 "d2_lexer.ll"
+#line 599 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 599 "d2_lexer.ll"
+#line 600 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 600 "d2_lexer.ll"
+#line 601 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 601 "d2_lexer.ll"
+#line 602 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 602 "d2_lexer.ll"
+#line 603 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COMMA(driver.loc_); }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 603 "d2_lexer.ll"
+#line 604 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COLON(driver.loc_); }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 605 "d2_lexer.ll"
+#line 606 "d2_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 623 "d2_lexer.ll"
+#line 624 "d2_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 636 "d2_lexer.ll"
+#line 637 "d2_lexer.ll"
{
string tmp(yytext);
return isc::d2::D2Parser::make_BOOLEAN(tmp == "true", driver.loc_);
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 641 "d2_lexer.ll"
+#line 642 "d2_lexer.ll"
{
return isc::d2::D2Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 645 "d2_lexer.ll"
+#line 646 "d2_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 647 "d2_lexer.ll"
+#line 648 "d2_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 649 "d2_lexer.ll"
+#line 650 "d2_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 651 "d2_lexer.ll"
+#line 652 "d2_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 653 "d2_lexer.ll"
+#line 654 "d2_lexer.ll"
{
if (driver.states_.empty()) {
return isc::d2::D2Parser::make_END(driver.loc_);
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 676 "d2_lexer.ll"
+#line 677 "d2_lexer.ll"
ECHO;
YY_BREAK
-#line 2289 "d2_lexer.cc"
+#line 2290 "d2_lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 676 "d2_lexer.ll"
+#line 677 "d2_lexer.ll"
using namespace isc::dhcp;
1128, 1137, 1146, 1155, 1164, 1173, 1182, 1191, 1200, 1209,
1219, 1229, 1239, 1249, 1259, 1269, 1279, 1289, 1299, 1308,
1317, 1326, 1335, 1344, 1353, 1364, 1375, 1388, 1399, 1412,
- 1510, 1515, 1520, 1525, 1526, 1527, 1528, 1529, 1530, 1532,
- 1550, 1563, 1568, 1572, 1574, 1576, 1578
+ 1511, 1516, 1521, 1526, 1527, 1528, 1529, 1530, 1531, 1533,
+ 1551, 1564, 1569, 1573, 1575, 1577, 1579
} ;
/* The intent behind this definition is that it'll catch
case '"':
/* impossible condition */
driver.error(driver.loc_, "Bad quote in \"" + raw + "\"");
+ break;
case '\\':
++pos;
if (pos >= len) {
case 141:
/* rule 141 can match eol */
YY_RULE_SETUP
-#line 1510 "dhcp4_lexer.ll"
+#line 1511 "dhcp4_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
case 142:
/* rule 142 can match eol */
YY_RULE_SETUP
-#line 1515 "dhcp4_lexer.ll"
+#line 1516 "dhcp4_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 1520 "dhcp4_lexer.ll"
+#line 1521 "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 144:
YY_RULE_SETUP
-#line 1525 "dhcp4_lexer.ll"
+#line 1526 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 1526 "dhcp4_lexer.ll"
+#line 1527 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 1527 "dhcp4_lexer.ll"
+#line 1528 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 1528 "dhcp4_lexer.ll"
+#line 1529 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 1529 "dhcp4_lexer.ll"
+#line 1530 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 1530 "dhcp4_lexer.ll"
+#line 1531 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 1532 "dhcp4_lexer.ll"
+#line 1533 "dhcp4_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 1550 "dhcp4_lexer.ll"
+#line 1551 "dhcp4_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 1563 "dhcp4_lexer.ll"
+#line 1564 "dhcp4_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 1568 "dhcp4_lexer.ll"
+#line 1569 "dhcp4_lexer.ll"
{
return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 1572 "dhcp4_lexer.ll"
+#line 1573 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 1574 "dhcp4_lexer.ll"
+#line 1575 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 1576 "dhcp4_lexer.ll"
+#line 1577 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 1578 "dhcp4_lexer.ll"
+#line 1579 "dhcp4_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 1580 "dhcp4_lexer.ll"
+#line 1581 "dhcp4_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 1603 "dhcp4_lexer.ll"
+#line 1604 "dhcp4_lexer.ll"
ECHO;
YY_BREAK
-#line 4031 "dhcp4_lexer.cc"
+#line 4032 "dhcp4_lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 1603 "dhcp4_lexer.ll"
+#line 1604 "dhcp4_lexer.ll"
using namespace isc::dhcp;
-// Generated 201709252348
+// Generated 201710222252
// A Bison parser, made by GNU Bison 3.0.4.
// Locations for Bison parsers in C++
-// Generated 201709252348
+// Generated 201710222252
// A Bison parser, made by GNU Bison 3.0.4.
// Positions for Bison parsers in C++
-// Generated 201709252348
+// Generated 201710222252
// A Bison parser, made by GNU Bison 3.0.4.
// Stack handling for Bison parsers in C++
1142, 1151, 1160, 1169, 1178, 1188, 1197, 1207, 1216, 1225,
1234, 1243, 1252, 1261, 1270, 1279, 1288, 1297, 1306, 1315,
1324, 1333, 1342, 1351, 1360, 1369, 1378, 1387, 1396, 1405,
- 1414, 1423, 1433, 1531, 1536, 1541, 1546, 1547, 1548, 1549,
- 1550, 1551, 1553, 1571, 1584, 1589, 1593, 1595, 1597, 1599
+ 1414, 1423, 1433, 1532, 1537, 1542, 1547, 1548, 1549, 1550,
+ 1551, 1552, 1554, 1572, 1585, 1590, 1594, 1596, 1598, 1600
} ;
/* The intent behind this definition is that it'll catch
case '"':
/* impossible condition */
driver.error(driver.loc_, "Bad quote in \"" + raw + "\"");
+ break;
case '\\':
++pos;
if (pos >= len) {
case 144:
/* rule 144 can match eol */
YY_RULE_SETUP
-#line 1531 "dhcp6_lexer.ll"
+#line 1532 "dhcp6_lexer.ll"
{
/* Bad string with a forbidden control character inside */
driver.error(driver.loc_, "Invalid control in " + std::string(yytext));
case 145:
/* rule 145 can match eol */
YY_RULE_SETUP
-#line 1536 "dhcp6_lexer.ll"
+#line 1537 "dhcp6_lexer.ll"
{
/* Bad string with a bad escape inside */
driver.error(driver.loc_, "Bad escape in " + std::string(yytext));
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 1541 "dhcp6_lexer.ll"
+#line 1542 "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 147:
YY_RULE_SETUP
-#line 1546 "dhcp6_lexer.ll"
+#line 1547 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 1547 "dhcp6_lexer.ll"
+#line 1548 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 1548 "dhcp6_lexer.ll"
+#line 1549 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 1549 "dhcp6_lexer.ll"
+#line 1550 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 1550 "dhcp6_lexer.ll"
+#line 1551 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 1551 "dhcp6_lexer.ll"
+#line 1552 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 1553 "dhcp6_lexer.ll"
+#line 1554 "dhcp6_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 1571 "dhcp6_lexer.ll"
+#line 1572 "dhcp6_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 1584 "dhcp6_lexer.ll"
+#line 1585 "dhcp6_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 1589 "dhcp6_lexer.ll"
+#line 1590 "dhcp6_lexer.ll"
{
return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 1593 "dhcp6_lexer.ll"
+#line 1594 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 1595 "dhcp6_lexer.ll"
+#line 1596 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 1597 "dhcp6_lexer.ll"
+#line 1598 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 1599 "dhcp6_lexer.ll"
+#line 1600 "dhcp6_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 1601 "dhcp6_lexer.ll"
+#line 1602 "dhcp6_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 1624 "dhcp6_lexer.ll"
+#line 1625 "dhcp6_lexer.ll"
ECHO;
YY_BREAK
-#line 4049 "dhcp6_lexer.cc"
+#line 4050 "dhcp6_lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 1624 "dhcp6_lexer.ll"
+#line 1625 "dhcp6_lexer.ll"
using namespace isc::dhcp;