static const flex_int16_t yy_rule_linenum[70] =
{ 0,
- 134, 136, 138, 143, 144, 149, 150, 151, 163, 166,
- 171, 178, 187, 196, 205, 218, 231, 240, 249, 258,
- 267, 276, 285, 294, 303, 312, 321, 330, 339, 348,
- 357, 366, 375, 384, 393, 402, 411, 420, 429, 438,
- 447, 456, 465, 474, 483, 492, 501, 510, 519, 528,
- 537, 638, 654, 703, 711, 726, 727, 728, 729, 730,
- 731, 733, 751, 764, 769, 773, 775, 777, 779
+ 135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
+ 172, 179, 188, 197, 206, 219, 232, 241, 250, 259,
+ 268, 277, 286, 295, 304, 313, 322, 331, 340, 349,
+ 358, 367, 376, 385, 394, 403, 412, 421, 430, 439,
+ 448, 457, 466, 475, 484, 493, 502, 511, 520, 529,
+ 538, 639, 655, 704, 712, 727, 728, 729, 730, 731,
+ 732, 734, 752, 765, 770, 774, 776, 778, 780
} ;
/* The intent behind this definition is that it'll catch
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "agent_lexer.ll"
-/* Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
+/* Copyright (C) 2017-2023 Internet Systems Consortium, Inc. ("ISC")
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
#include <cctype>
#include <cerrno>
#include <climits>
+#include <cstdint>
#include <cstdlib>
#include <string>
#include <agent/parser_context.h>
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::agent::ParserContext::fatal(msg)
-#line 1585 "agent_lexer.cc"
+#line 1586 "agent_lexer.cc"
/* noyywrap disables automatic rewinding for the next file to parse. Since we
always parse only a single string, there's no need to do any wraps. And
using yywrap requires linking with -lfl, which provides the default yywrap
can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */
-#line 97 "agent_lexer.ll"
+#line 98 "agent_lexer.ll"
/* This code run each time a pattern is matched. It updates the location
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 1611 "agent_lexer.cc"
#line 1612 "agent_lexer.cc"
+#line 1613 "agent_lexer.cc"
#define INITIAL 0
#define COMMENT 1
{
/* %% [7.0] user's declarations go here */
-#line 103 "agent_lexer.ll"
+#line 104 "agent_lexer.ll"
-#line 107 "agent_lexer.ll"
+#line 108 "agent_lexer.ll"
/* This part of the code is copied over to the verbatim to the top
of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
}
-#line 1926 "agent_lexer.cc"
+#line 1927 "agent_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
case 1:
YY_RULE_SETUP
-#line 134 "agent_lexer.ll"
+#line 135 "agent_lexer.ll"
;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 136 "agent_lexer.ll"
+#line 137 "agent_lexer.ll"
;
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 138 "agent_lexer.ll"
+#line 139 "agent_lexer.ll"
{
BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 143 "agent_lexer.ll"
+#line 144 "agent_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 144 "agent_lexer.ll"
+#line 145 "agent_lexer.ll"
;
YY_BREAK
case YY_STATE_EOF(COMMENT):
-#line 145 "agent_lexer.ll"
+#line 146 "agent_lexer.ll"
{
isc_throw(ParseError, "Comment not closed. (/* in line " << comment_start_line);
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 149 "agent_lexer.ll"
+#line 150 "agent_lexer.ll"
BEGIN(DIR_ENTER);
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 150 "agent_lexer.ll"
+#line 151 "agent_lexer.ll"
BEGIN(DIR_INCLUDE);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 151 "agent_lexer.ll"
+#line 152 "agent_lexer.ll"
{
/* Include directive. */
case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT):
-#line 160 "agent_lexer.ll"
+#line 161 "agent_lexer.ll"
{
isc_throw(ParseError, "Directive not closed.");
}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 163 "agent_lexer.ll"
+#line 164 "agent_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 166 "agent_lexer.ll"
+#line 167 "agent_lexer.ll"
{
/* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step();
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 171 "agent_lexer.ll"
+#line 172 "agent_lexer.ll"
{
/* Newline found. Let's update the location and continue. */
driver.loc_.lines(yyleng);
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 178 "agent_lexer.ll"
+#line 179 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CONFIG:
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 187 "agent_lexer.ll"
+#line 188 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 196 "agent_lexer.ll"
+#line 197 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 205 "agent_lexer.ll"
+#line 206 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 218 "agent_lexer.ll"
+#line 219 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 231 "agent_lexer.ll"
+#line 232 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 240 "agent_lexer.ll"
+#line 241 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AUTHENTICATION:
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 249 "agent_lexer.ll"
+#line 250 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AUTH_TYPE:
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 258 "agent_lexer.ll"
+#line 259 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AUTHENTICATION:
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 267 "agent_lexer.ll"
+#line 268 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AUTHENTICATION:
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 276 "agent_lexer.ll"
+#line 277 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AUTHENTICATION:
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 285 "agent_lexer.ll"
+#line 286 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CLIENTS:
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 294 "agent_lexer.ll"
+#line 295 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CLIENTS:
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 303 "agent_lexer.ll"
+#line 304 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CLIENTS:
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 312 "agent_lexer.ll"
+#line 313 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CLIENTS:
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 321 "agent_lexer.ll"
+#line 322 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 330 "agent_lexer.ll"
+#line 331 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 339 "agent_lexer.ll"
+#line 340 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 348 "agent_lexer.ll"
+#line 349 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 357 "agent_lexer.ll"
+#line 358 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 366 "agent_lexer.ll"
+#line 367 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKETS:
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 375 "agent_lexer.ll"
+#line 376 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKETS:
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 384 "agent_lexer.ll"
+#line 385 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKETS:
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 393 "agent_lexer.ll"
+#line 394 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::SERVER:
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 402 "agent_lexer.ll"
+#line 403 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::SERVER:
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 411 "agent_lexer.ll"
+#line 412 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::SOCKET_TYPE:
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 420 "agent_lexer.ll"
+#line 421 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 429 "agent_lexer.ll"
+#line 430 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::HOOKS_LIBRARIES:
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 438 "agent_lexer.ll"
+#line 439 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::HOOKS_LIBRARIES:
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 447 "agent_lexer.ll"
+#line 448 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::AGENT:
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 456 "agent_lexer.ll"
+#line 457 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::LOGGERS:
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 465 "agent_lexer.ll"
+#line 466 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::LOGGERS:
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 474 "agent_lexer.ll"
+#line 475 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 483 "agent_lexer.ll"
+#line 484 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 492 "agent_lexer.ll"
+#line 493 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 501 "agent_lexer.ll"
+#line 502 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 510 "agent_lexer.ll"
+#line 511 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 519 "agent_lexer.ll"
+#line 520 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::LOGGERS:
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 528 "agent_lexer.ll"
+#line 529 "agent_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::LOGGERS:
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 537 "agent_lexer.ll"
+#line 538 "agent_lexer.ll"
{
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.
case 52:
/* rule 52 can match eol */
YY_RULE_SETUP
-#line 638 "agent_lexer.ll"
+#line 639 "agent_lexer.ll"
{
/* Bad string with a forbidden control character inside */
std::string raw(yytext+1);
case 53:
/* rule 53 can match eol */
YY_RULE_SETUP
-#line 654 "agent_lexer.ll"
+#line 655 "agent_lexer.ll"
{
/* Bad string with a bad escape inside */
std::string raw(yytext+1);
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 703 "agent_lexer.ll"
+#line 704 "agent_lexer.ll"
{
/* Bad string with an open escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 711 "agent_lexer.ll"
+#line 712 "agent_lexer.ll"
{
/* Bad string with an open unicode escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 726 "agent_lexer.ll"
+#line 727 "agent_lexer.ll"
{ return AgentParser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 727 "agent_lexer.ll"
+#line 728 "agent_lexer.ll"
{ return AgentParser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 728 "agent_lexer.ll"
+#line 729 "agent_lexer.ll"
{ return AgentParser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 729 "agent_lexer.ll"
+#line 730 "agent_lexer.ll"
{ return AgentParser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 730 "agent_lexer.ll"
+#line 731 "agent_lexer.ll"
{ return AgentParser::make_COMMA(driver.loc_); }
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 731 "agent_lexer.ll"
+#line 732 "agent_lexer.ll"
{ return AgentParser::make_COLON(driver.loc_); }
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 733 "agent_lexer.ll"
+#line 734 "agent_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 751 "agent_lexer.ll"
+#line 752 "agent_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 764 "agent_lexer.ll"
+#line 765 "agent_lexer.ll"
{
string tmp(yytext);
return AgentParser::make_BOOLEAN(tmp == "true", driver.loc_);
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 769 "agent_lexer.ll"
+#line 770 "agent_lexer.ll"
{
return AgentParser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 773 "agent_lexer.ll"
+#line 774 "agent_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 775 "agent_lexer.ll"
+#line 776 "agent_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 777 "agent_lexer.ll"
+#line 778 "agent_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 779 "agent_lexer.ll"
+#line 780 "agent_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 781 "agent_lexer.ll"
+#line 782 "agent_lexer.ll"
{
if (driver.states_.empty()) {
return AgentParser::make_END(driver.loc_);
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 804 "agent_lexer.ll"
+#line 805 "agent_lexer.ll"
ECHO;
YY_BREAK
-#line 2904 "agent_lexer.cc"
+#line 2905 "agent_lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 804 "agent_lexer.ll"
+#line 805 "agent_lexer.ll"
using namespace isc::dhcp;
+// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++
static const flex_int16_t yy_rule_linenum[68] =
{ 0,
- 136, 138, 140, 145, 146, 151, 152, 153, 165, 168,
- 173, 179, 188, 199, 210, 219, 228, 237, 247, 257,
- 267, 284, 301, 310, 319, 329, 341, 351, 362, 371,
- 381, 391, 401, 410, 419, 428, 437, 446, 455, 464,
- 473, 482, 491, 500, 509, 518, 531, 540, 549, 650,
- 666, 715, 723, 738, 739, 740, 741, 742, 743, 745,
- 763, 776, 781, 785, 787, 789, 791
+ 137, 139, 141, 146, 147, 152, 153, 154, 166, 169,
+ 174, 180, 189, 200, 211, 220, 229, 238, 248, 258,
+ 268, 285, 302, 311, 320, 330, 342, 352, 363, 372,
+ 382, 392, 402, 411, 420, 429, 438, 447, 456, 465,
+ 474, 483, 492, 501, 510, 519, 532, 541, 550, 651,
+ 667, 716, 724, 739, 740, 741, 742, 743, 744, 746,
+ 764, 777, 782, 786, 788, 790, 792
} ;
/* The intent behind this definition is that it'll catch
#include <cctype>
#include <cerrno>
#include <climits>
+#include <cstdint>
#include <cstdlib>
#include <string>
#include <d2/parser_context.h>
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg)
-#line 1139 "d2_lexer.cc"
+#line 1140 "d2_lexer.cc"
/* noyywrap disables automatic rewinding for the next file to parse. Since we
always parse only a single string, there's no need to do any wraps. And
using yywrap requires linking with -lfl, which provides the default yywrap
can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */
-#line 93 "d2_lexer.ll"
+#line 94 "d2_lexer.ll"
/* This code run each time a pattern is matched. It updates the location
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 1165 "d2_lexer.cc"
#line 1166 "d2_lexer.cc"
+#line 1167 "d2_lexer.cc"
#define INITIAL 0
#define COMMENT 1
{
/* %% [7.0] user's declarations go here */
-#line 99 "d2_lexer.ll"
+#line 100 "d2_lexer.ll"
-#line 103 "d2_lexer.ll"
+#line 104 "d2_lexer.ll"
/* This part of the code is copied over to the verbatim to the top
of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
}
-#line 1486 "d2_lexer.cc"
+#line 1487 "d2_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
case 1:
YY_RULE_SETUP
-#line 136 "d2_lexer.ll"
+#line 137 "d2_lexer.ll"
;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 138 "d2_lexer.ll"
+#line 139 "d2_lexer.ll"
;
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 140 "d2_lexer.ll"
+#line 141 "d2_lexer.ll"
{
BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 145 "d2_lexer.ll"
+#line 146 "d2_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 146 "d2_lexer.ll"
+#line 147 "d2_lexer.ll"
;
YY_BREAK
case YY_STATE_EOF(COMMENT):
-#line 147 "d2_lexer.ll"
+#line 148 "d2_lexer.ll"
{
isc_throw(D2ParseError, "Comment not closed. (/* in line " << comment_start_line);
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 151 "d2_lexer.ll"
+#line 152 "d2_lexer.ll"
BEGIN(DIR_ENTER);
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 152 "d2_lexer.ll"
+#line 153 "d2_lexer.ll"
BEGIN(DIR_INCLUDE);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 153 "d2_lexer.ll"
+#line 154 "d2_lexer.ll"
{
/* Include directive. */
case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT):
-#line 162 "d2_lexer.ll"
+#line 163 "d2_lexer.ll"
{
isc_throw(D2ParseError, "Directive not closed.");
}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 165 "d2_lexer.ll"
+#line 166 "d2_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 168 "d2_lexer.ll"
+#line 169 "d2_lexer.ll"
{
/* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step();
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 173 "d2_lexer.ll"
+#line 174 "d2_lexer.ll"
{
/* Newline found. Let's update the location and continue. */
driver.loc_.lines(yyleng);
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 179 "d2_lexer.ll"
+#line 180 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONFIG:
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 188 "d2_lexer.ll"
+#line 189 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 199 "d2_lexer.ll"
+#line 200 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 210 "d2_lexer.ll"
+#line 211 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 219 "d2_lexer.ll"
+#line 220 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 228 "d2_lexer.ll"
+#line 229 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 237 "d2_lexer.ll"
+#line 238 "d2_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) {
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 247 "d2_lexer.ll"
+#line 248 "d2_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_PROTOCOL) {
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 257 "d2_lexer.ll"
+#line 258 "d2_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::d2::D2ParserContext::NCR_FORMAT) {
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 267 "d2_lexer.ll"
+#line 268 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 284 "d2_lexer.ll"
+#line 285 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 301 "d2_lexer.ll"
+#line 302 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 310 "d2_lexer.ll"
+#line 311 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 319 "d2_lexer.ll"
+#line 320 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::FORWARD_DDNS:
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 329 "d2_lexer.ll"
+#line 330 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DDNS_DOMAIN:
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 341 "d2_lexer.ll"
+#line 342 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DDNS_DOMAIN:
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 351 "d2_lexer.ll"
+#line 352 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DNS_SERVER:
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 362 "d2_lexer.ll"
+#line 363 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 371 "d2_lexer.ll"
+#line 372 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::TSIG_KEY:
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 381 "d2_lexer.ll"
+#line 382 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::TSIG_KEY:
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 391 "d2_lexer.ll"
+#line 392 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::TSIG_KEY:
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 401 "d2_lexer.ll"
+#line 402 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 410 "d2_lexer.ll"
+#line 411 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONTROL_SOCKET:
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 419 "d2_lexer.ll"
+#line 420 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::CONTROL_SOCKET:
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 428 "d2_lexer.ll"
+#line 429 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 437 "d2_lexer.ll"
+#line 438 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::HOOKS_LIBRARIES:
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 446 "d2_lexer.ll"
+#line 447 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::HOOKS_LIBRARIES:
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 455 "d2_lexer.ll"
+#line 456 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::DHCPDDNS:
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 464 "d2_lexer.ll"
+#line 465 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 473 "d2_lexer.ll"
+#line 474 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 482 "d2_lexer.ll"
+#line 483 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 491 "d2_lexer.ll"
+#line 492 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 500 "d2_lexer.ll"
+#line 501 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 509 "d2_lexer.ll"
+#line 510 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 518 "d2_lexer.ll"
+#line 519 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 531 "d2_lexer.ll"
+#line 532 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 540 "d2_lexer.ll"
+#line 541 "d2_lexer.ll"
{
switch(driver.ctx_) {
case isc::d2::D2ParserContext::LOGGERS:
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 549 "d2_lexer.ll"
+#line 550 "d2_lexer.ll"
{
/* A string has been matched. It contains the actual string and single quotes.
We need to get those quotes out of the way and just use its content, e.g.
case 50:
/* rule 50 can match eol */
YY_RULE_SETUP
-#line 650 "d2_lexer.ll"
+#line 651 "d2_lexer.ll"
{
/* Bad string with a forbidden control character inside */
std::string raw(yytext+1);
case 51:
/* rule 51 can match eol */
YY_RULE_SETUP
-#line 666 "d2_lexer.ll"
+#line 667 "d2_lexer.ll"
{
/* Bad string with a bad escape inside */
std::string raw(yytext+1);
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 715 "d2_lexer.ll"
+#line 716 "d2_lexer.ll"
{
/* Bad string with an open escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 723 "d2_lexer.ll"
+#line 724 "d2_lexer.ll"
{
/* Bad string with an open unicode escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 738 "d2_lexer.ll"
+#line 739 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 739 "d2_lexer.ll"
+#line 740 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 740 "d2_lexer.ll"
+#line 741 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 741 "d2_lexer.ll"
+#line 742 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 742 "d2_lexer.ll"
+#line 743 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COMMA(driver.loc_); }
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 743 "d2_lexer.ll"
+#line 744 "d2_lexer.ll"
{ return isc::d2::D2Parser::make_COLON(driver.loc_); }
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 745 "d2_lexer.ll"
+#line 746 "d2_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 763 "d2_lexer.ll"
+#line 764 "d2_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 776 "d2_lexer.ll"
+#line 777 "d2_lexer.ll"
{
string tmp(yytext);
return isc::d2::D2Parser::make_BOOLEAN(tmp == "true", driver.loc_);
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 781 "d2_lexer.ll"
+#line 782 "d2_lexer.ll"
{
return isc::d2::D2Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 785 "d2_lexer.ll"
+#line 786 "d2_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 787 "d2_lexer.ll"
+#line 788 "d2_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 789 "d2_lexer.ll"
+#line 790 "d2_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 791 "d2_lexer.ll"
+#line 792 "d2_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 793 "d2_lexer.ll"
+#line 794 "d2_lexer.ll"
{
if (driver.states_.empty()) {
return isc::d2::D2Parser::make_END(driver.loc_);
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 816 "d2_lexer.ll"
+#line 817 "d2_lexer.ll"
ECHO;
YY_BREAK
-#line 2468 "d2_lexer.cc"
+#line 2469 "d2_lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 816 "d2_lexer.ll"
+#line 817 "d2_lexer.ll"
using namespace isc::dhcp;
+// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++
static const flex_int16_t yy_rule_linenum[232] =
{ 0,
- 146, 148, 150, 155, 156, 161, 162, 163, 175, 178,
- 183, 190, 199, 208, 217, 226, 235, 244, 253, 263,
- 272, 281, 290, 299, 308, 317, 326, 335, 344, 353,
- 362, 371, 380, 389, 398, 410, 419, 428, 437, 448,
- 459, 470, 481, 492, 503, 514, 525, 536, 547, 558,
- 569, 578, 587, 596, 607, 616, 627, 638, 649, 660,
- 672, 684, 696, 707, 718, 727, 736, 745, 756, 765,
- 774, 785, 796, 807, 818, 829, 840, 851, 862, 873,
- 882, 891, 900, 910, 921, 931, 942, 951, 961, 975,
- 991, 1000, 1009, 1018, 1027, 1036, 1045, 1067, 1089, 1098,
-
- 1108, 1117, 1128, 1137, 1146, 1155, 1164, 1173, 1184, 1195,
- 1206, 1216, 1225, 1236, 1247, 1258, 1269, 1281, 1290, 1299,
- 1308, 1317, 1326, 1335, 1344, 1353, 1362, 1372, 1383, 1395,
- 1404, 1413, 1422, 1432, 1442, 1452, 1462, 1472, 1482, 1491,
- 1501, 1510, 1519, 1528, 1537, 1547, 1557, 1566, 1576, 1585,
- 1594, 1603, 1612, 1621, 1630, 1639, 1648, 1657, 1666, 1675,
- 1684, 1693, 1702, 1711, 1720, 1729, 1738, 1747, 1756, 1765,
- 1774, 1783, 1792, 1801, 1810, 1819, 1828, 1837, 1846, 1855,
- 1864, 1873, 1882, 1891, 1903, 1915, 1925, 1935, 1945, 1955,
- 1965, 1975, 1985, 1995, 2005, 2014, 2023, 2032, 2041, 2052,
-
- 2063, 2076, 2089, 2102, 2111, 2120, 2129, 2138, 2147, 2156,
- 2165, 2174, 2186, 2287, 2303, 2352, 2360, 2375, 2376, 2377,
- 2378, 2379, 2380, 2382, 2400, 2413, 2418, 2422, 2424, 2426,
- 2428
+ 147, 149, 151, 156, 157, 162, 163, 164, 176, 179,
+ 184, 191, 200, 209, 218, 227, 236, 245, 254, 264,
+ 273, 282, 291, 300, 309, 318, 327, 336, 345, 354,
+ 363, 372, 381, 390, 399, 411, 420, 429, 438, 449,
+ 460, 471, 482, 493, 504, 515, 526, 537, 548, 559,
+ 570, 579, 588, 597, 608, 617, 628, 639, 650, 661,
+ 673, 685, 697, 708, 719, 728, 737, 746, 757, 766,
+ 775, 786, 797, 808, 819, 830, 841, 852, 863, 874,
+ 883, 892, 901, 911, 922, 932, 943, 952, 962, 976,
+ 992, 1001, 1010, 1019, 1028, 1037, 1046, 1068, 1090, 1099,
+
+ 1109, 1118, 1129, 1138, 1147, 1156, 1165, 1174, 1185, 1196,
+ 1207, 1217, 1226, 1237, 1248, 1259, 1270, 1282, 1291, 1300,
+ 1309, 1318, 1327, 1336, 1345, 1354, 1363, 1373, 1384, 1396,
+ 1405, 1414, 1423, 1433, 1443, 1453, 1463, 1473, 1483, 1492,
+ 1502, 1511, 1520, 1529, 1538, 1548, 1558, 1567, 1577, 1586,
+ 1595, 1604, 1613, 1622, 1631, 1640, 1649, 1658, 1667, 1676,
+ 1685, 1694, 1703, 1712, 1721, 1730, 1739, 1748, 1757, 1766,
+ 1775, 1784, 1793, 1802, 1811, 1820, 1829, 1838, 1847, 1856,
+ 1865, 1874, 1883, 1892, 1904, 1916, 1926, 1936, 1946, 1956,
+ 1966, 1976, 1986, 1996, 2006, 2015, 2024, 2033, 2042, 2053,
+
+ 2064, 2077, 2090, 2103, 2112, 2121, 2130, 2139, 2148, 2157,
+ 2166, 2175, 2187, 2288, 2304, 2353, 2361, 2376, 2377, 2378,
+ 2379, 2380, 2381, 2383, 2401, 2414, 2419, 2423, 2425, 2427,
+ 2429
} ;
/* The intent behind this definition is that it'll catch
#include <cctype>
#include <cerrno>
#include <climits>
+#include <cstdint>
#include <cstdlib>
#include <string>
#include <dhcp4/parser_context.h>
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
-#line 2253 "dhcp4_lexer.cc"
+#line 2254 "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
can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */
-#line 95 "dhcp4_lexer.ll"
+#line 96 "dhcp4_lexer.ll"
/* This code run each time a pattern is matched. It updates the location
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 2279 "dhcp4_lexer.cc"
#line 2280 "dhcp4_lexer.cc"
+#line 2281 "dhcp4_lexer.cc"
#define INITIAL 0
#define COMMENT 1
{
/* %% [7.0] user's declarations go here */
-#line 101 "dhcp4_lexer.ll"
+#line 102 "dhcp4_lexer.ll"
-#line 105 "dhcp4_lexer.ll"
+#line 106 "dhcp4_lexer.ll"
/* This part of the code is copied over to the verbatim to the top
of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
}
-#line 2608 "dhcp4_lexer.cc"
+#line 2609 "dhcp4_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
case 1:
YY_RULE_SETUP
-#line 146 "dhcp4_lexer.ll"
+#line 147 "dhcp4_lexer.ll"
;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 148 "dhcp4_lexer.ll"
+#line 149 "dhcp4_lexer.ll"
;
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 150 "dhcp4_lexer.ll"
+#line 151 "dhcp4_lexer.ll"
{
BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 155 "dhcp4_lexer.ll"
+#line 156 "dhcp4_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 156 "dhcp4_lexer.ll"
+#line 157 "dhcp4_lexer.ll"
;
YY_BREAK
case YY_STATE_EOF(COMMENT):
-#line 157 "dhcp4_lexer.ll"
+#line 158 "dhcp4_lexer.ll"
{
isc_throw(Dhcp4ParseError, "Comment not closed. (/* in line " << comment_start_line);
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 161 "dhcp4_lexer.ll"
+#line 162 "dhcp4_lexer.ll"
BEGIN(DIR_ENTER);
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 162 "dhcp4_lexer.ll"
+#line 163 "dhcp4_lexer.ll"
BEGIN(DIR_INCLUDE);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 163 "dhcp4_lexer.ll"
+#line 164 "dhcp4_lexer.ll"
{
/* Include directive. */
case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT):
-#line 172 "dhcp4_lexer.ll"
+#line 173 "dhcp4_lexer.ll"
{
isc_throw(Dhcp4ParseError, "Directive not closed.");
}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 175 "dhcp4_lexer.ll"
+#line 176 "dhcp4_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 178 "dhcp4_lexer.ll"
+#line 179 "dhcp4_lexer.ll"
{
/* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step();
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 183 "dhcp4_lexer.ll"
+#line 184 "dhcp4_lexer.ll"
{
/* Newline found. Let's update the location and continue. */
driver.loc_.lines(yyleng);
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 190 "dhcp4_lexer.ll"
+#line 191 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG:
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 199 "dhcp4_lexer.ll"
+#line 200 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 208 "dhcp4_lexer.ll"
+#line 209 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 217 "dhcp4_lexer.ll"
+#line 218 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SANITY_CHECKS:
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 226 "dhcp4_lexer.ll"
+#line 227 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SANITY_CHECKS:
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 235 "dhcp4_lexer.ll"
+#line 236 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 244 "dhcp4_lexer.ll"
+#line 245 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE:
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 253 "dhcp4_lexer.ll"
+#line 254 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_SOCKET_TYPE:
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 263 "dhcp4_lexer.ll"
+#line 264 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 272 "dhcp4_lexer.ll"
+#line 273 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case Parser4Context::OUTBOUND_INTERFACE:
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 281 "dhcp4_lexer.ll"
+#line 282 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case Parser4Context::OUTBOUND_INTERFACE:
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 290 "dhcp4_lexer.ll"
+#line 291 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 299 "dhcp4_lexer.ll"
+#line 300 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 308 "dhcp4_lexer.ll"
+#line 309 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 317 "dhcp4_lexer.ll"
+#line 318 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 326 "dhcp4_lexer.ll"
+#line 327 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::INTERFACES_CONFIG:
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 335 "dhcp4_lexer.ll"
+#line 336 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 344 "dhcp4_lexer.ll"
+#line 345 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 353 "dhcp4_lexer.ll"
+#line 354 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 362 "dhcp4_lexer.ll"
+#line 363 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 371 "dhcp4_lexer.ll"
+#line 372 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG_CONTROL:
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 380 "dhcp4_lexer.ll"
+#line 381 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONFIG_CONTROL:
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 389 "dhcp4_lexer.ll"
+#line 390 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOSTS_DATABASE:
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 398 "dhcp4_lexer.ll"
+#line 399 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 410 "dhcp4_lexer.ll"
+#line 411 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_TYPE:
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 419 "dhcp4_lexer.ll"
+#line 420 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_TYPE:
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 428 "dhcp4_lexer.ll"
+#line 429 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_TYPE:
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 437 "dhcp4_lexer.ll"
+#line 438 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 448 "dhcp4_lexer.ll"
+#line 449 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 459 "dhcp4_lexer.ll"
+#line 460 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 470 "dhcp4_lexer.ll"
+#line 471 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 481 "dhcp4_lexer.ll"
+#line 482 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 492 "dhcp4_lexer.ll"
+#line 493 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 503 "dhcp4_lexer.ll"
+#line 504 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 514 "dhcp4_lexer.ll"
+#line 515 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 525 "dhcp4_lexer.ll"
+#line 526 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 536 "dhcp4_lexer.ll"
+#line 537 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 547 "dhcp4_lexer.ll"
+#line 548 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 558 "dhcp4_lexer.ll"
+#line 559 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 569 "dhcp4_lexer.ll"
+#line 570 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_ON_FAIL:
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 578 "dhcp4_lexer.ll"
+#line 579 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_ON_FAIL:
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 587 "dhcp4_lexer.ll"
+#line 588 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DATABASE_ON_FAIL:
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 596 "dhcp4_lexer.ll"
+#line 597 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 607 "dhcp4_lexer.ll"
+#line 608 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 616 "dhcp4_lexer.ll"
+#line 617 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 627 "dhcp4_lexer.ll"
+#line 628 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 638 "dhcp4_lexer.ll"
+#line 639 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 649 "dhcp4_lexer.ll"
+#line 650 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 660 "dhcp4_lexer.ll"
+#line 661 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 672 "dhcp4_lexer.ll"
+#line 673 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 684 "dhcp4_lexer.ll"
+#line 685 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 696 "dhcp4_lexer.ll"
+#line 697 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 707 "dhcp4_lexer.ll"
+#line 708 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 718 "dhcp4_lexer.ll"
+#line 719 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 727 "dhcp4_lexer.ll"
+#line 728 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 736 "dhcp4_lexer.ll"
+#line 737 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 745 "dhcp4_lexer.ll"
+#line 746 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 756 "dhcp4_lexer.ll"
+#line 757 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 765 "dhcp4_lexer.ll"
+#line 766 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 774 "dhcp4_lexer.ll"
+#line 775 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 785 "dhcp4_lexer.ll"
+#line 786 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 796 "dhcp4_lexer.ll"
+#line 797 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 807 "dhcp4_lexer.ll"
+#line 808 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 818 "dhcp4_lexer.ll"
+#line 819 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 829 "dhcp4_lexer.ll"
+#line 830 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 840 "dhcp4_lexer.ll"
+#line 841 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 851 "dhcp4_lexer.ll"
+#line 852 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 862 "dhcp4_lexer.ll"
+#line 863 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 873 "dhcp4_lexer.ll"
+#line 874 "dhcp4_lexer.ll"
{
if (driver.ctx_ == isc::dhcp::Parser4Context::DDNS_CONFLICT_RESOLUTION_MODE) {
return isc::dhcp::Dhcp4Parser::make_CHECK_WITH_DHCID(driver.loc_);
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 882 "dhcp4_lexer.ll"
+#line 883 "dhcp4_lexer.ll"
{
if (driver.ctx_ == isc::dhcp::Parser4Context::DDNS_CONFLICT_RESOLUTION_MODE) {
return isc::dhcp::Dhcp4Parser::make_NO_CHECK_WITH_DHCID(driver.loc_);
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 891 "dhcp4_lexer.ll"
+#line 892 "dhcp4_lexer.ll"
{
if (driver.ctx_ == isc::dhcp::Parser4Context::DDNS_CONFLICT_RESOLUTION_MODE) {
return isc::dhcp::Dhcp4Parser::make_CHECK_EXISTS_WITH_DHCID(driver.loc_);
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 900 "dhcp4_lexer.ll"
+#line 901 "dhcp4_lexer.ll"
{
if (driver.ctx_ == isc::dhcp::Parser4Context::DDNS_CONFLICT_RESOLUTION_MODE) {
return isc::dhcp::Dhcp4Parser::make_NO_CHECK_WITHOUT_DHCID(driver.loc_);
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 910 "dhcp4_lexer.ll"
+#line 911 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 921 "dhcp4_lexer.ll"
+#line 922 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 931 "dhcp4_lexer.ll"
+#line 932 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 942 "dhcp4_lexer.ll"
+#line 943 "dhcp4_lexer.ll"
{
switch (driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 951 "dhcp4_lexer.ll"
+#line 952 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 961 "dhcp4_lexer.ll"
+#line 962 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 975 "dhcp4_lexer.ll"
+#line 976 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LEASE_DATABASE:
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 991 "dhcp4_lexer.ll"
+#line 992 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 1000 "dhcp4_lexer.ll"
+#line 1001 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 1009 "dhcp4_lexer.ll"
+#line 1010 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 1018 "dhcp4_lexer.ll"
+#line 1019 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 1027 "dhcp4_lexer.ll"
+#line 1028 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::POOLS:
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 1036 "dhcp4_lexer.ll"
+#line 1037 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::POOLS:
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 1045 "dhcp4_lexer.ll"
+#line 1046 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 1067 "dhcp4_lexer.ll"
+#line 1068 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 1089 "dhcp4_lexer.ll"
+#line 1090 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 1098 "dhcp4_lexer.ll"
+#line 1099 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 1108 "dhcp4_lexer.ll"
+#line 1109 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 1117 "dhcp4_lexer.ll"
+#line 1118 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 1128 "dhcp4_lexer.ll"
+#line 1129 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 1137 "dhcp4_lexer.ll"
+#line 1138 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 1146 "dhcp4_lexer.ll"
+#line 1147 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 1155 "dhcp4_lexer.ll"
+#line 1156 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 1164 "dhcp4_lexer.ll"
+#line 1165 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATION_MODE:
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 1173 "dhcp4_lexer.ll"
+#line 1174 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 1184 "dhcp4_lexer.ll"
+#line 1185 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 1195 "dhcp4_lexer.ll"
+#line 1196 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 1206 "dhcp4_lexer.ll"
+#line 1207 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 1216 "dhcp4_lexer.ll"
+#line 1217 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 1225 "dhcp4_lexer.ll"
+#line 1226 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 1236 "dhcp4_lexer.ll"
+#line 1237 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 1247 "dhcp4_lexer.ll"
+#line 1248 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 1258 "dhcp4_lexer.ll"
+#line 1259 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 1269 "dhcp4_lexer.ll"
+#line 1270 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 1281 "dhcp4_lexer.ll"
+#line 1282 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 1290 "dhcp4_lexer.ll"
+#line 1291 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 1299 "dhcp4_lexer.ll"
+#line 1300 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 1308 "dhcp4_lexer.ll"
+#line 1309 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 1317 "dhcp4_lexer.ll"
+#line 1318 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 1326 "dhcp4_lexer.ll"
+#line 1327 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 1335 "dhcp4_lexer.ll"
+#line 1336 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 1344 "dhcp4_lexer.ll"
+#line 1345 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OUTPUT_OPTIONS:
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 1353 "dhcp4_lexer.ll"
+#line 1354 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::LOGGERS:
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 1362 "dhcp4_lexer.ll"
+#line 1363 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 1372 "dhcp4_lexer.ll"
+#line 1373 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 1383 "dhcp4_lexer.ll"
+#line 1384 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 1395 "dhcp4_lexer.ll"
+#line 1396 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 1404 "dhcp4_lexer.ll"
+#line 1405 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 1413 "dhcp4_lexer.ll"
+#line 1414 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CLIENT_CLASSES:
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 1422 "dhcp4_lexer.ll"
+#line 1423 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 1432 "dhcp4_lexer.ll"
+#line 1433 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 1442 "dhcp4_lexer.ll"
+#line 1443 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 1452 "dhcp4_lexer.ll"
+#line 1453 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 1462 "dhcp4_lexer.ll"
+#line 1463 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 1472 "dhcp4_lexer.ll"
+#line 1473 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 1482 "dhcp4_lexer.ll"
+#line 1483 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RESERVATIONS:
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 1491 "dhcp4_lexer.ll"
+#line 1492 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 1501 "dhcp4_lexer.ll"
+#line 1502 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DATA:
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 1510 "dhcp4_lexer.ll"
+#line 1511 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 1519 "dhcp4_lexer.ll"
+#line 1520 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 1528 "dhcp4_lexer.ll"
+#line 1529 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::OPTION_DEF:
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 1537 "dhcp4_lexer.ll"
+#line 1538 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 1547 "dhcp4_lexer.ll"
+#line 1548 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 1557 "dhcp4_lexer.ll"
+#line 1558 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::RELAY:
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 1566 "dhcp4_lexer.ll"
+#line 1567 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 1576 "dhcp4_lexer.ll"
+#line 1577 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 1585 "dhcp4_lexer.ll"
+#line 1586 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::HOOKS_LIBRARIES:
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 1594 "dhcp4_lexer.ll"
+#line 1595 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 1603 "dhcp4_lexer.ll"
+#line 1604 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 1612 "dhcp4_lexer.ll"
+#line 1613 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 1621 "dhcp4_lexer.ll"
+#line 1622 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 1630 "dhcp4_lexer.ll"
+#line 1631 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 1639 "dhcp4_lexer.ll"
+#line 1640 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 1648 "dhcp4_lexer.ll"
+#line 1649 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 1657 "dhcp4_lexer.ll"
+#line 1658 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 1666 "dhcp4_lexer.ll"
+#line 1667 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 1675 "dhcp4_lexer.ll"
+#line 1676 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 1684 "dhcp4_lexer.ll"
+#line 1685 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 1693 "dhcp4_lexer.ll"
+#line 1694 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_MULTI_THREADING:
YY_BREAK
case 163:
YY_RULE_SETUP
-#line 1702 "dhcp4_lexer.ll"
+#line 1703 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 164:
YY_RULE_SETUP
-#line 1711 "dhcp4_lexer.ll"
+#line 1712 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
YY_BREAK
case 165:
YY_RULE_SETUP
-#line 1720 "dhcp4_lexer.ll"
+#line 1721 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::CONTROL_SOCKET:
YY_BREAK
case 166:
YY_RULE_SETUP
-#line 1729 "dhcp4_lexer.ll"
+#line 1730 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 167:
YY_RULE_SETUP
-#line 1738 "dhcp4_lexer.ll"
+#line 1739 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
YY_BREAK
case 168:
YY_RULE_SETUP
-#line 1747 "dhcp4_lexer.ll"
+#line 1748 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
YY_BREAK
case 169:
YY_RULE_SETUP
-#line 1756 "dhcp4_lexer.ll"
+#line 1757 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_QUEUE_CONTROL:
YY_BREAK
case 170:
YY_RULE_SETUP
-#line 1765 "dhcp4_lexer.ll"
+#line 1766 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 171:
YY_RULE_SETUP
-#line 1774 "dhcp4_lexer.ll"
+#line 1775 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 172:
YY_RULE_SETUP
-#line 1783 "dhcp4_lexer.ll"
+#line 1784 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 173:
YY_RULE_SETUP
-#line 1792 "dhcp4_lexer.ll"
+#line 1793 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 174:
YY_RULE_SETUP
-#line 1801 "dhcp4_lexer.ll"
+#line 1802 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 175:
YY_RULE_SETUP
-#line 1810 "dhcp4_lexer.ll"
+#line 1811 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 176:
YY_RULE_SETUP
-#line 1819 "dhcp4_lexer.ll"
+#line 1820 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 177:
YY_RULE_SETUP
-#line 1828 "dhcp4_lexer.ll"
+#line 1829 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 178:
YY_RULE_SETUP
-#line 1837 "dhcp4_lexer.ll"
+#line 1838 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 179:
YY_RULE_SETUP
-#line 1846 "dhcp4_lexer.ll"
+#line 1847 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 180:
YY_RULE_SETUP
-#line 1855 "dhcp4_lexer.ll"
+#line 1856 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 181:
YY_RULE_SETUP
-#line 1864 "dhcp4_lexer.ll"
+#line 1865 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 182:
YY_RULE_SETUP
-#line 1873 "dhcp4_lexer.ll"
+#line 1874 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 183:
YY_RULE_SETUP
-#line 1882 "dhcp4_lexer.ll"
+#line 1883 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP_DDNS:
YY_BREAK
case 184:
YY_RULE_SETUP
-#line 1891 "dhcp4_lexer.ll"
+#line 1892 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 185:
YY_RULE_SETUP
-#line 1903 "dhcp4_lexer.ll"
+#line 1904 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 186:
YY_RULE_SETUP
-#line 1915 "dhcp4_lexer.ll"
+#line 1916 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
YY_BREAK
case 187:
YY_RULE_SETUP
-#line 1925 "dhcp4_lexer.ll"
+#line 1926 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_PROTOCOL) {
YY_BREAK
case 188:
YY_RULE_SETUP
-#line 1935 "dhcp4_lexer.ll"
+#line 1936 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::NCR_FORMAT) {
YY_BREAK
case 189:
YY_RULE_SETUP
-#line 1945 "dhcp4_lexer.ll"
+#line 1946 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 190:
YY_RULE_SETUP
-#line 1955 "dhcp4_lexer.ll"
+#line 1956 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 191:
YY_RULE_SETUP
-#line 1965 "dhcp4_lexer.ll"
+#line 1966 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 192:
YY_RULE_SETUP
-#line 1975 "dhcp4_lexer.ll"
+#line 1976 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 193:
YY_RULE_SETUP
-#line 1985 "dhcp4_lexer.ll"
+#line 1986 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 194:
YY_RULE_SETUP
-#line 1995 "dhcp4_lexer.ll"
+#line 1996 "dhcp4_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser4Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 195:
YY_RULE_SETUP
-#line 2005 "dhcp4_lexer.ll"
+#line 2006 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 196:
YY_RULE_SETUP
-#line 2014 "dhcp4_lexer.ll"
+#line 2015 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 197:
YY_RULE_SETUP
-#line 2023 "dhcp4_lexer.ll"
+#line 2024 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::SUBNET4:
YY_BREAK
case 198:
YY_RULE_SETUP
-#line 2032 "dhcp4_lexer.ll"
+#line 2033 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 199:
YY_RULE_SETUP
-#line 2041 "dhcp4_lexer.ll"
+#line 2042 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 200:
YY_RULE_SETUP
-#line 2052 "dhcp4_lexer.ll"
+#line 2053 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 201:
YY_RULE_SETUP
-#line 2063 "dhcp4_lexer.ll"
+#line 2064 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 202:
YY_RULE_SETUP
-#line 2076 "dhcp4_lexer.ll"
+#line 2077 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 203:
YY_RULE_SETUP
-#line 2089 "dhcp4_lexer.ll"
+#line 2090 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 204:
YY_RULE_SETUP
-#line 2102 "dhcp4_lexer.ll"
+#line 2103 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 205:
YY_RULE_SETUP
-#line 2111 "dhcp4_lexer.ll"
+#line 2112 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 206:
YY_RULE_SETUP
-#line 2120 "dhcp4_lexer.ll"
+#line 2121 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 207:
YY_RULE_SETUP
-#line 2129 "dhcp4_lexer.ll"
+#line 2130 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 208:
YY_RULE_SETUP
-#line 2138 "dhcp4_lexer.ll"
+#line 2139 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::COMPATIBILITY:
YY_BREAK
case 209:
YY_RULE_SETUP
-#line 2147 "dhcp4_lexer.ll"
+#line 2148 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::COMPATIBILITY:
YY_BREAK
case 210:
YY_RULE_SETUP
-#line 2156 "dhcp4_lexer.ll"
+#line 2157 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::COMPATIBILITY:
YY_BREAK
case 211:
YY_RULE_SETUP
-#line 2165 "dhcp4_lexer.ll"
+#line 2166 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::COMPATIBILITY:
YY_BREAK
case 212:
YY_RULE_SETUP
-#line 2174 "dhcp4_lexer.ll"
+#line 2175 "dhcp4_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser4Context::DHCP4:
YY_BREAK
case 213:
YY_RULE_SETUP
-#line 2186 "dhcp4_lexer.ll"
+#line 2187 "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.
case 214:
/* rule 214 can match eol */
YY_RULE_SETUP
-#line 2287 "dhcp4_lexer.ll"
+#line 2288 "dhcp4_lexer.ll"
{
/* Bad string with a forbidden control character inside */
std::string raw(yytext+1);
case 215:
/* rule 215 can match eol */
YY_RULE_SETUP
-#line 2303 "dhcp4_lexer.ll"
+#line 2304 "dhcp4_lexer.ll"
{
/* Bad string with a bad escape inside */
std::string raw(yytext+1);
YY_BREAK
case 216:
YY_RULE_SETUP
-#line 2352 "dhcp4_lexer.ll"
+#line 2353 "dhcp4_lexer.ll"
{
/* Bad string with an open escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 217:
YY_RULE_SETUP
-#line 2360 "dhcp4_lexer.ll"
+#line 2361 "dhcp4_lexer.ll"
{
/* Bad string with an open unicode escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 218:
YY_RULE_SETUP
-#line 2375 "dhcp4_lexer.ll"
+#line 2376 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 219:
YY_RULE_SETUP
-#line 2376 "dhcp4_lexer.ll"
+#line 2377 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 220:
YY_RULE_SETUP
-#line 2377 "dhcp4_lexer.ll"
+#line 2378 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 221:
YY_RULE_SETUP
-#line 2378 "dhcp4_lexer.ll"
+#line 2379 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 222:
YY_RULE_SETUP
-#line 2379 "dhcp4_lexer.ll"
+#line 2380 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COMMA(driver.loc_); }
YY_BREAK
case 223:
YY_RULE_SETUP
-#line 2380 "dhcp4_lexer.ll"
+#line 2381 "dhcp4_lexer.ll"
{ return isc::dhcp::Dhcp4Parser::make_COLON(driver.loc_); }
YY_BREAK
case 224:
YY_RULE_SETUP
-#line 2382 "dhcp4_lexer.ll"
+#line 2383 "dhcp4_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
YY_BREAK
case 225:
YY_RULE_SETUP
-#line 2400 "dhcp4_lexer.ll"
+#line 2401 "dhcp4_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
YY_BREAK
case 226:
YY_RULE_SETUP
-#line 2413 "dhcp4_lexer.ll"
+#line 2414 "dhcp4_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp4Parser::make_BOOLEAN(tmp == "true", driver.loc_);
YY_BREAK
case 227:
YY_RULE_SETUP
-#line 2418 "dhcp4_lexer.ll"
+#line 2419 "dhcp4_lexer.ll"
{
return isc::dhcp::Dhcp4Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 228:
YY_RULE_SETUP
-#line 2422 "dhcp4_lexer.ll"
+#line 2423 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 229:
YY_RULE_SETUP
-#line 2424 "dhcp4_lexer.ll"
+#line 2425 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 230:
YY_RULE_SETUP
-#line 2426 "dhcp4_lexer.ll"
+#line 2427 "dhcp4_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 231:
YY_RULE_SETUP
-#line 2428 "dhcp4_lexer.ll"
+#line 2429 "dhcp4_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 2430 "dhcp4_lexer.ll"
+#line 2431 "dhcp4_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp4Parser::make_END(driver.loc_);
YY_BREAK
case 232:
YY_RULE_SETUP
-#line 2453 "dhcp4_lexer.ll"
+#line 2454 "dhcp4_lexer.ll"
ECHO;
YY_BREAK
-#line 5706 "dhcp4_lexer.cc"
+#line 5707 "dhcp4_lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 2453 "dhcp4_lexer.ll"
+#line 2454 "dhcp4_lexer.ll"
using namespace isc::dhcp;
+// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++
static const flex_int16_t yy_rule_linenum[236] =
{ 0,
- 148, 150, 152, 157, 158, 163, 164, 165, 177, 180,
- 185, 192, 201, 210, 219, 228, 237, 246, 255, 264,
- 273, 282, 291, 300, 309, 321, 333, 343, 353, 363,
- 373, 383, 392, 402, 412, 422, 432, 441, 450, 459,
- 468, 477, 486, 495, 504, 513, 522, 531, 540, 549,
- 558, 567, 576, 585, 594, 607, 616, 625, 634, 645,
- 656, 667, 678, 690, 701, 712, 723, 734, 745, 756,
- 767, 776, 785, 794, 805, 814, 825, 836, 847, 858,
- 870, 882, 894, 906, 918, 930, 941, 952, 961, 970,
- 979, 990, 1001, 1010, 1019, 1030, 1041, 1052, 1063, 1074,
-
- 1085, 1096, 1107, 1118, 1127, 1136, 1145, 1157, 1168, 1178,
- 1189, 1198, 1207, 1222, 1238, 1247, 1256, 1265, 1274, 1283,
- 1292, 1301, 1310, 1319, 1328, 1337, 1346, 1370, 1394, 1403,
- 1413, 1423, 1432, 1442, 1453, 1462, 1471, 1480, 1489, 1498,
- 1509, 1520, 1531, 1541, 1550, 1559, 1568, 1579, 1590, 1601,
- 1612, 1623, 1632, 1641, 1650, 1659, 1668, 1677, 1686, 1695,
- 1704, 1714, 1726, 1739, 1748, 1757, 1766, 1776, 1786, 1795,
- 1806, 1816, 1825, 1835, 1845, 1854, 1863, 1872, 1881, 1891,
- 1900, 1909, 1918, 1927, 1936, 1945, 1954, 1963, 1972, 1981,
- 1990, 1999, 2008, 2017, 2026, 2035, 2044, 2053, 2062, 2071,
-
- 2080, 2089, 2098, 2107, 2116, 2125, 2134, 2143, 2152, 2161,
- 2170, 2179, 2188, 2197, 2206, 2215, 2224, 2325, 2341, 2390,
- 2398, 2413, 2414, 2415, 2416, 2417, 2418, 2420, 2438, 2451,
- 2456, 2460, 2462, 2464, 2466
+ 149, 151, 153, 158, 159, 164, 165, 166, 178, 181,
+ 186, 193, 202, 211, 220, 229, 238, 247, 256, 265,
+ 274, 283, 292, 301, 310, 322, 334, 344, 354, 364,
+ 374, 384, 393, 403, 413, 423, 433, 442, 451, 460,
+ 469, 478, 487, 496, 505, 514, 523, 532, 541, 550,
+ 559, 568, 577, 586, 595, 608, 617, 626, 635, 646,
+ 657, 668, 679, 691, 702, 713, 724, 735, 746, 757,
+ 768, 777, 786, 795, 806, 815, 826, 837, 848, 859,
+ 871, 883, 895, 907, 919, 931, 942, 953, 962, 971,
+ 980, 991, 1002, 1011, 1020, 1031, 1042, 1053, 1064, 1075,
+
+ 1086, 1097, 1108, 1119, 1128, 1137, 1146, 1158, 1169, 1179,
+ 1190, 1199, 1208, 1223, 1239, 1248, 1257, 1266, 1275, 1284,
+ 1293, 1302, 1311, 1320, 1329, 1338, 1347, 1371, 1395, 1404,
+ 1414, 1424, 1433, 1443, 1454, 1463, 1472, 1481, 1490, 1499,
+ 1510, 1521, 1532, 1542, 1551, 1560, 1569, 1580, 1591, 1602,
+ 1613, 1624, 1633, 1642, 1651, 1660, 1669, 1678, 1687, 1696,
+ 1705, 1715, 1727, 1740, 1749, 1758, 1767, 1777, 1787, 1796,
+ 1807, 1817, 1826, 1836, 1846, 1855, 1864, 1873, 1882, 1892,
+ 1901, 1910, 1919, 1928, 1937, 1946, 1955, 1964, 1973, 1982,
+ 1991, 2000, 2009, 2018, 2027, 2036, 2045, 2054, 2063, 2072,
+
+ 2081, 2090, 2099, 2108, 2117, 2126, 2135, 2144, 2153, 2162,
+ 2171, 2180, 2189, 2198, 2207, 2216, 2225, 2326, 2342, 2391,
+ 2399, 2414, 2415, 2416, 2417, 2418, 2419, 2421, 2439, 2452,
+ 2457, 2461, 2463, 2465, 2467
} ;
/* The intent behind this definition is that it'll catch
#include <cctype>
#include <cerrno>
#include <climits>
+#include <cstdint>
#include <cstdlib>
#include <string>
#include <dhcp6/parser_context.h>
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
-#line 2235 "dhcp6_lexer.cc"
+#line 2236 "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
can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */
-#line 95 "dhcp6_lexer.ll"
+#line 96 "dhcp6_lexer.ll"
/* This code run each time a pattern is matched. It updates the location
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 2261 "dhcp6_lexer.cc"
#line 2262 "dhcp6_lexer.cc"
+#line 2263 "dhcp6_lexer.cc"
#define INITIAL 0
#define COMMENT 1
{
/* %% [7.0] user's declarations go here */
-#line 101 "dhcp6_lexer.ll"
+#line 102 "dhcp6_lexer.ll"
-#line 105 "dhcp6_lexer.ll"
+#line 106 "dhcp6_lexer.ll"
/* This part of the code is copied over to the verbatim to the top
of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
}
-#line 2592 "dhcp6_lexer.cc"
+#line 2593 "dhcp6_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
case 1:
YY_RULE_SETUP
-#line 148 "dhcp6_lexer.ll"
+#line 149 "dhcp6_lexer.ll"
;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 150 "dhcp6_lexer.ll"
+#line 151 "dhcp6_lexer.ll"
;
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 152 "dhcp6_lexer.ll"
+#line 153 "dhcp6_lexer.ll"
{
BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 157 "dhcp6_lexer.ll"
+#line 158 "dhcp6_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 158 "dhcp6_lexer.ll"
+#line 159 "dhcp6_lexer.ll"
;
YY_BREAK
case YY_STATE_EOF(COMMENT):
-#line 159 "dhcp6_lexer.ll"
+#line 160 "dhcp6_lexer.ll"
{
isc_throw(Dhcp6ParseError, "Comment not closed. (/* in line " << comment_start_line);
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 163 "dhcp6_lexer.ll"
+#line 164 "dhcp6_lexer.ll"
BEGIN(DIR_ENTER);
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 164 "dhcp6_lexer.ll"
+#line 165 "dhcp6_lexer.ll"
BEGIN(DIR_INCLUDE);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 165 "dhcp6_lexer.ll"
+#line 166 "dhcp6_lexer.ll"
{
/* Include directive. */
case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT):
-#line 174 "dhcp6_lexer.ll"
+#line 175 "dhcp6_lexer.ll"
{
isc_throw(Dhcp6ParseError, "Directive not closed.");
}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 177 "dhcp6_lexer.ll"
+#line 178 "dhcp6_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 180 "dhcp6_lexer.ll"
+#line 181 "dhcp6_lexer.ll"
{
/* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step();
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 185 "dhcp6_lexer.ll"
+#line 186 "dhcp6_lexer.ll"
{
/* Newline found. Let's update the location and continue. */
driver.loc_.lines(yyleng);
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 192 "dhcp6_lexer.ll"
+#line 193 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 201 "dhcp6_lexer.ll"
+#line 202 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 210 "dhcp6_lexer.ll"
+#line 211 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 219 "dhcp6_lexer.ll"
+#line 220 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 228 "dhcp6_lexer.ll"
+#line 229 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 237 "dhcp6_lexer.ll"
+#line 238 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 246 "dhcp6_lexer.ll"
+#line 247 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 255 "dhcp6_lexer.ll"
+#line 256 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 264 "dhcp6_lexer.ll"
+#line 265 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 273 "dhcp6_lexer.ll"
+#line 274 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 282 "dhcp6_lexer.ll"
+#line 283 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 291 "dhcp6_lexer.ll"
+#line 292 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 300 "dhcp6_lexer.ll"
+#line 301 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_DDNS:
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 309 "dhcp6_lexer.ll"
+#line 310 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 321 "dhcp6_lexer.ll"
+#line 322 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 333 "dhcp6_lexer.ll"
+#line 334 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 343 "dhcp6_lexer.ll"
+#line 344 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_PROTOCOL) {
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 353 "dhcp6_lexer.ll"
+#line 354 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::NCR_FORMAT) {
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 363 "dhcp6_lexer.ll"
+#line 364 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 373 "dhcp6_lexer.ll"
+#line 374 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 383 "dhcp6_lexer.ll"
+#line 384 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME:
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 392 "dhcp6_lexer.ll"
+#line 393 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 402 "dhcp6_lexer.ll"
+#line 403 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 412 "dhcp6_lexer.ll"
+#line 413 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 422 "dhcp6_lexer.ll"
+#line 423 "dhcp6_lexer.ll"
{
/* dhcp-ddns value keywords are case insensitive */
if (driver.ctx_ == isc::dhcp::Parser6Context::REPLACE_CLIENT_NAME) {
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 432 "dhcp6_lexer.ll"
+#line 433 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG:
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 441 "dhcp6_lexer.ll"
+#line 442 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 450 "dhcp6_lexer.ll"
+#line 451 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 459 "dhcp6_lexer.ll"
+#line 460 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 468 "dhcp6_lexer.ll"
+#line 469 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 477 "dhcp6_lexer.ll"
+#line 478 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 486 "dhcp6_lexer.ll"
+#line 487 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 495 "dhcp6_lexer.ll"
+#line 496 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::INTERFACES_CONFIG:
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 504 "dhcp6_lexer.ll"
+#line 505 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 513 "dhcp6_lexer.ll"
+#line 514 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SANITY_CHECKS:
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 522 "dhcp6_lexer.ll"
+#line 523 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SANITY_CHECKS:
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 531 "dhcp6_lexer.ll"
+#line 532 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 540 "dhcp6_lexer.ll"
+#line 541 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 549 "dhcp6_lexer.ll"
+#line 550 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 558 "dhcp6_lexer.ll"
+#line 559 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 567 "dhcp6_lexer.ll"
+#line 568 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG_CONTROL:
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 576 "dhcp6_lexer.ll"
+#line 577 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONFIG_CONTROL:
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 585 "dhcp6_lexer.ll"
+#line 586 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOSTS_DATABASE:
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 594 "dhcp6_lexer.ll"
+#line 595 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 607 "dhcp6_lexer.ll"
+#line 608 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 616 "dhcp6_lexer.ll"
+#line 617 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 625 "dhcp6_lexer.ll"
+#line 626 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_TYPE:
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 634 "dhcp6_lexer.ll"
+#line 635 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 645 "dhcp6_lexer.ll"
+#line 646 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 656 "dhcp6_lexer.ll"
+#line 657 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 667 "dhcp6_lexer.ll"
+#line 668 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 678 "dhcp6_lexer.ll"
+#line 679 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 64:
YY_RULE_SETUP
-#line 690 "dhcp6_lexer.ll"
+#line 691 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 65:
YY_RULE_SETUP
-#line 701 "dhcp6_lexer.ll"
+#line 702 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 66:
YY_RULE_SETUP
-#line 712 "dhcp6_lexer.ll"
+#line 713 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 67:
YY_RULE_SETUP
-#line 723 "dhcp6_lexer.ll"
+#line 724 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 68:
YY_RULE_SETUP
-#line 734 "dhcp6_lexer.ll"
+#line 735 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 745 "dhcp6_lexer.ll"
+#line 746 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 70:
YY_RULE_SETUP
-#line 756 "dhcp6_lexer.ll"
+#line 757 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 71:
YY_RULE_SETUP
-#line 767 "dhcp6_lexer.ll"
+#line 768 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_ON_FAIL:
YY_BREAK
case 72:
YY_RULE_SETUP
-#line 776 "dhcp6_lexer.ll"
+#line 777 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_ON_FAIL:
YY_BREAK
case 73:
YY_RULE_SETUP
-#line 785 "dhcp6_lexer.ll"
+#line 786 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DATABASE_ON_FAIL:
YY_BREAK
case 74:
YY_RULE_SETUP
-#line 794 "dhcp6_lexer.ll"
+#line 795 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 75:
YY_RULE_SETUP
-#line 805 "dhcp6_lexer.ll"
+#line 806 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 76:
YY_RULE_SETUP
-#line 814 "dhcp6_lexer.ll"
+#line 815 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 77:
YY_RULE_SETUP
-#line 825 "dhcp6_lexer.ll"
+#line 826 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 836 "dhcp6_lexer.ll"
+#line 837 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 79:
YY_RULE_SETUP
-#line 847 "dhcp6_lexer.ll"
+#line 848 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 858 "dhcp6_lexer.ll"
+#line 859 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 81:
YY_RULE_SETUP
-#line 870 "dhcp6_lexer.ll"
+#line 871 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 882 "dhcp6_lexer.ll"
+#line 883 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 83:
YY_RULE_SETUP
-#line 894 "dhcp6_lexer.ll"
+#line 895 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 906 "dhcp6_lexer.ll"
+#line 907 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 918 "dhcp6_lexer.ll"
+#line 919 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 930 "dhcp6_lexer.ll"
+#line 931 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 87:
YY_RULE_SETUP
-#line 941 "dhcp6_lexer.ll"
+#line 942 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 952 "dhcp6_lexer.ll"
+#line 953 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 961 "dhcp6_lexer.ll"
+#line 962 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 90:
YY_RULE_SETUP
-#line 970 "dhcp6_lexer.ll"
+#line 971 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 91:
YY_RULE_SETUP
-#line 979 "dhcp6_lexer.ll"
+#line 980 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 92:
YY_RULE_SETUP
-#line 990 "dhcp6_lexer.ll"
+#line 991 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 93:
YY_RULE_SETUP
-#line 1001 "dhcp6_lexer.ll"
+#line 1002 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 94:
YY_RULE_SETUP
-#line 1010 "dhcp6_lexer.ll"
+#line 1011 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 95:
YY_RULE_SETUP
-#line 1019 "dhcp6_lexer.ll"
+#line 1020 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 96:
YY_RULE_SETUP
-#line 1030 "dhcp6_lexer.ll"
+#line 1031 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 1041 "dhcp6_lexer.ll"
+#line 1042 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 98:
YY_RULE_SETUP
-#line 1052 "dhcp6_lexer.ll"
+#line 1053 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 99:
YY_RULE_SETUP
-#line 1063 "dhcp6_lexer.ll"
+#line 1064 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 1074 "dhcp6_lexer.ll"
+#line 1075 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 101:
YY_RULE_SETUP
-#line 1085 "dhcp6_lexer.ll"
+#line 1086 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 102:
YY_RULE_SETUP
-#line 1096 "dhcp6_lexer.ll"
+#line 1097 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 1107 "dhcp6_lexer.ll"
+#line 1108 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 104:
YY_RULE_SETUP
-#line 1118 "dhcp6_lexer.ll"
+#line 1119 "dhcp6_lexer.ll"
{
if (driver.ctx_ == isc::dhcp::Parser6Context::DDNS_CONFLICT_RESOLUTION_MODE) {
return isc::dhcp::Dhcp6Parser::make_CHECK_WITH_DHCID(driver.loc_);
YY_BREAK
case 105:
YY_RULE_SETUP
-#line 1127 "dhcp6_lexer.ll"
+#line 1128 "dhcp6_lexer.ll"
{
if (driver.ctx_ == isc::dhcp::Parser6Context::DDNS_CONFLICT_RESOLUTION_MODE) {
return isc::dhcp::Dhcp6Parser::make_NO_CHECK_WITH_DHCID(driver.loc_);
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 1136 "dhcp6_lexer.ll"
+#line 1137 "dhcp6_lexer.ll"
{
if (driver.ctx_ == isc::dhcp::Parser6Context::DDNS_CONFLICT_RESOLUTION_MODE) {
return isc::dhcp::Dhcp6Parser::make_CHECK_EXISTS_WITH_DHCID(driver.loc_);
YY_BREAK
case 107:
YY_RULE_SETUP
-#line 1145 "dhcp6_lexer.ll"
+#line 1146 "dhcp6_lexer.ll"
{
if (driver.ctx_ == isc::dhcp::Parser6Context::DDNS_CONFLICT_RESOLUTION_MODE) {
return isc::dhcp::Dhcp6Parser::make_NO_CHECK_WITHOUT_DHCID(driver.loc_);
YY_BREAK
case 108:
YY_RULE_SETUP
-#line 1157 "dhcp6_lexer.ll"
+#line 1158 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 109:
YY_RULE_SETUP
-#line 1168 "dhcp6_lexer.ll"
+#line 1169 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 110:
YY_RULE_SETUP
-#line 1178 "dhcp6_lexer.ll"
+#line 1179 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 111:
YY_RULE_SETUP
-#line 1189 "dhcp6_lexer.ll"
+#line 1190 "dhcp6_lexer.ll"
{
switch (driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 112:
YY_RULE_SETUP
-#line 1198 "dhcp6_lexer.ll"
+#line 1199 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 113:
YY_RULE_SETUP
-#line 1207 "dhcp6_lexer.ll"
+#line 1208 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 114:
YY_RULE_SETUP
-#line 1222 "dhcp6_lexer.ll"
+#line 1223 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LEASE_DATABASE:
YY_BREAK
case 115:
YY_RULE_SETUP
-#line 1238 "dhcp6_lexer.ll"
+#line 1239 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
YY_BREAK
case 116:
YY_RULE_SETUP
-#line 1247 "dhcp6_lexer.ll"
+#line 1248 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
YY_BREAK
case 117:
YY_RULE_SETUP
-#line 1256 "dhcp6_lexer.ll"
+#line 1257 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
YY_BREAK
case 118:
YY_RULE_SETUP
-#line 1265 "dhcp6_lexer.ll"
+#line 1266 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 119:
YY_RULE_SETUP
-#line 1274 "dhcp6_lexer.ll"
+#line 1275 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 120:
YY_RULE_SETUP
-#line 1283 "dhcp6_lexer.ll"
+#line 1284 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 121:
YY_RULE_SETUP
-#line 1292 "dhcp6_lexer.ll"
+#line 1293 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 1301 "dhcp6_lexer.ll"
+#line 1302 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 123:
YY_RULE_SETUP
-#line 1310 "dhcp6_lexer.ll"
+#line 1311 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 124:
YY_RULE_SETUP
-#line 1319 "dhcp6_lexer.ll"
+#line 1320 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::PD_POOLS:
YY_BREAK
case 125:
YY_RULE_SETUP
-#line 1328 "dhcp6_lexer.ll"
+#line 1329 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::POOLS:
YY_BREAK
case 126:
YY_RULE_SETUP
-#line 1337 "dhcp6_lexer.ll"
+#line 1338 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::POOLS:
YY_BREAK
case 127:
YY_RULE_SETUP
-#line 1346 "dhcp6_lexer.ll"
+#line 1347 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 128:
YY_RULE_SETUP
-#line 1370 "dhcp6_lexer.ll"
+#line 1371 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 129:
YY_RULE_SETUP
-#line 1394 "dhcp6_lexer.ll"
+#line 1395 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 130:
YY_RULE_SETUP
-#line 1403 "dhcp6_lexer.ll"
+#line 1404 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 131:
YY_RULE_SETUP
-#line 1413 "dhcp6_lexer.ll"
+#line 1414 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 132:
YY_RULE_SETUP
-#line 1423 "dhcp6_lexer.ll"
+#line 1424 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 133:
YY_RULE_SETUP
-#line 1432 "dhcp6_lexer.ll"
+#line 1433 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 134:
YY_RULE_SETUP
-#line 1442 "dhcp6_lexer.ll"
+#line 1443 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 135:
YY_RULE_SETUP
-#line 1453 "dhcp6_lexer.ll"
+#line 1454 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 136:
YY_RULE_SETUP
-#line 1462 "dhcp6_lexer.ll"
+#line 1463 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 137:
YY_RULE_SETUP
-#line 1471 "dhcp6_lexer.ll"
+#line 1472 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 138:
YY_RULE_SETUP
-#line 1480 "dhcp6_lexer.ll"
+#line 1481 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 139:
YY_RULE_SETUP
-#line 1489 "dhcp6_lexer.ll"
+#line 1490 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATION_MODE:
YY_BREAK
case 140:
YY_RULE_SETUP
-#line 1498 "dhcp6_lexer.ll"
+#line 1499 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 141:
YY_RULE_SETUP
-#line 1509 "dhcp6_lexer.ll"
+#line 1510 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 142:
YY_RULE_SETUP
-#line 1520 "dhcp6_lexer.ll"
+#line 1521 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 143:
YY_RULE_SETUP
-#line 1531 "dhcp6_lexer.ll"
+#line 1532 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 144:
YY_RULE_SETUP
-#line 1541 "dhcp6_lexer.ll"
+#line 1542 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 145:
YY_RULE_SETUP
-#line 1550 "dhcp6_lexer.ll"
+#line 1551 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 146:
YY_RULE_SETUP
-#line 1559 "dhcp6_lexer.ll"
+#line 1560 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 147:
YY_RULE_SETUP
-#line 1568 "dhcp6_lexer.ll"
+#line 1569 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 148:
YY_RULE_SETUP
-#line 1579 "dhcp6_lexer.ll"
+#line 1580 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 149:
YY_RULE_SETUP
-#line 1590 "dhcp6_lexer.ll"
+#line 1591 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 150:
YY_RULE_SETUP
-#line 1601 "dhcp6_lexer.ll"
+#line 1602 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 151:
YY_RULE_SETUP
-#line 1612 "dhcp6_lexer.ll"
+#line 1613 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 152:
YY_RULE_SETUP
-#line 1623 "dhcp6_lexer.ll"
+#line 1624 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 153:
YY_RULE_SETUP
-#line 1632 "dhcp6_lexer.ll"
+#line 1633 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
YY_BREAK
case 154:
YY_RULE_SETUP
-#line 1641 "dhcp6_lexer.ll"
+#line 1642 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 155:
YY_RULE_SETUP
-#line 1650 "dhcp6_lexer.ll"
+#line 1651 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 156:
YY_RULE_SETUP
-#line 1659 "dhcp6_lexer.ll"
+#line 1660 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 157:
YY_RULE_SETUP
-#line 1668 "dhcp6_lexer.ll"
+#line 1669 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 158:
YY_RULE_SETUP
-#line 1677 "dhcp6_lexer.ll"
+#line 1678 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OUTPUT_OPTIONS:
YY_BREAK
case 159:
YY_RULE_SETUP
-#line 1686 "dhcp6_lexer.ll"
+#line 1687 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
YY_BREAK
case 160:
YY_RULE_SETUP
-#line 1695 "dhcp6_lexer.ll"
+#line 1696 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::LOGGERS:
YY_BREAK
case 161:
YY_RULE_SETUP
-#line 1704 "dhcp6_lexer.ll"
+#line 1705 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 162:
YY_RULE_SETUP
-#line 1714 "dhcp6_lexer.ll"
+#line 1715 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 163:
YY_RULE_SETUP
-#line 1726 "dhcp6_lexer.ll"
+#line 1727 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 164:
YY_RULE_SETUP
-#line 1739 "dhcp6_lexer.ll"
+#line 1740 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
YY_BREAK
case 165:
YY_RULE_SETUP
-#line 1748 "dhcp6_lexer.ll"
+#line 1749 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
YY_BREAK
case 166:
YY_RULE_SETUP
-#line 1757 "dhcp6_lexer.ll"
+#line 1758 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CLIENT_CLASSES:
YY_BREAK
case 167:
YY_RULE_SETUP
-#line 1766 "dhcp6_lexer.ll"
+#line 1767 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 168:
YY_RULE_SETUP
-#line 1776 "dhcp6_lexer.ll"
+#line 1777 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
YY_BREAK
case 169:
YY_RULE_SETUP
-#line 1786 "dhcp6_lexer.ll"
+#line 1787 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
YY_BREAK
case 170:
YY_RULE_SETUP
-#line 1795 "dhcp6_lexer.ll"
+#line 1796 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::MAC_SOURCES:
YY_BREAK
case 171:
YY_RULE_SETUP
-#line 1806 "dhcp6_lexer.ll"
+#line 1807 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 172:
YY_RULE_SETUP
-#line 1816 "dhcp6_lexer.ll"
+#line 1817 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RESERVATIONS:
YY_BREAK
case 173:
YY_RULE_SETUP
-#line 1825 "dhcp6_lexer.ll"
+#line 1826 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOST_RESERVATION_IDENTIFIERS:
YY_BREAK
case 174:
YY_RULE_SETUP
-#line 1835 "dhcp6_lexer.ll"
+#line 1836 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 175:
YY_RULE_SETUP
-#line 1845 "dhcp6_lexer.ll"
+#line 1846 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DATA:
YY_BREAK
case 176:
YY_RULE_SETUP
-#line 1854 "dhcp6_lexer.ll"
+#line 1855 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 177:
YY_RULE_SETUP
-#line 1863 "dhcp6_lexer.ll"
+#line 1864 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 178:
YY_RULE_SETUP
-#line 1872 "dhcp6_lexer.ll"
+#line 1873 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::OPTION_DEF:
YY_BREAK
case 179:
YY_RULE_SETUP
-#line 1881 "dhcp6_lexer.ll"
+#line 1882 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SUBNET6:
YY_BREAK
case 180:
YY_RULE_SETUP
-#line 1891 "dhcp6_lexer.ll"
+#line 1892 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::RELAY:
YY_BREAK
case 181:
YY_RULE_SETUP
-#line 1900 "dhcp6_lexer.ll"
+#line 1901 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 182:
YY_RULE_SETUP
-#line 1909 "dhcp6_lexer.ll"
+#line 1910 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
YY_BREAK
case 183:
YY_RULE_SETUP
-#line 1918 "dhcp6_lexer.ll"
+#line 1919 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::HOOKS_LIBRARIES:
YY_BREAK
case 184:
YY_RULE_SETUP
-#line 1927 "dhcp6_lexer.ll"
+#line 1928 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 185:
YY_RULE_SETUP
-#line 1936 "dhcp6_lexer.ll"
+#line 1937 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
YY_BREAK
case 186:
YY_RULE_SETUP
-#line 1945 "dhcp6_lexer.ll"
+#line 1946 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
YY_BREAK
case 187:
YY_RULE_SETUP
-#line 1954 "dhcp6_lexer.ll"
+#line 1955 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DUID_TYPE:
YY_BREAK
case 188:
YY_RULE_SETUP
-#line 1963 "dhcp6_lexer.ll"
+#line 1964 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 189:
YY_RULE_SETUP
-#line 1972 "dhcp6_lexer.ll"
+#line 1973 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 190:
YY_RULE_SETUP
-#line 1981 "dhcp6_lexer.ll"
+#line 1982 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 191:
YY_RULE_SETUP
-#line 1990 "dhcp6_lexer.ll"
+#line 1991 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::SERVER_ID:
YY_BREAK
case 192:
YY_RULE_SETUP
-#line 1999 "dhcp6_lexer.ll"
+#line 2000 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 193:
YY_RULE_SETUP
-#line 2008 "dhcp6_lexer.ll"
+#line 2009 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 194:
YY_RULE_SETUP
-#line 2017 "dhcp6_lexer.ll"
+#line 2018 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 195:
YY_RULE_SETUP
-#line 2026 "dhcp6_lexer.ll"
+#line 2027 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 196:
YY_RULE_SETUP
-#line 2035 "dhcp6_lexer.ll"
+#line 2036 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 197:
YY_RULE_SETUP
-#line 2044 "dhcp6_lexer.ll"
+#line 2045 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 198:
YY_RULE_SETUP
-#line 2053 "dhcp6_lexer.ll"
+#line 2054 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::EXPIRED_LEASES_PROCESSING:
YY_BREAK
case 199:
YY_RULE_SETUP
-#line 2062 "dhcp6_lexer.ll"
+#line 2063 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 200:
YY_RULE_SETUP
-#line 2071 "dhcp6_lexer.ll"
+#line 2072 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 201:
YY_RULE_SETUP
-#line 2080 "dhcp6_lexer.ll"
+#line 2081 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
YY_BREAK
case 202:
YY_RULE_SETUP
-#line 2089 "dhcp6_lexer.ll"
+#line 2090 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
YY_BREAK
case 203:
YY_RULE_SETUP
-#line 2098 "dhcp6_lexer.ll"
+#line 2099 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_MULTI_THREADING:
YY_BREAK
case 204:
YY_RULE_SETUP
-#line 2107 "dhcp6_lexer.ll"
+#line 2108 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 205:
YY_RULE_SETUP
-#line 2116 "dhcp6_lexer.ll"
+#line 2117 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
YY_BREAK
case 206:
YY_RULE_SETUP
-#line 2125 "dhcp6_lexer.ll"
+#line 2126 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::CONTROL_SOCKET:
YY_BREAK
case 207:
YY_RULE_SETUP
-#line 2134 "dhcp6_lexer.ll"
+#line 2135 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 208:
YY_RULE_SETUP
-#line 2143 "dhcp6_lexer.ll"
+#line 2144 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
YY_BREAK
case 209:
YY_RULE_SETUP
-#line 2152 "dhcp6_lexer.ll"
+#line 2153 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
YY_BREAK
case 210:
YY_RULE_SETUP
-#line 2161 "dhcp6_lexer.ll"
+#line 2162 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP_QUEUE_CONTROL:
YY_BREAK
case 211:
YY_RULE_SETUP
-#line 2170 "dhcp6_lexer.ll"
+#line 2171 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 212:
YY_RULE_SETUP
-#line 2179 "dhcp6_lexer.ll"
+#line 2180 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 213:
YY_RULE_SETUP
-#line 2188 "dhcp6_lexer.ll"
+#line 2189 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 214:
YY_RULE_SETUP
-#line 2197 "dhcp6_lexer.ll"
+#line 2198 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 215:
YY_RULE_SETUP
-#line 2206 "dhcp6_lexer.ll"
+#line 2207 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::DHCP6:
YY_BREAK
case 216:
YY_RULE_SETUP
-#line 2215 "dhcp6_lexer.ll"
+#line 2216 "dhcp6_lexer.ll"
{
switch(driver.ctx_) {
case isc::dhcp::Parser6Context::COMPATIBILITY:
YY_BREAK
case 217:
YY_RULE_SETUP
-#line 2224 "dhcp6_lexer.ll"
+#line 2225 "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.
case 218:
/* rule 218 can match eol */
YY_RULE_SETUP
-#line 2325 "dhcp6_lexer.ll"
+#line 2326 "dhcp6_lexer.ll"
{
/* Bad string with a forbidden control character inside */
std::string raw(yytext+1);
case 219:
/* rule 219 can match eol */
YY_RULE_SETUP
-#line 2341 "dhcp6_lexer.ll"
+#line 2342 "dhcp6_lexer.ll"
{
/* Bad string with a bad escape inside */
std::string raw(yytext+1);
YY_BREAK
case 220:
YY_RULE_SETUP
-#line 2390 "dhcp6_lexer.ll"
+#line 2391 "dhcp6_lexer.ll"
{
/* Bad string with an open escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 221:
YY_RULE_SETUP
-#line 2398 "dhcp6_lexer.ll"
+#line 2399 "dhcp6_lexer.ll"
{
/* Bad string with an open unicode escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 222:
YY_RULE_SETUP
-#line 2413 "dhcp6_lexer.ll"
+#line 2414 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 223:
YY_RULE_SETUP
-#line 2414 "dhcp6_lexer.ll"
+#line 2415 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 224:
YY_RULE_SETUP
-#line 2415 "dhcp6_lexer.ll"
+#line 2416 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 225:
YY_RULE_SETUP
-#line 2416 "dhcp6_lexer.ll"
+#line 2417 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 226:
YY_RULE_SETUP
-#line 2417 "dhcp6_lexer.ll"
+#line 2418 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COMMA(driver.loc_); }
YY_BREAK
case 227:
YY_RULE_SETUP
-#line 2418 "dhcp6_lexer.ll"
+#line 2419 "dhcp6_lexer.ll"
{ return isc::dhcp::Dhcp6Parser::make_COLON(driver.loc_); }
YY_BREAK
case 228:
YY_RULE_SETUP
-#line 2420 "dhcp6_lexer.ll"
+#line 2421 "dhcp6_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
YY_BREAK
case 229:
YY_RULE_SETUP
-#line 2438 "dhcp6_lexer.ll"
+#line 2439 "dhcp6_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
YY_BREAK
case 230:
YY_RULE_SETUP
-#line 2451 "dhcp6_lexer.ll"
+#line 2452 "dhcp6_lexer.ll"
{
string tmp(yytext);
return isc::dhcp::Dhcp6Parser::make_BOOLEAN(tmp == "true", driver.loc_);
YY_BREAK
case 231:
YY_RULE_SETUP
-#line 2456 "dhcp6_lexer.ll"
+#line 2457 "dhcp6_lexer.ll"
{
return isc::dhcp::Dhcp6Parser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 232:
YY_RULE_SETUP
-#line 2460 "dhcp6_lexer.ll"
+#line 2461 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 233:
YY_RULE_SETUP
-#line 2462 "dhcp6_lexer.ll"
+#line 2463 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 234:
YY_RULE_SETUP
-#line 2464 "dhcp6_lexer.ll"
+#line 2465 "dhcp6_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 235:
YY_RULE_SETUP
-#line 2466 "dhcp6_lexer.ll"
+#line 2467 "dhcp6_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 2468 "dhcp6_lexer.ll"
+#line 2469 "dhcp6_lexer.ll"
{
if (driver.states_.empty()) {
return isc::dhcp::Dhcp6Parser::make_END(driver.loc_);
YY_BREAK
case 236:
YY_RULE_SETUP
-#line 2491 "dhcp6_lexer.ll"
+#line 2492 "dhcp6_lexer.ll"
ECHO;
YY_BREAK
-#line 5738 "dhcp6_lexer.cc"
+#line 5739 "dhcp6_lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 2491 "dhcp6_lexer.ll"
+#line 2492 "dhcp6_lexer.ll"
using namespace isc::dhcp;
+// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++
+// Generated 202308031548
// A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++
static const flex_int16_t yy_rule_linenum[63] =
{ 0,
- 134, 136, 138, 143, 144, 149, 150, 151, 163, 166,
- 171, 178, 187, 199, 211, 221, 231, 241, 250, 259,
- 268, 277, 286, 295, 304, 313, 322, 331, 340, 349,
- 358, 367, 376, 385, 394, 403, 412, 421, 430, 439,
- 448, 457, 466, 475, 576, 592, 641, 649, 664, 665,
- 666, 667, 668, 669, 671, 689, 702, 707, 711, 713,
- 715, 717
+ 135, 137, 139, 144, 145, 150, 151, 152, 164, 167,
+ 172, 179, 188, 200, 212, 222, 232, 242, 251, 260,
+ 269, 278, 287, 296, 305, 314, 323, 332, 341, 350,
+ 359, 368, 377, 386, 395, 404, 413, 422, 431, 440,
+ 449, 458, 467, 476, 577, 593, 642, 650, 665, 666,
+ 667, 668, 669, 670, 672, 690, 703, 708, 712, 714,
+ 716, 718
} ;
/* The intent behind this definition is that it'll catch
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "netconf_lexer.ll"
-/* Copyright (C) 2018-2020 Internet Systems Consortium, Inc. ("ISC")
+/* Copyright (C) 2018-2023 Internet Systems Consortium, Inc. ("ISC")
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
#include <cctype>
#include <cerrno>
#include <climits>
+#include <cstdint>
#include <cstdlib>
#include <string>
#include <netconf/parser_context.h>
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::netconf::ParserContext::fatal(msg)
-#line 1505 "netconf_lexer.cc"
+#line 1506 "netconf_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
can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */
/* for errors */
-#line 97 "netconf_lexer.ll"
+#line 98 "netconf_lexer.ll"
/* This code run each time a pattern is matched. It updates the location
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 1531 "netconf_lexer.cc"
#line 1532 "netconf_lexer.cc"
+#line 1533 "netconf_lexer.cc"
#define INITIAL 0
#define COMMENT 1
{
/* %% [7.0] user's declarations go here */
-#line 103 "netconf_lexer.ll"
+#line 104 "netconf_lexer.ll"
-#line 107 "netconf_lexer.ll"
+#line 108 "netconf_lexer.ll"
/* This part of the code is copied over to the verbatim to the top
of the generated yylex function. Explanation:
http://www.gnu.org/software/bison/manual/html_node/Multiple-start_002dsymbols.html */
}
-#line 1846 "netconf_lexer.cc"
+#line 1847 "netconf_lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
case 1:
YY_RULE_SETUP
-#line 134 "netconf_lexer.ll"
+#line 135 "netconf_lexer.ll"
;
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 136 "netconf_lexer.ll"
+#line 137 "netconf_lexer.ll"
;
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 138 "netconf_lexer.ll"
+#line 139 "netconf_lexer.ll"
{
BEGIN(COMMENT);
comment_start_line = driver.loc_.end.line;;
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 143 "netconf_lexer.ll"
+#line 144 "netconf_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 144 "netconf_lexer.ll"
+#line 145 "netconf_lexer.ll"
;
YY_BREAK
case YY_STATE_EOF(COMMENT):
-#line 145 "netconf_lexer.ll"
+#line 146 "netconf_lexer.ll"
{
isc_throw(ParseError, "Comment not closed. (/* in line " << comment_start_line);
}
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 149 "netconf_lexer.ll"
+#line 150 "netconf_lexer.ll"
BEGIN(DIR_ENTER);
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 150 "netconf_lexer.ll"
+#line 151 "netconf_lexer.ll"
BEGIN(DIR_INCLUDE);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 151 "netconf_lexer.ll"
+#line 152 "netconf_lexer.ll"
{
/* Include directive. */
case YY_STATE_EOF(DIR_ENTER):
case YY_STATE_EOF(DIR_INCLUDE):
case YY_STATE_EOF(DIR_EXIT):
-#line 160 "netconf_lexer.ll"
+#line 161 "netconf_lexer.ll"
{
isc_throw(ParseError, "Directive not closed.");
}
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 163 "netconf_lexer.ll"
+#line 164 "netconf_lexer.ll"
BEGIN(INITIAL);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 166 "netconf_lexer.ll"
+#line 167 "netconf_lexer.ll"
{
/* Ok, we found a with space. Let's ignore it and update loc variable. */
driver.loc_.step();
case 11:
/* rule 11 can match eol */
YY_RULE_SETUP
-#line 171 "netconf_lexer.ll"
+#line 172 "netconf_lexer.ll"
{
/* Newline found. Let's update the location and continue. */
driver.loc_.lines(yyleng);
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 178 "netconf_lexer.ll"
+#line 179 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CONFIG:
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 187 "netconf_lexer.ll"
+#line 188 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::NETCONF:
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 199 "netconf_lexer.ll"
+#line 200 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::NETCONF:
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 211 "netconf_lexer.ll"
+#line 212 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::NETCONF:
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 221 "netconf_lexer.ll"
+#line 222 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::NETCONF:
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 231 "netconf_lexer.ll"
+#line 232 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::NETCONF:
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 241 "netconf_lexer.ll"
+#line 242 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::NETCONF:
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 250 "netconf_lexer.ll"
+#line 251 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::MANAGED_SERVERS:
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 259 "netconf_lexer.ll"
+#line 260 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::MANAGED_SERVERS:
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 268 "netconf_lexer.ll"
+#line 269 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::MANAGED_SERVERS:
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 277 "netconf_lexer.ll"
+#line 278 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::MANAGED_SERVERS:
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 286 "netconf_lexer.ll"
+#line 287 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::SERVER:
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 295 "netconf_lexer.ll"
+#line 296 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::SERVER:
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 304 "netconf_lexer.ll"
+#line 305 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::SOCKET_TYPE:
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 313 "netconf_lexer.ll"
+#line 314 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::SOCKET_TYPE:
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 322 "netconf_lexer.ll"
+#line 323 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::SOCKET_TYPE:
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 331 "netconf_lexer.ll"
+#line 332 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKET:
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 340 "netconf_lexer.ll"
+#line 341 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKET:
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 349 "netconf_lexer.ll"
+#line 350 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::CONTROL_SOCKET:
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 358 "netconf_lexer.ll"
+#line 359 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::NETCONF:
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 367 "netconf_lexer.ll"
+#line 368 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::HOOKS_LIBRARIES:
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 376 "netconf_lexer.ll"
+#line 377 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::HOOKS_LIBRARIES:
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 385 "netconf_lexer.ll"
+#line 386 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::NETCONF:
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 394 "netconf_lexer.ll"
+#line 395 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::LOGGERS:
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 403 "netconf_lexer.ll"
+#line 404 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::LOGGERS:
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 412 "netconf_lexer.ll"
+#line 413 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 421 "netconf_lexer.ll"
+#line 422 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 430 "netconf_lexer.ll"
+#line 431 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 439 "netconf_lexer.ll"
+#line 440 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 448 "netconf_lexer.ll"
+#line 449 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::OUTPUT_OPTIONS:
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 457 "netconf_lexer.ll"
+#line 458 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::LOGGERS:
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 466 "netconf_lexer.ll"
+#line 467 "netconf_lexer.ll"
{
switch(driver.ctx_) {
case ParserContext::LOGGERS:
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 475 "netconf_lexer.ll"
+#line 476 "netconf_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.
case 45:
/* rule 45 can match eol */
YY_RULE_SETUP
-#line 576 "netconf_lexer.ll"
+#line 577 "netconf_lexer.ll"
{
/* Bad string with a forbidden control character inside */
std::string raw(yytext+1);
case 46:
/* rule 46 can match eol */
YY_RULE_SETUP
-#line 592 "netconf_lexer.ll"
+#line 593 "netconf_lexer.ll"
{
/* Bad string with a bad escape inside */
std::string raw(yytext+1);
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 641 "netconf_lexer.ll"
+#line 642 "netconf_lexer.ll"
{
/* Bad string with an open escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 649 "netconf_lexer.ll"
+#line 650 "netconf_lexer.ll"
{
/* Bad string with an open unicode escape at the end */
std::string raw(yytext+1);
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 664 "netconf_lexer.ll"
+#line 665 "netconf_lexer.ll"
{ return NetconfParser::make_LSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 665 "netconf_lexer.ll"
+#line 666 "netconf_lexer.ll"
{ return NetconfParser::make_RSQUARE_BRACKET(driver.loc_); }
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 666 "netconf_lexer.ll"
+#line 667 "netconf_lexer.ll"
{ return NetconfParser::make_LCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 667 "netconf_lexer.ll"
+#line 668 "netconf_lexer.ll"
{ return NetconfParser::make_RCURLY_BRACKET(driver.loc_); }
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 668 "netconf_lexer.ll"
+#line 669 "netconf_lexer.ll"
{ return NetconfParser::make_COMMA(driver.loc_); }
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 669 "netconf_lexer.ll"
+#line 670 "netconf_lexer.ll"
{ return NetconfParser::make_COLON(driver.loc_); }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 671 "netconf_lexer.ll"
+#line 672 "netconf_lexer.ll"
{
/* An integer was found. */
std::string tmp(yytext);
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 689 "netconf_lexer.ll"
+#line 690 "netconf_lexer.ll"
{
/* A floating point was found. */
std::string tmp(yytext);
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 702 "netconf_lexer.ll"
+#line 703 "netconf_lexer.ll"
{
string tmp(yytext);
return NetconfParser::make_BOOLEAN(tmp == "true", driver.loc_);
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 707 "netconf_lexer.ll"
+#line 708 "netconf_lexer.ll"
{
return NetconfParser::make_NULL_TYPE(driver.loc_);
}
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 711 "netconf_lexer.ll"
+#line 712 "netconf_lexer.ll"
driver.error (driver.loc_, "JSON true reserved keyword is lower case only");
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 713 "netconf_lexer.ll"
+#line 714 "netconf_lexer.ll"
driver.error (driver.loc_, "JSON false reserved keyword is lower case only");
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 715 "netconf_lexer.ll"
+#line 716 "netconf_lexer.ll"
driver.error (driver.loc_, "JSON null reserved keyword is lower case only");
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 717 "netconf_lexer.ll"
+#line 718 "netconf_lexer.ll"
driver.error (driver.loc_, "Invalid character: " + std::string(yytext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 719 "netconf_lexer.ll"
+#line 720 "netconf_lexer.ll"
{
if (driver.states_.empty()) {
return NetconfParser::make_END(driver.loc_);
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 742 "netconf_lexer.ll"
+#line 743 "netconf_lexer.ll"
ECHO;
YY_BREAK
-#line 2741 "netconf_lexer.cc"
+#line 2742 "netconf_lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 742 "netconf_lexer.ll"
+#line 743 "netconf_lexer.ll"
using namespace isc::dhcp;
static const flex_int16_t yy_rule_linenum[63] =
{ 0,
- 106, 111, 117, 127, 133, 151, 175, 189, 190, 191,
- 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
- 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
- 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
- 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
- 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
- 242, 243
+ 107, 112, 118, 128, 134, 152, 176, 190, 191, 192,
+ 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
+ 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
+ 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
+ 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
+ 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
+ 243, 244
} ;
/* The intent behind this definition is that it'll catch
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "lexer.ll"
-/* Copyright (C) 2015-2022 Internet Systems Consortium, Inc. ("ISC")
+/* Copyright (C) 2015-2023 Internet Systems Consortium, Inc. ("ISC")
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
#include <cerrno>
#include <climits>
+#include <cstdint>
#include <cstdlib>
#include <string>
#include <eval/eval_context.h>
/* To avoid the call to exit... oops! */
#define YY_FATAL_ERROR(msg) isc::eval::EvalContext::fatal(msg)
-#line 1044 "lexer.cc"
+#line 1045 "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
/* These are not token expressions yet, just convenience expressions that
can be used during actual token definitions. Note some can match
incorrect inputs (e.g., IP addresses) which must be checked. */
-#line 80 "lexer.ll"
+#line 81 "lexer.ll"
/* This code run each time a pattern is matched. It updates the location
by moving it ahead by yyleng bytes. yyleng specifies the length of the
currently matched token. */
#define YY_USER_ACTION loc.columns(evalleng);
-#line 1069 "lexer.cc"
#line 1070 "lexer.cc"
+#line 1071 "lexer.cc"
#define INITIAL 0
{
/* %% [7.0] user's declarations go here */
-#line 86 "lexer.ll"
+#line 87 "lexer.ll"
-#line 90 "lexer.ll"
+#line 91 "lexer.ll"
/* Code run each time evallex is called. */
loc.step();
-#line 1369 "lexer.cc"
+#line 1370 "lexer.cc"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
case 1:
YY_RULE_SETUP
-#line 106 "lexer.ll"
+#line 107 "lexer.ll"
{
/* Ok, we found a with space. Let's ignore it and update loc variable. */
loc.step();
case 2:
/* rule 2 can match eol */
YY_RULE_SETUP
-#line 111 "lexer.ll"
+#line 112 "lexer.ll"
{
/* Newline found. Let's update the location and continue. */
loc.lines(evalleng);
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 117 "lexer.ll"
+#line 118 "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.
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 127 "lexer.ll"
+#line 128 "lexer.ll"
{
/* A hex string has been matched. It contains the '0x' or '0X' header
followed by at least one hexadecimal digit. */
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 133 "lexer.ll"
+#line 134 "lexer.ll"
{
/* An integer was found. */
std::string tmp(evaltext);
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 151 "lexer.ll"
+#line 152 "lexer.ll"
{
/* This string specifies option name starting with a letter
and further containing letters, digits, hyphens and
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 175 "lexer.ll"
+#line 176 "lexer.ll"
{
/* IPv4 or IPv6 address */
std::string tmp(evaltext);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 189 "lexer.ll"
+#line 190 "lexer.ll"
return isc::eval::EvalParser::make_EQUAL(loc);
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 190 "lexer.ll"
+#line 191 "lexer.ll"
return isc::eval::EvalParser::make_OPTION(loc);
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 191 "lexer.ll"
+#line 192 "lexer.ll"
return isc::eval::EvalParser::make_RELAY4(loc);
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 192 "lexer.ll"
+#line 193 "lexer.ll"
return isc::eval::EvalParser::make_RELAY6(loc);
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 193 "lexer.ll"
+#line 194 "lexer.ll"
return isc::eval::EvalParser::make_PEERADDR(loc);
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 194 "lexer.ll"
+#line 195 "lexer.ll"
return isc::eval::EvalParser::make_LINKADDR(loc);
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 195 "lexer.ll"
+#line 196 "lexer.ll"
return isc::eval::EvalParser::make_TEXT(loc);
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 196 "lexer.ll"
+#line 197 "lexer.ll"
return isc::eval::EvalParser::make_HEX(loc);
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 197 "lexer.ll"
+#line 198 "lexer.ll"
return isc::eval::EvalParser::make_EXISTS(loc);
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 198 "lexer.ll"
+#line 199 "lexer.ll"
return isc::eval::EvalParser::make_PKT(loc);
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 199 "lexer.ll"
+#line 200 "lexer.ll"
return isc::eval::EvalParser::make_IFACE(loc);
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 200 "lexer.ll"
+#line 201 "lexer.ll"
return isc::eval::EvalParser::make_SRC(loc);
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 201 "lexer.ll"
+#line 202 "lexer.ll"
return isc::eval::EvalParser::make_DST(loc);
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 202 "lexer.ll"
+#line 203 "lexer.ll"
return isc::eval::EvalParser::make_LEN(loc);
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 203 "lexer.ll"
+#line 204 "lexer.ll"
return isc::eval::EvalParser::make_PKT4(loc);
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 204 "lexer.ll"
+#line 205 "lexer.ll"
return isc::eval::EvalParser::make_CHADDR(loc);
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 205 "lexer.ll"
+#line 206 "lexer.ll"
return isc::eval::EvalParser::make_HLEN(loc);
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 206 "lexer.ll"
+#line 207 "lexer.ll"
return isc::eval::EvalParser::make_HTYPE(loc);
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 207 "lexer.ll"
+#line 208 "lexer.ll"
return isc::eval::EvalParser::make_CIADDR(loc);
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 208 "lexer.ll"
+#line 209 "lexer.ll"
return isc::eval::EvalParser::make_GIADDR(loc);
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 209 "lexer.ll"
+#line 210 "lexer.ll"
return isc::eval::EvalParser::make_YIADDR(loc);
YY_BREAK
case 29:
YY_RULE_SETUP
-#line 210 "lexer.ll"
+#line 211 "lexer.ll"
return isc::eval::EvalParser::make_SIADDR(loc);
YY_BREAK
case 30:
YY_RULE_SETUP
-#line 211 "lexer.ll"
+#line 212 "lexer.ll"
return isc::eval::EvalParser::make_PKT6(loc);
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 212 "lexer.ll"
+#line 213 "lexer.ll"
return isc::eval::EvalParser::make_MSGTYPE(loc);
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 213 "lexer.ll"
+#line 214 "lexer.ll"
return isc::eval::EvalParser::make_TRANSID(loc);
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 214 "lexer.ll"
+#line 215 "lexer.ll"
return isc::eval::EvalParser::make_VENDOR(loc);
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 215 "lexer.ll"
+#line 216 "lexer.ll"
return isc::eval::EvalParser::make_VENDOR_CLASS(loc);
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 216 "lexer.ll"
+#line 217 "lexer.ll"
return isc::eval::EvalParser::make_DATA(loc);
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 217 "lexer.ll"
+#line 218 "lexer.ll"
return isc::eval::EvalParser::make_ENTERPRISE(loc);
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 218 "lexer.ll"
+#line 219 "lexer.ll"
return isc::eval::EvalParser::make_SUBSTRING(loc);
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 219 "lexer.ll"
+#line 220 "lexer.ll"
return isc::eval::EvalParser::make_SPLIT(loc);
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 220 "lexer.ll"
+#line 221 "lexer.ll"
return isc::eval::EvalParser::make_ALL(loc);
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 221 "lexer.ll"
+#line 222 "lexer.ll"
return isc::eval::EvalParser::make_CONCAT(loc);
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 222 "lexer.ll"
+#line 223 "lexer.ll"
return isc::eval::EvalParser::make_IFELSE(loc);
YY_BREAK
case 42:
YY_RULE_SETUP
-#line 223 "lexer.ll"
+#line 224 "lexer.ll"
return isc::eval::EvalParser::make_TOHEXSTRING(loc);
YY_BREAK
case 43:
YY_RULE_SETUP
-#line 224 "lexer.ll"
+#line 225 "lexer.ll"
return isc::eval::EvalParser::make_ADDRTOTEXT(loc);
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 225 "lexer.ll"
+#line 226 "lexer.ll"
return isc::eval::EvalParser::make_INT8TOTEXT(loc);
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 226 "lexer.ll"
+#line 227 "lexer.ll"
return isc::eval::EvalParser::make_INT16TOTEXT(loc);
YY_BREAK
case 46:
YY_RULE_SETUP
-#line 227 "lexer.ll"
+#line 228 "lexer.ll"
return isc::eval::EvalParser::make_INT32TOTEXT(loc);
YY_BREAK
case 47:
YY_RULE_SETUP
-#line 228 "lexer.ll"
+#line 229 "lexer.ll"
return isc::eval::EvalParser::make_UINT8TOTEXT(loc);
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 229 "lexer.ll"
+#line 230 "lexer.ll"
return isc::eval::EvalParser::make_UINT16TOTEXT(loc);
YY_BREAK
case 49:
YY_RULE_SETUP
-#line 230 "lexer.ll"
+#line 231 "lexer.ll"
return isc::eval::EvalParser::make_UINT32TOTEXT(loc);
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 231 "lexer.ll"
+#line 232 "lexer.ll"
return isc::eval::EvalParser::make_NOT(loc);
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 232 "lexer.ll"
+#line 233 "lexer.ll"
return isc::eval::EvalParser::make_AND(loc);
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 233 "lexer.ll"
+#line 234 "lexer.ll"
return isc::eval::EvalParser::make_OR(loc);
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 234 "lexer.ll"
+#line 235 "lexer.ll"
return isc::eval::EvalParser::make_MEMBER(loc);
YY_BREAK
case 54:
YY_RULE_SETUP
-#line 235 "lexer.ll"
+#line 236 "lexer.ll"
return isc::eval::EvalParser::make_DOT(loc);
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 236 "lexer.ll"
+#line 237 "lexer.ll"
return isc::eval::EvalParser::make_LPAREN(loc);
YY_BREAK
case 56:
YY_RULE_SETUP
-#line 237 "lexer.ll"
+#line 238 "lexer.ll"
return isc::eval::EvalParser::make_RPAREN(loc);
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 238 "lexer.ll"
+#line 239 "lexer.ll"
return isc::eval::EvalParser::make_LBRACKET(loc);
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 239 "lexer.ll"
+#line 240 "lexer.ll"
return isc::eval::EvalParser::make_RBRACKET(loc);
YY_BREAK
case 59:
YY_RULE_SETUP
-#line 240 "lexer.ll"
+#line 241 "lexer.ll"
return isc::eval::EvalParser::make_COMA(loc);
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 241 "lexer.ll"
+#line 242 "lexer.ll"
return isc::eval::EvalParser::make_ANY(loc);
YY_BREAK
case 61:
YY_RULE_SETUP
-#line 242 "lexer.ll"
+#line 243 "lexer.ll"
return isc::eval::EvalParser::make_PLUS(loc);
YY_BREAK
case 62:
YY_RULE_SETUP
-#line 243 "lexer.ll"
+#line 244 "lexer.ll"
driver.error (loc, "Invalid character: " + std::string(evaltext));
YY_BREAK
case YY_STATE_EOF(INITIAL):
-#line 244 "lexer.ll"
+#line 245 "lexer.ll"
return isc::eval::EvalParser::make_END(loc);
YY_BREAK
case 63:
YY_RULE_SETUP
-#line 245 "lexer.ll"
+#line 246 "lexer.ll"
ECHO;
YY_BREAK
-#line 1849 "lexer.cc"
+#line 1850 "lexer.cc"
case YY_END_OF_BUFFER:
{
/* %ok-for-header */
-#line 245 "lexer.ll"
+#line 246 "lexer.ll"
using namespace isc::eval;
+// Generated 202308031547
// A Bison parser, made by GNU Bison 3.8.2.
// Locations for Bison parsers in C++