Browse Source

[master] Regenerated parser files after merge of 5108.

Marcin Siodelski 7 years ago
parent
commit
1b27ce48cf

+ 1 - 1
src/bin/agent/location.hh

@@ -1,4 +1,4 @@
-// Generated 201707051400
+// Generated 201707141119
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++

+ 1 - 1
src/bin/agent/position.hh

@@ -1,4 +1,4 @@
-// Generated 201707051400
+// Generated 201707141119
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++

+ 1 - 1
src/bin/agent/stack.hh

@@ -1,4 +1,4 @@
-// Generated 201707051400
+// Generated 201707141119
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++

File diff suppressed because it is too large
+ 339 - 699
src/bin/d2/d2_lexer.cc


File diff suppressed because it is too large
+ 528 - 502
src/bin/d2/d2_parser.cc


+ 84 - 73
src/bin/d2/d2_parser.h

@@ -351,48 +351,49 @@ namespace isc { namespace d2 {
         TOKEN_NULL_TYPE = 264,
         TOKEN_DHCP6 = 265,
         TOKEN_DHCP4 = 266,
-        TOKEN_DHCPDDNS = 267,
-        TOKEN_IP_ADDRESS = 268,
-        TOKEN_PORT = 269,
-        TOKEN_DNS_SERVER_TIMEOUT = 270,
-        TOKEN_NCR_PROTOCOL = 271,
-        TOKEN_UDP = 272,
-        TOKEN_TCP = 273,
-        TOKEN_NCR_FORMAT = 274,
-        TOKEN_JSON = 275,
-        TOKEN_FORWARD_DDNS = 276,
-        TOKEN_REVERSE_DDNS = 277,
-        TOKEN_DDNS_DOMAINS = 278,
-        TOKEN_KEY_NAME = 279,
-        TOKEN_DNS_SERVERS = 280,
-        TOKEN_HOSTNAME = 281,
-        TOKEN_TSIG_KEYS = 282,
-        TOKEN_ALGORITHM = 283,
-        TOKEN_DIGEST_BITS = 284,
-        TOKEN_SECRET = 285,
-        TOKEN_LOGGING = 286,
-        TOKEN_LOGGERS = 287,
-        TOKEN_NAME = 288,
-        TOKEN_OUTPUT_OPTIONS = 289,
-        TOKEN_OUTPUT = 290,
-        TOKEN_DEBUGLEVEL = 291,
-        TOKEN_SEVERITY = 292,
-        TOKEN_FLUSH = 293,
-        TOKEN_MAXSIZE = 294,
-        TOKEN_MAXVER = 295,
-        TOKEN_TOPLEVEL_JSON = 296,
-        TOKEN_TOPLEVEL_DHCPDDNS = 297,
-        TOKEN_SUB_DHCPDDNS = 298,
-        TOKEN_SUB_TSIG_KEY = 299,
-        TOKEN_SUB_TSIG_KEYS = 300,
-        TOKEN_SUB_DDNS_DOMAIN = 301,
-        TOKEN_SUB_DDNS_DOMAINS = 302,
-        TOKEN_SUB_DNS_SERVER = 303,
-        TOKEN_SUB_DNS_SERVERS = 304,
-        TOKEN_STRING = 305,
-        TOKEN_INTEGER = 306,
-        TOKEN_FLOAT = 307,
-        TOKEN_BOOLEAN = 308
+        TOKEN_CONTROL_AGENT = 267,
+        TOKEN_DHCPDDNS = 268,
+        TOKEN_IP_ADDRESS = 269,
+        TOKEN_PORT = 270,
+        TOKEN_DNS_SERVER_TIMEOUT = 271,
+        TOKEN_NCR_PROTOCOL = 272,
+        TOKEN_UDP = 273,
+        TOKEN_TCP = 274,
+        TOKEN_NCR_FORMAT = 275,
+        TOKEN_JSON = 276,
+        TOKEN_FORWARD_DDNS = 277,
+        TOKEN_REVERSE_DDNS = 278,
+        TOKEN_DDNS_DOMAINS = 279,
+        TOKEN_KEY_NAME = 280,
+        TOKEN_DNS_SERVERS = 281,
+        TOKEN_HOSTNAME = 282,
+        TOKEN_TSIG_KEYS = 283,
+        TOKEN_ALGORITHM = 284,
+        TOKEN_DIGEST_BITS = 285,
+        TOKEN_SECRET = 286,
+        TOKEN_LOGGING = 287,
+        TOKEN_LOGGERS = 288,
+        TOKEN_NAME = 289,
+        TOKEN_OUTPUT_OPTIONS = 290,
+        TOKEN_OUTPUT = 291,
+        TOKEN_DEBUGLEVEL = 292,
+        TOKEN_SEVERITY = 293,
+        TOKEN_FLUSH = 294,
+        TOKEN_MAXSIZE = 295,
+        TOKEN_MAXVER = 296,
+        TOKEN_TOPLEVEL_JSON = 297,
+        TOKEN_TOPLEVEL_DHCPDDNS = 298,
+        TOKEN_SUB_DHCPDDNS = 299,
+        TOKEN_SUB_TSIG_KEY = 300,
+        TOKEN_SUB_TSIG_KEYS = 301,
+        TOKEN_SUB_DDNS_DOMAIN = 302,
+        TOKEN_SUB_DDNS_DOMAINS = 303,
+        TOKEN_SUB_DNS_SERVER = 304,
+        TOKEN_SUB_DNS_SERVERS = 305,
+        TOKEN_STRING = 306,
+        TOKEN_INTEGER = 307,
+        TOKEN_FLOAT = 308,
+        TOKEN_BOOLEAN = 309
       };
     };
 
@@ -549,6 +550,10 @@ namespace isc { namespace d2 {
 
     static inline
     symbol_type
+    make_CONTROL_AGENT (const location_type& l);
+
+    static inline
+    symbol_type
     make_DHCPDDNS (const location_type& l);
 
     static inline
@@ -920,12 +925,12 @@ namespace isc { namespace d2 {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 247,     ///< Last index in yytable_.
-      yynnts_ = 131,  ///< Number of nonterminal symbols.
+      yylast_ = 252,     ///< Last index in yytable_.
+      yynnts_ = 133,  ///< Number of nonterminal symbols.
       yyfinal_ = 20, ///< Termination state number.
       yyterror_ = 1,
       yyerrcode_ = 256,
-      yyntokens_ = 54  ///< Number of tokens.
+      yyntokens_ = 55  ///< Number of tokens.
     };
 
 
@@ -972,9 +977,9 @@ namespace isc { namespace d2 {
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,    53
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54
     };
-    const unsigned int user_token_number_max_ = 308;
+    const unsigned int user_token_number_max_ = 309;
     const token_number_type undef_token_ = 2;
 
     if (static_cast<int>(t) <= yyeof_)
@@ -1007,24 +1012,24 @@ namespace isc { namespace d2 {
   {
       switch (other.type_get ())
     {
-      case 65: // value
-      case 92: // ncr_protocol_value
+      case 66: // value
+      case 93: // ncr_protocol_value
         value.copy< ElementPtr > (other.value);
         break;
 
-      case 53: // "boolean"
+      case 54: // "boolean"
         value.copy< bool > (other.value);
         break;
 
-      case 52: // "floating point"
+      case 53: // "floating point"
         value.copy< double > (other.value);
         break;
 
-      case 51: // "integer"
+      case 52: // "integer"
         value.copy< int64_t > (other.value);
         break;
 
-      case 50: // "constant string"
+      case 51: // "constant string"
         value.copy< std::string > (other.value);
         break;
 
@@ -1045,24 +1050,24 @@ namespace isc { namespace d2 {
     (void) v;
       switch (this->type_get ())
     {
-      case 65: // value
-      case 92: // ncr_protocol_value
+      case 66: // value
+      case 93: // ncr_protocol_value
         value.copy< ElementPtr > (v);
         break;
 
-      case 53: // "boolean"
+      case 54: // "boolean"
         value.copy< bool > (v);
         break;
 
-      case 52: // "floating point"
+      case 53: // "floating point"
         value.copy< double > (v);
         break;
 
-      case 51: // "integer"
+      case 52: // "integer"
         value.copy< int64_t > (v);
         break;
 
-      case 50: // "constant string"
+      case 51: // "constant string"
         value.copy< std::string > (v);
         break;
 
@@ -1142,24 +1147,24 @@ namespace isc { namespace d2 {
     // Type destructor.
     switch (yytype)
     {
-      case 65: // value
-      case 92: // ncr_protocol_value
+      case 66: // value
+      case 93: // ncr_protocol_value
         value.template destroy< ElementPtr > ();
         break;
 
-      case 53: // "boolean"
+      case 54: // "boolean"
         value.template destroy< bool > ();
         break;
 
-      case 52: // "floating point"
+      case 53: // "floating point"
         value.template destroy< double > ();
         break;
 
-      case 51: // "integer"
+      case 52: // "integer"
         value.template destroy< int64_t > ();
         break;
 
-      case 50: // "constant string"
+      case 51: // "constant string"
         value.template destroy< std::string > ();
         break;
 
@@ -1186,24 +1191,24 @@ namespace isc { namespace d2 {
     super_type::move(s);
       switch (this->type_get ())
     {
-      case 65: // value
-      case 92: // ncr_protocol_value
+      case 66: // value
+      case 93: // ncr_protocol_value
         value.move< ElementPtr > (s.value);
         break;
 
-      case 53: // "boolean"
+      case 54: // "boolean"
         value.move< bool > (s.value);
         break;
 
-      case 52: // "floating point"
+      case 53: // "floating point"
         value.move< double > (s.value);
         break;
 
-      case 51: // "integer"
+      case 52: // "integer"
         value.move< int64_t > (s.value);
         break;
 
-      case 50: // "constant string"
+      case 51: // "constant string"
         value.move< std::string > (s.value);
         break;
 
@@ -1267,7 +1272,7 @@ namespace isc { namespace d2 {
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
-     305,   306,   307,   308
+     305,   306,   307,   308,   309
     };
     return static_cast<token_type> (yytoken_number_[type]);
   }
@@ -1333,6 +1338,12 @@ namespace isc { namespace d2 {
   }
 
   D2Parser::symbol_type
+  D2Parser::make_CONTROL_AGENT (const location_type& l)
+  {
+    return symbol_type (token::TOKEN_CONTROL_AGENT, l);
+  }
+
+  D2Parser::symbol_type
   D2Parser::make_DHCPDDNS (const location_type& l)
   {
     return symbol_type (token::TOKEN_DHCPDDNS, l);
@@ -1587,7 +1598,7 @@ namespace isc { namespace d2 {
 
 #line 14 "d2_parser.yy" // lalr1.cc:377
 } } // isc::d2
-#line 1591 "d2_parser.h" // lalr1.cc:377
+#line 1602 "d2_parser.h" // lalr1.cc:377
 
 
 

+ 1 - 1
src/bin/d2/location.hh

@@ -1,4 +1,4 @@
-// Generated 201705171457
+// Generated 201707141118
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++

+ 1 - 1
src/bin/d2/position.hh

@@ -1,4 +1,4 @@
-// Generated 201705171457
+// Generated 201707141118
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++

+ 1 - 1
src/bin/d2/stack.hh

@@ -1,4 +1,4 @@
-// Generated 201705171457
+// Generated 201707141118
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++

File diff suppressed because it is too large
+ 742 - 725
src/bin/dhcp4/dhcp4_lexer.cc


File diff suppressed because it is too large
+ 1221 - 1197
src/bin/dhcp4/dhcp4_parser.cc


+ 77 - 66
src/bin/dhcp4/dhcp4_parser.h

@@ -472,21 +472,22 @@ namespace isc { namespace dhcp {
         TOKEN_MAXVER = 380,
         TOKEN_DHCP6 = 381,
         TOKEN_DHCPDDNS = 382,
-        TOKEN_TOPLEVEL_JSON = 383,
-        TOKEN_TOPLEVEL_DHCP4 = 384,
-        TOKEN_SUB_DHCP4 = 385,
-        TOKEN_SUB_INTERFACES4 = 386,
-        TOKEN_SUB_SUBNET4 = 387,
-        TOKEN_SUB_POOL4 = 388,
-        TOKEN_SUB_RESERVATION = 389,
-        TOKEN_SUB_OPTION_DEF = 390,
-        TOKEN_SUB_OPTION_DATA = 391,
-        TOKEN_SUB_HOOKS_LIBRARY = 392,
-        TOKEN_SUB_DHCP_DDNS = 393,
-        TOKEN_STRING = 394,
-        TOKEN_INTEGER = 395,
-        TOKEN_FLOAT = 396,
-        TOKEN_BOOLEAN = 397
+        TOKEN_CONTROL_AGENT = 383,
+        TOKEN_TOPLEVEL_JSON = 384,
+        TOKEN_TOPLEVEL_DHCP4 = 385,
+        TOKEN_SUB_DHCP4 = 386,
+        TOKEN_SUB_INTERFACES4 = 387,
+        TOKEN_SUB_SUBNET4 = 388,
+        TOKEN_SUB_POOL4 = 389,
+        TOKEN_SUB_RESERVATION = 390,
+        TOKEN_SUB_OPTION_DEF = 391,
+        TOKEN_SUB_OPTION_DATA = 392,
+        TOKEN_SUB_HOOKS_LIBRARY = 393,
+        TOKEN_SUB_DHCP_DDNS = 394,
+        TOKEN_STRING = 395,
+        TOKEN_INTEGER = 396,
+        TOKEN_FLOAT = 397,
+        TOKEN_BOOLEAN = 398
       };
     };
 
@@ -1107,6 +1108,10 @@ namespace isc { namespace dhcp {
 
     static inline
     symbol_type
+    make_CONTROL_AGENT (const location_type& l);
+
+    static inline
+    symbol_type
     make_TOPLEVEL_JSON (const location_type& l);
 
     static inline
@@ -1370,12 +1375,12 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 743,     ///< Last index in yytable_.
-      yynnts_ = 315,  ///< Number of nonterminal symbols.
+      yylast_ = 748,     ///< Last index in yytable_.
+      yynnts_ = 317,  ///< Number of nonterminal symbols.
       yyfinal_ = 24, ///< Termination state number.
       yyterror_ = 1,
       yyerrcode_ = 256,
-      yyntokens_ = 143  ///< Number of tokens.
+      yyntokens_ = 144  ///< Number of tokens.
     };
 
 
@@ -1431,9 +1436,9 @@ namespace isc { namespace dhcp {
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
-     135,   136,   137,   138,   139,   140,   141,   142
+     135,   136,   137,   138,   139,   140,   141,   142,   143
     };
-    const unsigned int user_token_number_max_ = 397;
+    const unsigned int user_token_number_max_ = 398;
     const token_number_type undef_token_ = 2;
 
     if (static_cast<int>(t) <= yyeof_)
@@ -1466,29 +1471,29 @@ namespace isc { namespace dhcp {
   {
       switch (other.type_get ())
     {
-      case 156: // value
-      case 160: // map_value
-      case 198: // socket_type
-      case 208: // db_type
-      case 285: // hr_mode
-      case 417: // ncr_protocol_value
-      case 425: // replace_client_name_value
+      case 157: // value
+      case 161: // map_value
+      case 199: // socket_type
+      case 209: // db_type
+      case 286: // hr_mode
+      case 418: // ncr_protocol_value
+      case 426: // replace_client_name_value
         value.copy< ElementPtr > (other.value);
         break;
 
-      case 142: // "boolean"
+      case 143: // "boolean"
         value.copy< bool > (other.value);
         break;
 
-      case 141: // "floating point"
+      case 142: // "floating point"
         value.copy< double > (other.value);
         break;
 
-      case 140: // "integer"
+      case 141: // "integer"
         value.copy< int64_t > (other.value);
         break;
 
-      case 139: // "constant string"
+      case 140: // "constant string"
         value.copy< std::string > (other.value);
         break;
 
@@ -1509,29 +1514,29 @@ namespace isc { namespace dhcp {
     (void) v;
       switch (this->type_get ())
     {
-      case 156: // value
-      case 160: // map_value
-      case 198: // socket_type
-      case 208: // db_type
-      case 285: // hr_mode
-      case 417: // ncr_protocol_value
-      case 425: // replace_client_name_value
+      case 157: // value
+      case 161: // map_value
+      case 199: // socket_type
+      case 209: // db_type
+      case 286: // hr_mode
+      case 418: // ncr_protocol_value
+      case 426: // replace_client_name_value
         value.copy< ElementPtr > (v);
         break;
 
-      case 142: // "boolean"
+      case 143: // "boolean"
         value.copy< bool > (v);
         break;
 
-      case 141: // "floating point"
+      case 142: // "floating point"
         value.copy< double > (v);
         break;
 
-      case 140: // "integer"
+      case 141: // "integer"
         value.copy< int64_t > (v);
         break;
 
-      case 139: // "constant string"
+      case 140: // "constant string"
         value.copy< std::string > (v);
         break;
 
@@ -1611,29 +1616,29 @@ namespace isc { namespace dhcp {
     // Type destructor.
     switch (yytype)
     {
-      case 156: // value
-      case 160: // map_value
-      case 198: // socket_type
-      case 208: // db_type
-      case 285: // hr_mode
-      case 417: // ncr_protocol_value
-      case 425: // replace_client_name_value
+      case 157: // value
+      case 161: // map_value
+      case 199: // socket_type
+      case 209: // db_type
+      case 286: // hr_mode
+      case 418: // ncr_protocol_value
+      case 426: // replace_client_name_value
         value.template destroy< ElementPtr > ();
         break;
 
-      case 142: // "boolean"
+      case 143: // "boolean"
         value.template destroy< bool > ();
         break;
 
-      case 141: // "floating point"
+      case 142: // "floating point"
         value.template destroy< double > ();
         break;
 
-      case 140: // "integer"
+      case 141: // "integer"
         value.template destroy< int64_t > ();
         break;
 
-      case 139: // "constant string"
+      case 140: // "constant string"
         value.template destroy< std::string > ();
         break;
 
@@ -1660,29 +1665,29 @@ namespace isc { namespace dhcp {
     super_type::move(s);
       switch (this->type_get ())
     {
-      case 156: // value
-      case 160: // map_value
-      case 198: // socket_type
-      case 208: // db_type
-      case 285: // hr_mode
-      case 417: // ncr_protocol_value
-      case 425: // replace_client_name_value
+      case 157: // value
+      case 161: // map_value
+      case 199: // socket_type
+      case 209: // db_type
+      case 286: // hr_mode
+      case 418: // ncr_protocol_value
+      case 426: // replace_client_name_value
         value.move< ElementPtr > (s.value);
         break;
 
-      case 142: // "boolean"
+      case 143: // "boolean"
         value.move< bool > (s.value);
         break;
 
-      case 141: // "floating point"
+      case 142: // "floating point"
         value.move< double > (s.value);
         break;
 
-      case 140: // "integer"
+      case 141: // "integer"
         value.move< int64_t > (s.value);
         break;
 
-      case 139: // "constant string"
+      case 140: // "constant string"
         value.move< std::string > (s.value);
         break;
 
@@ -1755,7 +1760,7 @@ namespace isc { namespace dhcp {
      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
-     395,   396,   397
+     395,   396,   397,   398
     };
     return static_cast<token_type> (yytoken_number_[type]);
   }
@@ -2517,6 +2522,12 @@ namespace isc { namespace dhcp {
   }
 
   Dhcp4Parser::symbol_type
+  Dhcp4Parser::make_CONTROL_AGENT (const location_type& l)
+  {
+    return symbol_type (token::TOKEN_CONTROL_AGENT, l);
+  }
+
+  Dhcp4Parser::symbol_type
   Dhcp4Parser::make_TOPLEVEL_JSON (const location_type& l)
   {
     return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
@@ -2609,7 +2620,7 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp4_parser.yy" // lalr1.cc:377
 } } // isc::dhcp
-#line 2613 "dhcp4_parser.h" // lalr1.cc:377
+#line 2624 "dhcp4_parser.h" // lalr1.cc:377
 
 
 

+ 1 - 1
src/bin/dhcp4/location.hh

@@ -1,4 +1,4 @@
-// Generated 201707061111
+// Generated 201707141116
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++

+ 1 - 1
src/bin/dhcp4/position.hh

@@ -1,4 +1,4 @@
-// Generated 201707061111
+// Generated 201707141116
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++

+ 1 - 1
src/bin/dhcp4/stack.hh

@@ -1,4 +1,4 @@
-// Generated 201707061111
+// Generated 201707141116
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++

File diff suppressed because it is too large
+ 728 - 711
src/bin/dhcp6/dhcp6_lexer.cc


File diff suppressed because it is too large
+ 1263 - 1241
src/bin/dhcp6/dhcp6_parser.cc


+ 78 - 67
src/bin/dhcp6/dhcp6_parser.h

@@ -479,22 +479,23 @@ namespace isc { namespace dhcp {
         TOKEN_MAXVER = 387,
         TOKEN_DHCP4 = 388,
         TOKEN_DHCPDDNS = 389,
-        TOKEN_TOPLEVEL_JSON = 390,
-        TOKEN_TOPLEVEL_DHCP6 = 391,
-        TOKEN_SUB_DHCP6 = 392,
-        TOKEN_SUB_INTERFACES6 = 393,
-        TOKEN_SUB_SUBNET6 = 394,
-        TOKEN_SUB_POOL6 = 395,
-        TOKEN_SUB_PD_POOL = 396,
-        TOKEN_SUB_RESERVATION = 397,
-        TOKEN_SUB_OPTION_DEF = 398,
-        TOKEN_SUB_OPTION_DATA = 399,
-        TOKEN_SUB_HOOKS_LIBRARY = 400,
-        TOKEN_SUB_DHCP_DDNS = 401,
-        TOKEN_STRING = 402,
-        TOKEN_INTEGER = 403,
-        TOKEN_FLOAT = 404,
-        TOKEN_BOOLEAN = 405
+        TOKEN_CONTROL_AGENT = 390,
+        TOKEN_TOPLEVEL_JSON = 391,
+        TOKEN_TOPLEVEL_DHCP6 = 392,
+        TOKEN_SUB_DHCP6 = 393,
+        TOKEN_SUB_INTERFACES6 = 394,
+        TOKEN_SUB_SUBNET6 = 395,
+        TOKEN_SUB_POOL6 = 396,
+        TOKEN_SUB_PD_POOL = 397,
+        TOKEN_SUB_RESERVATION = 398,
+        TOKEN_SUB_OPTION_DEF = 399,
+        TOKEN_SUB_OPTION_DATA = 400,
+        TOKEN_SUB_HOOKS_LIBRARY = 401,
+        TOKEN_SUB_DHCP_DDNS = 402,
+        TOKEN_STRING = 403,
+        TOKEN_INTEGER = 404,
+        TOKEN_FLOAT = 405,
+        TOKEN_BOOLEAN = 406
       };
     };
 
@@ -1143,6 +1144,10 @@ namespace isc { namespace dhcp {
 
     static inline
     symbol_type
+    make_CONTROL_AGENT (const location_type& l);
+
+    static inline
+    symbol_type
     make_TOPLEVEL_JSON (const location_type& l);
 
     static inline
@@ -1410,12 +1415,12 @@ namespace isc { namespace dhcp {
     enum
     {
       yyeof_ = 0,
-      yylast_ = 795,     ///< Last index in yytable_.
-      yynnts_ = 332,  ///< Number of nonterminal symbols.
+      yylast_ = 800,     ///< Last index in yytable_.
+      yynnts_ = 334,  ///< Number of nonterminal symbols.
       yyfinal_ = 26, ///< Termination state number.
       yyterror_ = 1,
       yyerrcode_ = 256,
-      yyntokens_ = 151  ///< Number of tokens.
+      yyntokens_ = 152  ///< Number of tokens.
     };
 
 
@@ -1472,9 +1477,9 @@ namespace isc { namespace dhcp {
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,   146,   147,   148,   149,   150
+     145,   146,   147,   148,   149,   150,   151
     };
-    const unsigned int user_token_number_max_ = 405;
+    const unsigned int user_token_number_max_ = 406;
     const token_number_type undef_token_ = 2;
 
     if (static_cast<int>(t) <= yyeof_)
@@ -1507,29 +1512,29 @@ namespace isc { namespace dhcp {
   {
       switch (other.type_get ())
     {
-      case 165: // value
-      case 169: // map_value
-      case 213: // db_type
-      case 289: // hr_mode
-      case 409: // duid_type
-      case 442: // ncr_protocol_value
-      case 450: // replace_client_name_value
+      case 166: // value
+      case 170: // map_value
+      case 214: // db_type
+      case 290: // hr_mode
+      case 410: // duid_type
+      case 443: // ncr_protocol_value
+      case 451: // replace_client_name_value
         value.copy< ElementPtr > (other.value);
         break;
 
-      case 150: // "boolean"
+      case 151: // "boolean"
         value.copy< bool > (other.value);
         break;
 
-      case 149: // "floating point"
+      case 150: // "floating point"
         value.copy< double > (other.value);
         break;
 
-      case 148: // "integer"
+      case 149: // "integer"
         value.copy< int64_t > (other.value);
         break;
 
-      case 147: // "constant string"
+      case 148: // "constant string"
         value.copy< std::string > (other.value);
         break;
 
@@ -1550,29 +1555,29 @@ namespace isc { namespace dhcp {
     (void) v;
       switch (this->type_get ())
     {
-      case 165: // value
-      case 169: // map_value
-      case 213: // db_type
-      case 289: // hr_mode
-      case 409: // duid_type
-      case 442: // ncr_protocol_value
-      case 450: // replace_client_name_value
+      case 166: // value
+      case 170: // map_value
+      case 214: // db_type
+      case 290: // hr_mode
+      case 410: // duid_type
+      case 443: // ncr_protocol_value
+      case 451: // replace_client_name_value
         value.copy< ElementPtr > (v);
         break;
 
-      case 150: // "boolean"
+      case 151: // "boolean"
         value.copy< bool > (v);
         break;
 
-      case 149: // "floating point"
+      case 150: // "floating point"
         value.copy< double > (v);
         break;
 
-      case 148: // "integer"
+      case 149: // "integer"
         value.copy< int64_t > (v);
         break;
 
-      case 147: // "constant string"
+      case 148: // "constant string"
         value.copy< std::string > (v);
         break;
 
@@ -1652,29 +1657,29 @@ namespace isc { namespace dhcp {
     // Type destructor.
     switch (yytype)
     {
-      case 165: // value
-      case 169: // map_value
-      case 213: // db_type
-      case 289: // hr_mode
-      case 409: // duid_type
-      case 442: // ncr_protocol_value
-      case 450: // replace_client_name_value
+      case 166: // value
+      case 170: // map_value
+      case 214: // db_type
+      case 290: // hr_mode
+      case 410: // duid_type
+      case 443: // ncr_protocol_value
+      case 451: // replace_client_name_value
         value.template destroy< ElementPtr > ();
         break;
 
-      case 150: // "boolean"
+      case 151: // "boolean"
         value.template destroy< bool > ();
         break;
 
-      case 149: // "floating point"
+      case 150: // "floating point"
         value.template destroy< double > ();
         break;
 
-      case 148: // "integer"
+      case 149: // "integer"
         value.template destroy< int64_t > ();
         break;
 
-      case 147: // "constant string"
+      case 148: // "constant string"
         value.template destroy< std::string > ();
         break;
 
@@ -1701,29 +1706,29 @@ namespace isc { namespace dhcp {
     super_type::move(s);
       switch (this->type_get ())
     {
-      case 165: // value
-      case 169: // map_value
-      case 213: // db_type
-      case 289: // hr_mode
-      case 409: // duid_type
-      case 442: // ncr_protocol_value
-      case 450: // replace_client_name_value
+      case 166: // value
+      case 170: // map_value
+      case 214: // db_type
+      case 290: // hr_mode
+      case 410: // duid_type
+      case 443: // ncr_protocol_value
+      case 451: // replace_client_name_value
         value.move< ElementPtr > (s.value);
         break;
 
-      case 150: // "boolean"
+      case 151: // "boolean"
         value.move< bool > (s.value);
         break;
 
-      case 149: // "floating point"
+      case 150: // "floating point"
         value.move< double > (s.value);
         break;
 
-      case 148: // "integer"
+      case 149: // "integer"
         value.move< int64_t > (s.value);
         break;
 
-      case 147: // "constant string"
+      case 148: // "constant string"
         value.move< std::string > (s.value);
         break;
 
@@ -1797,7 +1802,7 @@ namespace isc { namespace dhcp {
      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
-     405
+     405,   406
     };
     return static_cast<token_type> (yytoken_number_[type]);
   }
@@ -2601,6 +2606,12 @@ namespace isc { namespace dhcp {
   }
 
   Dhcp6Parser::symbol_type
+  Dhcp6Parser::make_CONTROL_AGENT (const location_type& l)
+  {
+    return symbol_type (token::TOKEN_CONTROL_AGENT, l);
+  }
+
+  Dhcp6Parser::symbol_type
   Dhcp6Parser::make_TOPLEVEL_JSON (const location_type& l)
   {
     return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
@@ -2699,7 +2710,7 @@ namespace isc { namespace dhcp {
 
 #line 14 "dhcp6_parser.yy" // lalr1.cc:377
 } } // isc::dhcp
-#line 2703 "dhcp6_parser.h" // lalr1.cc:377
+#line 2714 "dhcp6_parser.h" // lalr1.cc:377
 
 
 

+ 1 - 1
src/bin/dhcp6/location.hh

@@ -1,4 +1,4 @@
-// Generated 201707061112
+// Generated 201707141117
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Locations for Bison parsers in C++

+ 1 - 1
src/bin/dhcp6/position.hh

@@ -1,4 +1,4 @@
-// Generated 201707061112
+// Generated 201707141117
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Positions for Bison parsers in C++

+ 1 - 1
src/bin/dhcp6/stack.hh

@@ -1,4 +1,4 @@
-// Generated 201707061112
+// Generated 201707141117
 // A Bison parser, made by GNU Bison 3.0.4.
 
 // Stack handling for Bison parsers in C++