1 // A Bison parser, made by GNU Bison 3.8.2. 2 3 // Skeleton interface for Bison LALR(1) parsers in C++ 4 5 // Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc. 6 7 // This program is free software: you can redistribute it and/or modify 8 // it under the terms of the GNU General Public License as published by 9 // the Free Software Foundation, either version 3 of the License, or 10 // (at your option) any later version. 11 12 // This program is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 // GNU General Public License for more details. 16 17 // You should have received a copy of the GNU General Public License 18 // along with this program. If not, see <https://www.gnu.org/licenses/>. 19 20 // As a special exception, you may create a larger work that contains 21 // part or all of the Bison parser skeleton and distribute that work 22 // under terms of your choice, so long as that work isn't itself a 23 // parser generator using the skeleton or a modified version thereof 24 // as a parser skeleton. Alternatively, if you modify or redistribute 25 // the parser skeleton itself, you may (at your option) remove this 26 // special exception, which will cause the skeleton and the resulting 27 // Bison output files to be licensed under the GNU General Public 28 // License without this special exception. 29 30 // This special exception was added by the Free Software Foundation in 31 // version 2.2 of Bison. 32 33 34 /** 35 ** \file dhcp6_parser.h 36 ** Define the isc::dhcp::parser class. 37 */ 38 39 // C++ LALR(1) parser skeleton written by Akim Demaille. 40 41 // DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, 42 // especially those whose name start with YY_ or yy_. They are 43 // private implementation details that can be changed or removed. 44 45 #ifndef YY_PARSER6_DHCP6_PARSER_H_INCLUDED 46 # define YY_PARSER6_DHCP6_PARSER_H_INCLUDED 47 // "%code requires" blocks. 48 #line 17 "dhcp6_parser.yy" 49 50 #include <string> 51 #include <cc/data.h> 52 #include <dhcp/option.h> 53 #include <boost/lexical_cast.hpp> 54 #include <dhcp6/parser_context_decl.h> 55 56 using namespace isc::dhcp; 57 using namespace isc::data; 58 using namespace std; 59 60 #line 61 "dhcp6_parser.h" 61 62 # include <cassert> 63 # include <cstdlib> // std::abort 64 # include <iostream> 65 # include <stdexcept> 66 # include <string> 67 # include <vector> 68 69 #if defined __cplusplus 70 # define YY_CPLUSPLUS __cplusplus 71 #else 72 # define YY_CPLUSPLUS 199711L 73 #endif 74 75 // Support move semantics when possible. 76 #if 201103L <= YY_CPLUSPLUS 77 # define YY_MOVE std::move 78 # define YY_MOVE_OR_COPY move 79 # define YY_MOVE_REF(Type) Type&& 80 # define YY_RVREF(Type) Type&& 81 # define YY_COPY(Type) Type 82 #else 83 # define YY_MOVE 84 # define YY_MOVE_OR_COPY copy 85 # define YY_MOVE_REF(Type) Type& 86 # define YY_RVREF(Type) const Type& 87 # define YY_COPY(Type) const Type& 88 #endif 89 90 // Support noexcept when possible. 91 #if 201103L <= YY_CPLUSPLUS 92 # define YY_NOEXCEPT noexcept 93 # define YY_NOTHROW 94 #else 95 # define YY_NOEXCEPT 96 # define YY_NOTHROW throw () 97 #endif 98 99 // Support constexpr when possible. 100 #if 201703 <= YY_CPLUSPLUS 101 # define YY_CONSTEXPR constexpr 102 #else 103 # define YY_CONSTEXPR 104 #endif 105 # include "location.hh" 106 #include <typeinfo> 107 #ifndef PARSER6__ASSERT 108 # include <cassert> 109 # define PARSER6__ASSERT assert 110 #endif 111 112 113 #ifndef YY_ATTRIBUTE_PURE 114 # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) 115 # define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) 116 # else 117 # define YY_ATTRIBUTE_PURE 118 # endif 119 #endif 120 121 #ifndef YY_ATTRIBUTE_UNUSED 122 # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) 123 # define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) 124 # else 125 # define YY_ATTRIBUTE_UNUSED 126 # endif 127 #endif 128 129 /* Suppress unused-variable warnings by "using" E. */ 130 #if ! defined lint || defined __GNUC__ 131 # define YY_USE(E) ((void) (E)) 132 #else 133 # define YY_USE(E) /* empty */ 134 #endif 135 136 /* Suppress an incorrect diagnostic about yylval being uninitialized. */ 137 #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ 138 # if __GNUC__ * 100 + __GNUC_MINOR__ < 407 139 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 140 _Pragma ("GCC diagnostic push") \ 141 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") 142 # else 143 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 144 _Pragma ("GCC diagnostic push") \ 145 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ 146 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 147 # endif 148 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 149 _Pragma ("GCC diagnostic pop") 150 #else 151 # define YY_INITIAL_VALUE(Value) Value 152 #endif 153 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 154 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 155 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 156 #endif 157 #ifndef YY_INITIAL_VALUE 158 # define YY_INITIAL_VALUE(Value) /* Nothing. */ 159 #endif 160 161 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ 162 # define YY_IGNORE_USELESS_CAST_BEGIN \ 163 _Pragma ("GCC diagnostic push") \ 164 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") 165 # define YY_IGNORE_USELESS_CAST_END \ 166 _Pragma ("GCC diagnostic pop") 167 #endif 168 #ifndef YY_IGNORE_USELESS_CAST_BEGIN 169 # define YY_IGNORE_USELESS_CAST_BEGIN 170 # define YY_IGNORE_USELESS_CAST_END 171 #endif 172 173 # ifndef YY_CAST 174 # ifdef __cplusplus 175 # define YY_CAST(Type, Val) static_cast<Type> (Val) 176 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val) 177 # else 178 # define YY_CAST(Type, Val) ((Type) (Val)) 179 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) 180 # endif 181 # endif 182 # ifndef YY_NULLPTR 183 # if defined __cplusplus 184 # if 201103L <= __cplusplus 185 # define YY_NULLPTR nullptr 186 # else 187 # define YY_NULLPTR 0 188 # endif 189 # else 190 # define YY_NULLPTR ((void*)0) 191 # endif 192 # endif 193 194 /* Debug traces. */ 195 #ifndef PARSER6_DEBUG 196 # if defined YYDEBUG 197 #if YYDEBUG 198 # define PARSER6_DEBUG 1 199 # else 200 # define PARSER6_DEBUG 0 201 # endif 202 # else /* ! defined YYDEBUG */ 203 # define PARSER6_DEBUG 1 204 # endif /* ! defined YYDEBUG */ 205 #endif /* ! defined PARSER6_DEBUG */ 206 207 #line 14 "dhcp6_parser.yy" 208 namespace isc { namespace dhcp { 209 #line 210 "dhcp6_parser.h" 210 211 212 213 214 /// A Bison parser. 215 class Dhcp6Parser 216 { 217 public: 218 #ifdef PARSER6_STYPE 219 # ifdef __GNUC__ 220 # pragma GCC message "bison: do not #define PARSER6_STYPE in C++, use %define api.value.type" 221 # endif 222 typedef PARSER6_STYPE value_type; 223 #else 224 /// A buffer to store and retrieve objects. 225 /// 226 /// Sort of a variant, but does not keep track of the nature 227 /// of the stored data, since that knowledge is available 228 /// via the current parser state. 229 class value_type 230 { 231 public: 232 /// Type of *this. 233 typedef value_type self_type; 234 235 /// Empty construction. 236 value_type () YY_NOEXCEPT 237 : yyraw_ () 238 , yytypeid_ (YY_NULLPTR) 239 {} 240 241 /// Construct and fill. 242 template <typename T> 243 value_type (YY_RVREF (T) t) 244 : yytypeid_ (&typeid (T)) 245 { 246 PARSER6__ASSERT (sizeof (T) <= size); 247 new (yyas_<T> ()) T (YY_MOVE (t)); 248 } 249 250 #if 201103L <= YY_CPLUSPLUS 251 /// Non copyable. 252 value_type (const self_type&) = delete; 253 /// Non copyable. 254 self_type& operator= (const self_type&) = delete; 255 #endif 256 257 /// Destruction, allowed only if empty. 258 ~value_type () YY_NOEXCEPT 259 { 260 PARSER6__ASSERT (!yytypeid_); 261 } 262 263 # if 201103L <= YY_CPLUSPLUS 264 /// Instantiate a \a T in here from \a t. 265 template <typename T, typename... U> 266 T& 267 emplace (U&&... u) 268 { 269 PARSER6__ASSERT (!yytypeid_); 270 PARSER6__ASSERT (sizeof (T) <= size); 271 yytypeid_ = & typeid (T); 272 return *new (yyas_<T> ()) T (std::forward <U>(u)...); 273 } 274 # else 275 /// Instantiate an empty \a T in here. 276 template <typename T> 277 T& 278 emplace () 279 { 280 PARSER6__ASSERT (!yytypeid_); 281 PARSER6__ASSERT (sizeof (T) <= size); 282 yytypeid_ = & typeid (T); 283 return *new (yyas_<T> ()) T (); 284 } 285 286 /// Instantiate a \a T in here from \a t. 287 template <typename T> 288 T& 289 emplace (const T& t) 290 { 291 PARSER6__ASSERT (!yytypeid_); 292 PARSER6__ASSERT (sizeof (T) <= size); 293 yytypeid_ = & typeid (T); 294 return *new (yyas_<T> ()) T (t); 295 } 296 # endif 297 298 /// Instantiate an empty \a T in here. 299 /// Obsolete, use emplace. 300 template <typename T> 301 T& 302 build () 303 { 304 return emplace<T> (); 305 } 306 307 /// Instantiate a \a T in here from \a t. 308 /// Obsolete, use emplace. 309 template <typename T> 310 T& 311 build (const T& t) 312 { 313 return emplace<T> (t); 314 } 315 316 /// Accessor to a built \a T. 317 template <typename T> 318 T& 319 as () YY_NOEXCEPT 320 { 321 PARSER6__ASSERT (yytypeid_); 322 PARSER6__ASSERT (*yytypeid_ == typeid (T)); 323 PARSER6__ASSERT (sizeof (T) <= size); 324 return *yyas_<T> (); 325 } 326 327 /// Const accessor to a built \a T (for %printer). 328 template <typename T> 329 const T& 330 as () const YY_NOEXCEPT 331 { 332 PARSER6__ASSERT (yytypeid_); 333 PARSER6__ASSERT (*yytypeid_ == typeid (T)); 334 PARSER6__ASSERT (sizeof (T) <= size); 335 return *yyas_<T> (); 336 } 337 338 /// Swap the content with \a that, of same type. 339 /// 340 /// Both variants must be built beforehand, because swapping the actual 341 /// data requires reading it (with as()), and this is not possible on 342 /// unconstructed variants: it would require some dynamic testing, which 343 /// should not be the variant's responsibility. 344 /// Swapping between built and (possibly) non-built is done with 345 /// self_type::move (). 346 template <typename T> 347 void 348 swap (self_type& that) YY_NOEXCEPT 349 { 350 PARSER6__ASSERT (yytypeid_); 351 PARSER6__ASSERT (*yytypeid_ == *that.yytypeid_); 352 std::swap (as<T> (), that.as<T> ()); 353 } 354 355 /// Move the content of \a that to this. 356 /// 357 /// Destroys \a that. 358 template <typename T> 359 void 360 move (self_type& that) 361 { 362 # if 201103L <= YY_CPLUSPLUS 363 emplace<T> (std::move (that.as<T> ())); 364 # else 365 emplace<T> (); 366 swap<T> (that); 367 # endif 368 that.destroy<T> (); 369 } 370 371 # if 201103L <= YY_CPLUSPLUS 372 /// Move the content of \a that to this. 373 template <typename T> 374 void 375 move (self_type&& that) 376 { 377 emplace<T> (std::move (that.as<T> ())); 378 that.destroy<T> (); 379 } 380 #endif 381 382 /// Copy the content of \a that to this. 383 template <typename T> 384 void 385 copy (const self_type& that) 386 { 387 emplace<T> (that.as<T> ()); 388 } 389 390 /// Destroy the stored \a T. 391 template <typename T> 392 void 393 destroy () 394 { 395 as<T> ().~T (); 396 yytypeid_ = YY_NULLPTR; 397 } 398 399 private: 400 #if YY_CPLUSPLUS < 201103L 401 /// Non copyable. 402 value_type (const self_type&); 403 /// Non copyable. 404 self_type& operator= (const self_type&); 405 #endif 406 407 /// Accessor to raw memory as \a T. 408 template <typename T> 409 T* 410 yyas_ () YY_NOEXCEPT 411 { 412 void *yyp = yyraw_; 413 return static_cast<T*> (yyp); 414 } 415 416 /// Const accessor to raw memory as \a T. 417 template <typename T> 418 const T* 419 yyas_ () const YY_NOEXCEPT 420 { 421 const void *yyp = yyraw_; 422 return static_cast<const T*> (yyp); 423 } 424 425 /// An auxiliary type to compute the largest semantic type. 426 union union_type 427 { 428 // value 429 // map_value 430 // ddns_replace_client_name_value 431 // db_type 432 // on_fail_mode 433 // hr_mode 434 // duid_type 435 // ncr_protocol_value 436 char dummy1[sizeof (ElementPtr)]; 437 438 // "boolean" 439 char dummy2[sizeof (bool)]; 440 441 // "floating point" 442 char dummy3[sizeof (double)]; 443 444 // "integer" 445 char dummy4[sizeof (int64_t)]; 446 447 // "constant string" 448 char dummy5[sizeof (std::string)]; 449 }; 450 451 /// The size of the largest semantic type. 452 enum { size = sizeof (union_type) }; 453 454 /// A buffer to store semantic values. 455 union 456 { 457 /// Strongest alignment constraints. 458 long double yyalign_me_; 459 /// A buffer large enough to store any of the semantic values. 460 char yyraw_[size]; 461 }; 462 463 /// Whether the content is built: if defined, the name of the stored type. 464 const std::type_info *yytypeid_; 465 }; 466 467 #endif 468 /// Backward compatibility (Bison 3.8). 469 typedef value_type semantic_type; 470 471 /// Symbol locations. 472 typedef location location_type; 473 474 /// Syntax errors thrown from user actions. 475 struct syntax_error : std::runtime_error 476 { syntax_errorsyntax_error477 syntax_error (const location_type& l, const std::string& m) 478 : std::runtime_error (m) 479 , location (l) 480 {} 481 syntax_errorsyntax_error482 syntax_error (const syntax_error& s) 483 : std::runtime_error (s.what ()) 484 , location (s.location) 485 {} 486 487 ~syntax_error () YY_NOEXCEPT YY_NOTHROW; 488 489 location_type location; 490 }; 491 492 /// Token kinds. 493 struct token 494 { 495 enum token_kind_type 496 { 497 TOKEN_PARSER6_EMPTY = -2, 498 TOKEN_END = 0, // "end of file" 499 TOKEN_PARSER6_error = 256, // error 500 TOKEN_PARSER6_UNDEF = 257, // "invalid token" 501 TOKEN_COMMA = 258, // "," 502 TOKEN_COLON = 259, // ":" 503 TOKEN_LSQUARE_BRACKET = 260, // "[" 504 TOKEN_RSQUARE_BRACKET = 261, // "]" 505 TOKEN_LCURLY_BRACKET = 262, // "{" 506 TOKEN_RCURLY_BRACKET = 263, // "}" 507 TOKEN_NULL_TYPE = 264, // "null" 508 TOKEN_DHCP6 = 265, // "Dhcp6" 509 TOKEN_DATA_DIRECTORY = 266, // "data-directory" 510 TOKEN_CONFIG_CONTROL = 267, // "config-control" 511 TOKEN_CONFIG_DATABASES = 268, // "config-databases" 512 TOKEN_CONFIG_FETCH_WAIT_TIME = 269, // "config-fetch-wait-time" 513 TOKEN_INTERFACES_CONFIG = 270, // "interfaces-config" 514 TOKEN_INTERFACES = 271, // "interfaces" 515 TOKEN_RE_DETECT = 272, // "re-detect" 516 TOKEN_LEASE_DATABASE = 273, // "lease-database" 517 TOKEN_HOSTS_DATABASE = 274, // "hosts-database" 518 TOKEN_HOSTS_DATABASES = 275, // "hosts-databases" 519 TOKEN_TYPE = 276, // "type" 520 TOKEN_MEMFILE = 277, // "memfile" 521 TOKEN_MYSQL = 278, // "mysql" 522 TOKEN_POSTGRESQL = 279, // "postgresql" 523 TOKEN_CQL = 280, // "cql" 524 TOKEN_USER = 281, // "user" 525 TOKEN_PASSWORD = 282, // "password" 526 TOKEN_HOST = 283, // "host" 527 TOKEN_PORT = 284, // "port" 528 TOKEN_PERSIST = 285, // "persist" 529 TOKEN_LFC_INTERVAL = 286, // "lfc-interval" 530 TOKEN_READONLY = 287, // "readonly" 531 TOKEN_CONNECT_TIMEOUT = 288, // "connect-timeout" 532 TOKEN_CONTACT_POINTS = 289, // "contact-points" 533 TOKEN_MAX_RECONNECT_TRIES = 290, // "max-reconnect-tries" 534 TOKEN_RECONNECT_WAIT_TIME = 291, // "reconnect-wait-time" 535 TOKEN_ON_FAIL = 292, // "on-fail" 536 TOKEN_STOP_RETRY_EXIT = 293, // "stop-retry-exit" 537 TOKEN_SERVE_RETRY_EXIT = 294, // "serve-retry-exit" 538 TOKEN_SERVE_RETRY_CONTINUE = 295, // "serve-retry-continue" 539 TOKEN_KEYSPACE = 296, // "keyspace" 540 TOKEN_CONSISTENCY = 297, // "consistency" 541 TOKEN_SERIAL_CONSISTENCY = 298, // "serial-consistency" 542 TOKEN_REQUEST_TIMEOUT = 299, // "request-timeout" 543 TOKEN_TCP_KEEPALIVE = 300, // "tcp-keepalive" 544 TOKEN_TCP_NODELAY = 301, // "tcp-nodelay" 545 TOKEN_MAX_ROW_ERRORS = 302, // "max-row-errors" 546 TOKEN_PREFERRED_LIFETIME = 303, // "preferred-lifetime" 547 TOKEN_MIN_PREFERRED_LIFETIME = 304, // "min-preferred-lifetime" 548 TOKEN_MAX_PREFERRED_LIFETIME = 305, // "max-preferred-lifetime" 549 TOKEN_VALID_LIFETIME = 306, // "valid-lifetime" 550 TOKEN_MIN_VALID_LIFETIME = 307, // "min-valid-lifetime" 551 TOKEN_MAX_VALID_LIFETIME = 308, // "max-valid-lifetime" 552 TOKEN_RENEW_TIMER = 309, // "renew-timer" 553 TOKEN_REBIND_TIMER = 310, // "rebind-timer" 554 TOKEN_CALCULATE_TEE_TIMES = 311, // "calculate-tee-times" 555 TOKEN_T1_PERCENT = 312, // "t1-percent" 556 TOKEN_T2_PERCENT = 313, // "t2-percent" 557 TOKEN_CACHE_THRESHOLD = 314, // "cache-threshold" 558 TOKEN_CACHE_MAX_AGE = 315, // "cache-max-age" 559 TOKEN_DECLINE_PROBATION_PERIOD = 316, // "decline-probation-period" 560 TOKEN_SERVER_TAG = 317, // "server-tag" 561 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 318, // "statistic-default-sample-count" 562 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 319, // "statistic-default-sample-age" 563 TOKEN_DDNS_SEND_UPDATES = 320, // "ddns-send-updates" 564 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 321, // "ddns-override-no-update" 565 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 322, // "ddns-override-client-update" 566 TOKEN_DDNS_REPLACE_CLIENT_NAME = 323, // "ddns-replace-client-name" 567 TOKEN_DDNS_GENERATED_PREFIX = 324, // "ddns-generated-prefix" 568 TOKEN_DDNS_QUALIFYING_SUFFIX = 325, // "ddns-qualifying-suffix" 569 TOKEN_DDNS_UPDATE_ON_RENEW = 326, // "ddns-update-on-renew" 570 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 327, // "ddns-use-conflict-resolution" 571 TOKEN_STORE_EXTENDED_INFO = 328, // "store-extended-info" 572 TOKEN_SUBNET6 = 329, // "subnet6" 573 TOKEN_OPTION_DEF = 330, // "option-def" 574 TOKEN_OPTION_DATA = 331, // "option-data" 575 TOKEN_NAME = 332, // "name" 576 TOKEN_DATA = 333, // "data" 577 TOKEN_CODE = 334, // "code" 578 TOKEN_SPACE = 335, // "space" 579 TOKEN_CSV_FORMAT = 336, // "csv-format" 580 TOKEN_ALWAYS_SEND = 337, // "always-send" 581 TOKEN_RECORD_TYPES = 338, // "record-types" 582 TOKEN_ENCAPSULATE = 339, // "encapsulate" 583 TOKEN_ARRAY = 340, // "array" 584 TOKEN_PARKED_PACKET_LIMIT = 341, // "parked-packet-limit" 585 TOKEN_SHARED_NETWORKS = 342, // "shared-networks" 586 TOKEN_POOLS = 343, // "pools" 587 TOKEN_POOL = 344, // "pool" 588 TOKEN_PD_POOLS = 345, // "pd-pools" 589 TOKEN_PREFIX = 346, // "prefix" 590 TOKEN_PREFIX_LEN = 347, // "prefix-len" 591 TOKEN_EXCLUDED_PREFIX = 348, // "excluded-prefix" 592 TOKEN_EXCLUDED_PREFIX_LEN = 349, // "excluded-prefix-len" 593 TOKEN_DELEGATED_LEN = 350, // "delegated-len" 594 TOKEN_USER_CONTEXT = 351, // "user-context" 595 TOKEN_COMMENT = 352, // "comment" 596 TOKEN_SUBNET = 353, // "subnet" 597 TOKEN_INTERFACE = 354, // "interface" 598 TOKEN_INTERFACE_ID = 355, // "interface-id" 599 TOKEN_ID = 356, // "id" 600 TOKEN_RAPID_COMMIT = 357, // "rapid-commit" 601 TOKEN_RESERVATION_MODE = 358, // "reservation-mode" 602 TOKEN_DISABLED = 359, // "disabled" 603 TOKEN_OUT_OF_POOL = 360, // "out-of-pool" 604 TOKEN_GLOBAL = 361, // "global" 605 TOKEN_ALL = 362, // "all" 606 TOKEN_RESERVATIONS_GLOBAL = 363, // "reservations-global" 607 TOKEN_RESERVATIONS_IN_SUBNET = 364, // "reservations-in-subnet" 608 TOKEN_RESERVATIONS_OUT_OF_POOL = 365, // "reservations-out-of-pool" 609 TOKEN_MAC_SOURCES = 366, // "mac-sources" 610 TOKEN_RELAY_SUPPLIED_OPTIONS = 367, // "relay-supplied-options" 611 TOKEN_HOST_RESERVATION_IDENTIFIERS = 368, // "host-reservation-identifiers" 612 TOKEN_SANITY_CHECKS = 369, // "sanity-checks" 613 TOKEN_LEASE_CHECKS = 370, // "lease-checks" 614 TOKEN_CLIENT_CLASSES = 371, // "client-classes" 615 TOKEN_REQUIRE_CLIENT_CLASSES = 372, // "require-client-classes" 616 TOKEN_TEST = 373, // "test" 617 TOKEN_ONLY_IF_REQUIRED = 374, // "only-if-required" 618 TOKEN_CLIENT_CLASS = 375, // "client-class" 619 TOKEN_RESERVATIONS = 376, // "reservations" 620 TOKEN_IP_ADDRESSES = 377, // "ip-addresses" 621 TOKEN_PREFIXES = 378, // "prefixes" 622 TOKEN_DUID = 379, // "duid" 623 TOKEN_HW_ADDRESS = 380, // "hw-address" 624 TOKEN_HOSTNAME = 381, // "hostname" 625 TOKEN_FLEX_ID = 382, // "flex-id" 626 TOKEN_RELAY = 383, // "relay" 627 TOKEN_IP_ADDRESS = 384, // "ip-address" 628 TOKEN_HOOKS_LIBRARIES = 385, // "hooks-libraries" 629 TOKEN_LIBRARY = 386, // "library" 630 TOKEN_PARAMETERS = 387, // "parameters" 631 TOKEN_EXPIRED_LEASES_PROCESSING = 388, // "expired-leases-processing" 632 TOKEN_RECLAIM_TIMER_WAIT_TIME = 389, // "reclaim-timer-wait-time" 633 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 390, // "flush-reclaimed-timer-wait-time" 634 TOKEN_HOLD_RECLAIMED_TIME = 391, // "hold-reclaimed-time" 635 TOKEN_MAX_RECLAIM_LEASES = 392, // "max-reclaim-leases" 636 TOKEN_MAX_RECLAIM_TIME = 393, // "max-reclaim-time" 637 TOKEN_UNWARNED_RECLAIM_CYCLES = 394, // "unwarned-reclaim-cycles" 638 TOKEN_SERVER_ID = 395, // "server-id" 639 TOKEN_LLT = 396, // "LLT" 640 TOKEN_EN = 397, // "EN" 641 TOKEN_LL = 398, // "LL" 642 TOKEN_IDENTIFIER = 399, // "identifier" 643 TOKEN_HTYPE = 400, // "htype" 644 TOKEN_TIME = 401, // "time" 645 TOKEN_ENTERPRISE_ID = 402, // "enterprise-id" 646 TOKEN_DHCP4O6_PORT = 403, // "dhcp4o6-port" 647 TOKEN_DHCP_MULTI_THREADING = 404, // "multi-threading" 648 TOKEN_ENABLE_MULTI_THREADING = 405, // "enable-multi-threading" 649 TOKEN_THREAD_POOL_SIZE = 406, // "thread-pool-size" 650 TOKEN_PACKET_QUEUE_SIZE = 407, // "packet-queue-size" 651 TOKEN_CONTROL_SOCKET = 408, // "control-socket" 652 TOKEN_SOCKET_TYPE = 409, // "socket-type" 653 TOKEN_SOCKET_NAME = 410, // "socket-name" 654 TOKEN_DHCP_QUEUE_CONTROL = 411, // "dhcp-queue-control" 655 TOKEN_ENABLE_QUEUE = 412, // "enable-queue" 656 TOKEN_QUEUE_TYPE = 413, // "queue-type" 657 TOKEN_CAPACITY = 414, // "capacity" 658 TOKEN_DHCP_DDNS = 415, // "dhcp-ddns" 659 TOKEN_ENABLE_UPDATES = 416, // "enable-updates" 660 TOKEN_QUALIFYING_SUFFIX = 417, // "qualifying-suffix" 661 TOKEN_SERVER_IP = 418, // "server-ip" 662 TOKEN_SERVER_PORT = 419, // "server-port" 663 TOKEN_SENDER_IP = 420, // "sender-ip" 664 TOKEN_SENDER_PORT = 421, // "sender-port" 665 TOKEN_MAX_QUEUE_SIZE = 422, // "max-queue-size" 666 TOKEN_NCR_PROTOCOL = 423, // "ncr-protocol" 667 TOKEN_NCR_FORMAT = 424, // "ncr-format" 668 TOKEN_OVERRIDE_NO_UPDATE = 425, // "override-no-update" 669 TOKEN_OVERRIDE_CLIENT_UPDATE = 426, // "override-client-update" 670 TOKEN_REPLACE_CLIENT_NAME = 427, // "replace-client-name" 671 TOKEN_GENERATED_PREFIX = 428, // "generated-prefix" 672 TOKEN_UDP = 429, // "UDP" 673 TOKEN_TCP = 430, // "TCP" 674 TOKEN_JSON = 431, // "JSON" 675 TOKEN_WHEN_PRESENT = 432, // "when-present" 676 TOKEN_NEVER = 433, // "never" 677 TOKEN_ALWAYS = 434, // "always" 678 TOKEN_WHEN_NOT_PRESENT = 435, // "when-not-present" 679 TOKEN_HOSTNAME_CHAR_SET = 436, // "hostname-char-set" 680 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 437, // "hostname-char-replacement" 681 TOKEN_IP_RESERVATIONS_UNIQUE = 438, // "ip-reservations-unique" 682 TOKEN_LOGGERS = 439, // "loggers" 683 TOKEN_OUTPUT_OPTIONS = 440, // "output_options" 684 TOKEN_OUTPUT = 441, // "output" 685 TOKEN_DEBUGLEVEL = 442, // "debuglevel" 686 TOKEN_SEVERITY = 443, // "severity" 687 TOKEN_FLUSH = 444, // "flush" 688 TOKEN_MAXSIZE = 445, // "maxsize" 689 TOKEN_MAXVER = 446, // "maxver" 690 TOKEN_PATTERN = 447, // "pattern" 691 TOKEN_COMPATIBILITY = 448, // "compatibility" 692 TOKEN_LENIENT_OPTION_PARSING = 449, // "lenient-option-parsing" 693 TOKEN_TOPLEVEL_JSON = 450, // TOPLEVEL_JSON 694 TOKEN_TOPLEVEL_DHCP6 = 451, // TOPLEVEL_DHCP6 695 TOKEN_SUB_DHCP6 = 452, // SUB_DHCP6 696 TOKEN_SUB_INTERFACES6 = 453, // SUB_INTERFACES6 697 TOKEN_SUB_SUBNET6 = 454, // SUB_SUBNET6 698 TOKEN_SUB_POOL6 = 455, // SUB_POOL6 699 TOKEN_SUB_PD_POOL = 456, // SUB_PD_POOL 700 TOKEN_SUB_RESERVATION = 457, // SUB_RESERVATION 701 TOKEN_SUB_OPTION_DEFS = 458, // SUB_OPTION_DEFS 702 TOKEN_SUB_OPTION_DEF = 459, // SUB_OPTION_DEF 703 TOKEN_SUB_OPTION_DATA = 460, // SUB_OPTION_DATA 704 TOKEN_SUB_HOOKS_LIBRARY = 461, // SUB_HOOKS_LIBRARY 705 TOKEN_SUB_DHCP_DDNS = 462, // SUB_DHCP_DDNS 706 TOKEN_SUB_CONFIG_CONTROL = 463, // SUB_CONFIG_CONTROL 707 TOKEN_STRING = 464, // "constant string" 708 TOKEN_INTEGER = 465, // "integer" 709 TOKEN_FLOAT = 466, // "floating point" 710 TOKEN_BOOLEAN = 467 // "boolean" 711 }; 712 /// Backward compatibility alias (Bison 3.6). 713 typedef token_kind_type yytokentype; 714 }; 715 716 /// Token kind, as returned by yylex. 717 typedef token::token_kind_type token_kind_type; 718 719 /// Backward compatibility alias (Bison 3.6). 720 typedef token_kind_type token_type; 721 722 /// Symbol kinds. 723 struct symbol_kind 724 { 725 enum symbol_kind_type 726 { 727 YYNTOKENS = 213, ///< Number of tokens. 728 S_YYEMPTY = -2, 729 S_YYEOF = 0, // "end of file" 730 S_YYerror = 1, // error 731 S_YYUNDEF = 2, // "invalid token" 732 S_COMMA = 3, // "," 733 S_COLON = 4, // ":" 734 S_LSQUARE_BRACKET = 5, // "[" 735 S_RSQUARE_BRACKET = 6, // "]" 736 S_LCURLY_BRACKET = 7, // "{" 737 S_RCURLY_BRACKET = 8, // "}" 738 S_NULL_TYPE = 9, // "null" 739 S_DHCP6 = 10, // "Dhcp6" 740 S_DATA_DIRECTORY = 11, // "data-directory" 741 S_CONFIG_CONTROL = 12, // "config-control" 742 S_CONFIG_DATABASES = 13, // "config-databases" 743 S_CONFIG_FETCH_WAIT_TIME = 14, // "config-fetch-wait-time" 744 S_INTERFACES_CONFIG = 15, // "interfaces-config" 745 S_INTERFACES = 16, // "interfaces" 746 S_RE_DETECT = 17, // "re-detect" 747 S_LEASE_DATABASE = 18, // "lease-database" 748 S_HOSTS_DATABASE = 19, // "hosts-database" 749 S_HOSTS_DATABASES = 20, // "hosts-databases" 750 S_TYPE = 21, // "type" 751 S_MEMFILE = 22, // "memfile" 752 S_MYSQL = 23, // "mysql" 753 S_POSTGRESQL = 24, // "postgresql" 754 S_CQL = 25, // "cql" 755 S_USER = 26, // "user" 756 S_PASSWORD = 27, // "password" 757 S_HOST = 28, // "host" 758 S_PORT = 29, // "port" 759 S_PERSIST = 30, // "persist" 760 S_LFC_INTERVAL = 31, // "lfc-interval" 761 S_READONLY = 32, // "readonly" 762 S_CONNECT_TIMEOUT = 33, // "connect-timeout" 763 S_CONTACT_POINTS = 34, // "contact-points" 764 S_MAX_RECONNECT_TRIES = 35, // "max-reconnect-tries" 765 S_RECONNECT_WAIT_TIME = 36, // "reconnect-wait-time" 766 S_ON_FAIL = 37, // "on-fail" 767 S_STOP_RETRY_EXIT = 38, // "stop-retry-exit" 768 S_SERVE_RETRY_EXIT = 39, // "serve-retry-exit" 769 S_SERVE_RETRY_CONTINUE = 40, // "serve-retry-continue" 770 S_KEYSPACE = 41, // "keyspace" 771 S_CONSISTENCY = 42, // "consistency" 772 S_SERIAL_CONSISTENCY = 43, // "serial-consistency" 773 S_REQUEST_TIMEOUT = 44, // "request-timeout" 774 S_TCP_KEEPALIVE = 45, // "tcp-keepalive" 775 S_TCP_NODELAY = 46, // "tcp-nodelay" 776 S_MAX_ROW_ERRORS = 47, // "max-row-errors" 777 S_PREFERRED_LIFETIME = 48, // "preferred-lifetime" 778 S_MIN_PREFERRED_LIFETIME = 49, // "min-preferred-lifetime" 779 S_MAX_PREFERRED_LIFETIME = 50, // "max-preferred-lifetime" 780 S_VALID_LIFETIME = 51, // "valid-lifetime" 781 S_MIN_VALID_LIFETIME = 52, // "min-valid-lifetime" 782 S_MAX_VALID_LIFETIME = 53, // "max-valid-lifetime" 783 S_RENEW_TIMER = 54, // "renew-timer" 784 S_REBIND_TIMER = 55, // "rebind-timer" 785 S_CALCULATE_TEE_TIMES = 56, // "calculate-tee-times" 786 S_T1_PERCENT = 57, // "t1-percent" 787 S_T2_PERCENT = 58, // "t2-percent" 788 S_CACHE_THRESHOLD = 59, // "cache-threshold" 789 S_CACHE_MAX_AGE = 60, // "cache-max-age" 790 S_DECLINE_PROBATION_PERIOD = 61, // "decline-probation-period" 791 S_SERVER_TAG = 62, // "server-tag" 792 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 63, // "statistic-default-sample-count" 793 S_STATISTIC_DEFAULT_SAMPLE_AGE = 64, // "statistic-default-sample-age" 794 S_DDNS_SEND_UPDATES = 65, // "ddns-send-updates" 795 S_DDNS_OVERRIDE_NO_UPDATE = 66, // "ddns-override-no-update" 796 S_DDNS_OVERRIDE_CLIENT_UPDATE = 67, // "ddns-override-client-update" 797 S_DDNS_REPLACE_CLIENT_NAME = 68, // "ddns-replace-client-name" 798 S_DDNS_GENERATED_PREFIX = 69, // "ddns-generated-prefix" 799 S_DDNS_QUALIFYING_SUFFIX = 70, // "ddns-qualifying-suffix" 800 S_DDNS_UPDATE_ON_RENEW = 71, // "ddns-update-on-renew" 801 S_DDNS_USE_CONFLICT_RESOLUTION = 72, // "ddns-use-conflict-resolution" 802 S_STORE_EXTENDED_INFO = 73, // "store-extended-info" 803 S_SUBNET6 = 74, // "subnet6" 804 S_OPTION_DEF = 75, // "option-def" 805 S_OPTION_DATA = 76, // "option-data" 806 S_NAME = 77, // "name" 807 S_DATA = 78, // "data" 808 S_CODE = 79, // "code" 809 S_SPACE = 80, // "space" 810 S_CSV_FORMAT = 81, // "csv-format" 811 S_ALWAYS_SEND = 82, // "always-send" 812 S_RECORD_TYPES = 83, // "record-types" 813 S_ENCAPSULATE = 84, // "encapsulate" 814 S_ARRAY = 85, // "array" 815 S_PARKED_PACKET_LIMIT = 86, // "parked-packet-limit" 816 S_SHARED_NETWORKS = 87, // "shared-networks" 817 S_POOLS = 88, // "pools" 818 S_POOL = 89, // "pool" 819 S_PD_POOLS = 90, // "pd-pools" 820 S_PREFIX = 91, // "prefix" 821 S_PREFIX_LEN = 92, // "prefix-len" 822 S_EXCLUDED_PREFIX = 93, // "excluded-prefix" 823 S_EXCLUDED_PREFIX_LEN = 94, // "excluded-prefix-len" 824 S_DELEGATED_LEN = 95, // "delegated-len" 825 S_USER_CONTEXT = 96, // "user-context" 826 S_COMMENT = 97, // "comment" 827 S_SUBNET = 98, // "subnet" 828 S_INTERFACE = 99, // "interface" 829 S_INTERFACE_ID = 100, // "interface-id" 830 S_ID = 101, // "id" 831 S_RAPID_COMMIT = 102, // "rapid-commit" 832 S_RESERVATION_MODE = 103, // "reservation-mode" 833 S_DISABLED = 104, // "disabled" 834 S_OUT_OF_POOL = 105, // "out-of-pool" 835 S_GLOBAL = 106, // "global" 836 S_ALL = 107, // "all" 837 S_RESERVATIONS_GLOBAL = 108, // "reservations-global" 838 S_RESERVATIONS_IN_SUBNET = 109, // "reservations-in-subnet" 839 S_RESERVATIONS_OUT_OF_POOL = 110, // "reservations-out-of-pool" 840 S_MAC_SOURCES = 111, // "mac-sources" 841 S_RELAY_SUPPLIED_OPTIONS = 112, // "relay-supplied-options" 842 S_HOST_RESERVATION_IDENTIFIERS = 113, // "host-reservation-identifiers" 843 S_SANITY_CHECKS = 114, // "sanity-checks" 844 S_LEASE_CHECKS = 115, // "lease-checks" 845 S_CLIENT_CLASSES = 116, // "client-classes" 846 S_REQUIRE_CLIENT_CLASSES = 117, // "require-client-classes" 847 S_TEST = 118, // "test" 848 S_ONLY_IF_REQUIRED = 119, // "only-if-required" 849 S_CLIENT_CLASS = 120, // "client-class" 850 S_RESERVATIONS = 121, // "reservations" 851 S_IP_ADDRESSES = 122, // "ip-addresses" 852 S_PREFIXES = 123, // "prefixes" 853 S_DUID = 124, // "duid" 854 S_HW_ADDRESS = 125, // "hw-address" 855 S_HOSTNAME = 126, // "hostname" 856 S_FLEX_ID = 127, // "flex-id" 857 S_RELAY = 128, // "relay" 858 S_IP_ADDRESS = 129, // "ip-address" 859 S_HOOKS_LIBRARIES = 130, // "hooks-libraries" 860 S_LIBRARY = 131, // "library" 861 S_PARAMETERS = 132, // "parameters" 862 S_EXPIRED_LEASES_PROCESSING = 133, // "expired-leases-processing" 863 S_RECLAIM_TIMER_WAIT_TIME = 134, // "reclaim-timer-wait-time" 864 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 135, // "flush-reclaimed-timer-wait-time" 865 S_HOLD_RECLAIMED_TIME = 136, // "hold-reclaimed-time" 866 S_MAX_RECLAIM_LEASES = 137, // "max-reclaim-leases" 867 S_MAX_RECLAIM_TIME = 138, // "max-reclaim-time" 868 S_UNWARNED_RECLAIM_CYCLES = 139, // "unwarned-reclaim-cycles" 869 S_SERVER_ID = 140, // "server-id" 870 S_LLT = 141, // "LLT" 871 S_EN = 142, // "EN" 872 S_LL = 143, // "LL" 873 S_IDENTIFIER = 144, // "identifier" 874 S_HTYPE = 145, // "htype" 875 S_TIME = 146, // "time" 876 S_ENTERPRISE_ID = 147, // "enterprise-id" 877 S_DHCP4O6_PORT = 148, // "dhcp4o6-port" 878 S_DHCP_MULTI_THREADING = 149, // "multi-threading" 879 S_ENABLE_MULTI_THREADING = 150, // "enable-multi-threading" 880 S_THREAD_POOL_SIZE = 151, // "thread-pool-size" 881 S_PACKET_QUEUE_SIZE = 152, // "packet-queue-size" 882 S_CONTROL_SOCKET = 153, // "control-socket" 883 S_SOCKET_TYPE = 154, // "socket-type" 884 S_SOCKET_NAME = 155, // "socket-name" 885 S_DHCP_QUEUE_CONTROL = 156, // "dhcp-queue-control" 886 S_ENABLE_QUEUE = 157, // "enable-queue" 887 S_QUEUE_TYPE = 158, // "queue-type" 888 S_CAPACITY = 159, // "capacity" 889 S_DHCP_DDNS = 160, // "dhcp-ddns" 890 S_ENABLE_UPDATES = 161, // "enable-updates" 891 S_QUALIFYING_SUFFIX = 162, // "qualifying-suffix" 892 S_SERVER_IP = 163, // "server-ip" 893 S_SERVER_PORT = 164, // "server-port" 894 S_SENDER_IP = 165, // "sender-ip" 895 S_SENDER_PORT = 166, // "sender-port" 896 S_MAX_QUEUE_SIZE = 167, // "max-queue-size" 897 S_NCR_PROTOCOL = 168, // "ncr-protocol" 898 S_NCR_FORMAT = 169, // "ncr-format" 899 S_OVERRIDE_NO_UPDATE = 170, // "override-no-update" 900 S_OVERRIDE_CLIENT_UPDATE = 171, // "override-client-update" 901 S_REPLACE_CLIENT_NAME = 172, // "replace-client-name" 902 S_GENERATED_PREFIX = 173, // "generated-prefix" 903 S_UDP = 174, // "UDP" 904 S_TCP = 175, // "TCP" 905 S_JSON = 176, // "JSON" 906 S_WHEN_PRESENT = 177, // "when-present" 907 S_NEVER = 178, // "never" 908 S_ALWAYS = 179, // "always" 909 S_WHEN_NOT_PRESENT = 180, // "when-not-present" 910 S_HOSTNAME_CHAR_SET = 181, // "hostname-char-set" 911 S_HOSTNAME_CHAR_REPLACEMENT = 182, // "hostname-char-replacement" 912 S_IP_RESERVATIONS_UNIQUE = 183, // "ip-reservations-unique" 913 S_LOGGERS = 184, // "loggers" 914 S_OUTPUT_OPTIONS = 185, // "output_options" 915 S_OUTPUT = 186, // "output" 916 S_DEBUGLEVEL = 187, // "debuglevel" 917 S_SEVERITY = 188, // "severity" 918 S_FLUSH = 189, // "flush" 919 S_MAXSIZE = 190, // "maxsize" 920 S_MAXVER = 191, // "maxver" 921 S_PATTERN = 192, // "pattern" 922 S_COMPATIBILITY = 193, // "compatibility" 923 S_LENIENT_OPTION_PARSING = 194, // "lenient-option-parsing" 924 S_TOPLEVEL_JSON = 195, // TOPLEVEL_JSON 925 S_TOPLEVEL_DHCP6 = 196, // TOPLEVEL_DHCP6 926 S_SUB_DHCP6 = 197, // SUB_DHCP6 927 S_SUB_INTERFACES6 = 198, // SUB_INTERFACES6 928 S_SUB_SUBNET6 = 199, // SUB_SUBNET6 929 S_SUB_POOL6 = 200, // SUB_POOL6 930 S_SUB_PD_POOL = 201, // SUB_PD_POOL 931 S_SUB_RESERVATION = 202, // SUB_RESERVATION 932 S_SUB_OPTION_DEFS = 203, // SUB_OPTION_DEFS 933 S_SUB_OPTION_DEF = 204, // SUB_OPTION_DEF 934 S_SUB_OPTION_DATA = 205, // SUB_OPTION_DATA 935 S_SUB_HOOKS_LIBRARY = 206, // SUB_HOOKS_LIBRARY 936 S_SUB_DHCP_DDNS = 207, // SUB_DHCP_DDNS 937 S_SUB_CONFIG_CONTROL = 208, // SUB_CONFIG_CONTROL 938 S_STRING = 209, // "constant string" 939 S_INTEGER = 210, // "integer" 940 S_FLOAT = 211, // "floating point" 941 S_BOOLEAN = 212, // "boolean" 942 S_YYACCEPT = 213, // $accept 943 S_start = 214, // start 944 S_215_1 = 215, // $@1 945 S_216_2 = 216, // $@2 946 S_217_3 = 217, // $@3 947 S_218_4 = 218, // $@4 948 S_219_5 = 219, // $@5 949 S_220_6 = 220, // $@6 950 S_221_7 = 221, // $@7 951 S_222_8 = 222, // $@8 952 S_223_9 = 223, // $@9 953 S_224_10 = 224, // $@10 954 S_225_11 = 225, // $@11 955 S_226_12 = 226, // $@12 956 S_227_13 = 227, // $@13 957 S_228_14 = 228, // $@14 958 S_value = 229, // value 959 S_sub_json = 230, // sub_json 960 S_map2 = 231, // map2 961 S_232_15 = 232, // $@15 962 S_map_value = 233, // map_value 963 S_map_content = 234, // map_content 964 S_not_empty_map = 235, // not_empty_map 965 S_list_generic = 236, // list_generic 966 S_237_16 = 237, // $@16 967 S_list_content = 238, // list_content 968 S_not_empty_list = 239, // not_empty_list 969 S_list_strings = 240, // list_strings 970 S_241_17 = 241, // $@17 971 S_list_strings_content = 242, // list_strings_content 972 S_not_empty_list_strings = 243, // not_empty_list_strings 973 S_unknown_map_entry = 244, // unknown_map_entry 974 S_syntax_map = 245, // syntax_map 975 S_246_18 = 246, // $@18 976 S_global_object = 247, // global_object 977 S_248_19 = 248, // $@19 978 S_sub_dhcp6 = 249, // sub_dhcp6 979 S_250_20 = 250, // $@20 980 S_global_params = 251, // global_params 981 S_global_param = 252, // global_param 982 S_data_directory = 253, // data_directory 983 S_254_21 = 254, // $@21 984 S_preferred_lifetime = 255, // preferred_lifetime 985 S_min_preferred_lifetime = 256, // min_preferred_lifetime 986 S_max_preferred_lifetime = 257, // max_preferred_lifetime 987 S_valid_lifetime = 258, // valid_lifetime 988 S_min_valid_lifetime = 259, // min_valid_lifetime 989 S_max_valid_lifetime = 260, // max_valid_lifetime 990 S_renew_timer = 261, // renew_timer 991 S_rebind_timer = 262, // rebind_timer 992 S_calculate_tee_times = 263, // calculate_tee_times 993 S_t1_percent = 264, // t1_percent 994 S_t2_percent = 265, // t2_percent 995 S_cache_threshold = 266, // cache_threshold 996 S_cache_max_age = 267, // cache_max_age 997 S_decline_probation_period = 268, // decline_probation_period 998 S_ddns_send_updates = 269, // ddns_send_updates 999 S_ddns_override_no_update = 270, // ddns_override_no_update 1000 S_ddns_override_client_update = 271, // ddns_override_client_update 1001 S_ddns_replace_client_name = 272, // ddns_replace_client_name 1002 S_273_22 = 273, // $@22 1003 S_ddns_replace_client_name_value = 274, // ddns_replace_client_name_value 1004 S_ddns_generated_prefix = 275, // ddns_generated_prefix 1005 S_276_23 = 276, // $@23 1006 S_ddns_qualifying_suffix = 277, // ddns_qualifying_suffix 1007 S_278_24 = 278, // $@24 1008 S_ddns_update_on_renew = 279, // ddns_update_on_renew 1009 S_ddns_use_conflict_resolution = 280, // ddns_use_conflict_resolution 1010 S_hostname_char_set = 281, // hostname_char_set 1011 S_282_25 = 282, // $@25 1012 S_hostname_char_replacement = 283, // hostname_char_replacement 1013 S_284_26 = 284, // $@26 1014 S_store_extended_info = 285, // store_extended_info 1015 S_statistic_default_sample_count = 286, // statistic_default_sample_count 1016 S_statistic_default_sample_age = 287, // statistic_default_sample_age 1017 S_server_tag = 288, // server_tag 1018 S_289_27 = 289, // $@27 1019 S_parked_packet_limit = 290, // parked_packet_limit 1020 S_ip_reservations_unique = 291, // ip_reservations_unique 1021 S_interfaces_config = 292, // interfaces_config 1022 S_293_28 = 293, // $@28 1023 S_sub_interfaces6 = 294, // sub_interfaces6 1024 S_295_29 = 295, // $@29 1025 S_interfaces_config_params = 296, // interfaces_config_params 1026 S_interfaces_config_param = 297, // interfaces_config_param 1027 S_interfaces_list = 298, // interfaces_list 1028 S_299_30 = 299, // $@30 1029 S_re_detect = 300, // re_detect 1030 S_lease_database = 301, // lease_database 1031 S_302_31 = 302, // $@31 1032 S_hosts_database = 303, // hosts_database 1033 S_304_32 = 304, // $@32 1034 S_hosts_databases = 305, // hosts_databases 1035 S_306_33 = 306, // $@33 1036 S_database_list = 307, // database_list 1037 S_not_empty_database_list = 308, // not_empty_database_list 1038 S_database = 309, // database 1039 S_310_34 = 310, // $@34 1040 S_database_map_params = 311, // database_map_params 1041 S_database_map_param = 312, // database_map_param 1042 S_database_type = 313, // database_type 1043 S_314_35 = 314, // $@35 1044 S_db_type = 315, // db_type 1045 S_user = 316, // user 1046 S_317_36 = 317, // $@36 1047 S_password = 318, // password 1048 S_319_37 = 319, // $@37 1049 S_host = 320, // host 1050 S_321_38 = 321, // $@38 1051 S_port = 322, // port 1052 S_name = 323, // name 1053 S_324_39 = 324, // $@39 1054 S_persist = 325, // persist 1055 S_lfc_interval = 326, // lfc_interval 1056 S_readonly = 327, // readonly 1057 S_connect_timeout = 328, // connect_timeout 1058 S_reconnect_wait_time = 329, // reconnect_wait_time 1059 S_on_fail = 330, // on_fail 1060 S_331_40 = 331, // $@40 1061 S_on_fail_mode = 332, // on_fail_mode 1062 S_max_row_errors = 333, // max_row_errors 1063 S_request_timeout = 334, // request_timeout 1064 S_tcp_keepalive = 335, // tcp_keepalive 1065 S_tcp_nodelay = 336, // tcp_nodelay 1066 S_contact_points = 337, // contact_points 1067 S_338_41 = 338, // $@41 1068 S_max_reconnect_tries = 339, // max_reconnect_tries 1069 S_keyspace = 340, // keyspace 1070 S_341_42 = 341, // $@42 1071 S_consistency = 342, // consistency 1072 S_343_43 = 343, // $@43 1073 S_serial_consistency = 344, // serial_consistency 1074 S_345_44 = 345, // $@44 1075 S_sanity_checks = 346, // sanity_checks 1076 S_347_45 = 347, // $@45 1077 S_sanity_checks_params = 348, // sanity_checks_params 1078 S_sanity_checks_param = 349, // sanity_checks_param 1079 S_lease_checks = 350, // lease_checks 1080 S_351_46 = 351, // $@46 1081 S_mac_sources = 352, // mac_sources 1082 S_353_47 = 353, // $@47 1083 S_mac_sources_list = 354, // mac_sources_list 1084 S_mac_sources_value = 355, // mac_sources_value 1085 S_duid_id = 356, // duid_id 1086 S_string_id = 357, // string_id 1087 S_host_reservation_identifiers = 358, // host_reservation_identifiers 1088 S_359_48 = 359, // $@48 1089 S_host_reservation_identifiers_list = 360, // host_reservation_identifiers_list 1090 S_host_reservation_identifier = 361, // host_reservation_identifier 1091 S_hw_address_id = 362, // hw_address_id 1092 S_flex_id = 363, // flex_id 1093 S_relay_supplied_options = 364, // relay_supplied_options 1094 S_365_49 = 365, // $@49 1095 S_dhcp_multi_threading = 366, // dhcp_multi_threading 1096 S_367_50 = 367, // $@50 1097 S_multi_threading_params = 368, // multi_threading_params 1098 S_multi_threading_param = 369, // multi_threading_param 1099 S_enable_multi_threading = 370, // enable_multi_threading 1100 S_thread_pool_size = 371, // thread_pool_size 1101 S_packet_queue_size = 372, // packet_queue_size 1102 S_hooks_libraries = 373, // hooks_libraries 1103 S_374_51 = 374, // $@51 1104 S_hooks_libraries_list = 375, // hooks_libraries_list 1105 S_not_empty_hooks_libraries_list = 376, // not_empty_hooks_libraries_list 1106 S_hooks_library = 377, // hooks_library 1107 S_378_52 = 378, // $@52 1108 S_sub_hooks_library = 379, // sub_hooks_library 1109 S_380_53 = 380, // $@53 1110 S_hooks_params = 381, // hooks_params 1111 S_hooks_param = 382, // hooks_param 1112 S_library = 383, // library 1113 S_384_54 = 384, // $@54 1114 S_parameters = 385, // parameters 1115 S_386_55 = 386, // $@55 1116 S_expired_leases_processing = 387, // expired_leases_processing 1117 S_388_56 = 388, // $@56 1118 S_expired_leases_params = 389, // expired_leases_params 1119 S_expired_leases_param = 390, // expired_leases_param 1120 S_reclaim_timer_wait_time = 391, // reclaim_timer_wait_time 1121 S_flush_reclaimed_timer_wait_time = 392, // flush_reclaimed_timer_wait_time 1122 S_hold_reclaimed_time = 393, // hold_reclaimed_time 1123 S_max_reclaim_leases = 394, // max_reclaim_leases 1124 S_max_reclaim_time = 395, // max_reclaim_time 1125 S_unwarned_reclaim_cycles = 396, // unwarned_reclaim_cycles 1126 S_subnet6_list = 397, // subnet6_list 1127 S_398_57 = 398, // $@57 1128 S_subnet6_list_content = 399, // subnet6_list_content 1129 S_not_empty_subnet6_list = 400, // not_empty_subnet6_list 1130 S_subnet6 = 401, // subnet6 1131 S_402_58 = 402, // $@58 1132 S_sub_subnet6 = 403, // sub_subnet6 1133 S_404_59 = 404, // $@59 1134 S_subnet6_params = 405, // subnet6_params 1135 S_subnet6_param = 406, // subnet6_param 1136 S_subnet = 407, // subnet 1137 S_408_60 = 408, // $@60 1138 S_interface = 409, // interface 1139 S_410_61 = 410, // $@61 1140 S_interface_id = 411, // interface_id 1141 S_412_62 = 412, // $@62 1142 S_client_class = 413, // client_class 1143 S_414_63 = 414, // $@63 1144 S_require_client_classes = 415, // require_client_classes 1145 S_416_64 = 416, // $@64 1146 S_reservations_global = 417, // reservations_global 1147 S_reservations_in_subnet = 418, // reservations_in_subnet 1148 S_reservations_out_of_pool = 419, // reservations_out_of_pool 1149 S_reservation_mode = 420, // reservation_mode 1150 S_421_65 = 421, // $@65 1151 S_hr_mode = 422, // hr_mode 1152 S_id = 423, // id 1153 S_rapid_commit = 424, // rapid_commit 1154 S_shared_networks = 425, // shared_networks 1155 S_426_66 = 426, // $@66 1156 S_shared_networks_content = 427, // shared_networks_content 1157 S_shared_networks_list = 428, // shared_networks_list 1158 S_shared_network = 429, // shared_network 1159 S_430_67 = 430, // $@67 1160 S_shared_network_params = 431, // shared_network_params 1161 S_shared_network_param = 432, // shared_network_param 1162 S_option_def_list = 433, // option_def_list 1163 S_434_68 = 434, // $@68 1164 S_sub_option_def_list = 435, // sub_option_def_list 1165 S_436_69 = 436, // $@69 1166 S_option_def_list_content = 437, // option_def_list_content 1167 S_not_empty_option_def_list = 438, // not_empty_option_def_list 1168 S_option_def_entry = 439, // option_def_entry 1169 S_440_70 = 440, // $@70 1170 S_sub_option_def = 441, // sub_option_def 1171 S_442_71 = 442, // $@71 1172 S_option_def_params = 443, // option_def_params 1173 S_not_empty_option_def_params = 444, // not_empty_option_def_params 1174 S_option_def_param = 445, // option_def_param 1175 S_option_def_name = 446, // option_def_name 1176 S_code = 447, // code 1177 S_option_def_code = 448, // option_def_code 1178 S_option_def_type = 449, // option_def_type 1179 S_450_72 = 450, // $@72 1180 S_option_def_record_types = 451, // option_def_record_types 1181 S_452_73 = 452, // $@73 1182 S_space = 453, // space 1183 S_454_74 = 454, // $@74 1184 S_option_def_space = 455, // option_def_space 1185 S_option_def_encapsulate = 456, // option_def_encapsulate 1186 S_457_75 = 457, // $@75 1187 S_option_def_array = 458, // option_def_array 1188 S_option_data_list = 459, // option_data_list 1189 S_460_76 = 460, // $@76 1190 S_option_data_list_content = 461, // option_data_list_content 1191 S_not_empty_option_data_list = 462, // not_empty_option_data_list 1192 S_option_data_entry = 463, // option_data_entry 1193 S_464_77 = 464, // $@77 1194 S_sub_option_data = 465, // sub_option_data 1195 S_466_78 = 466, // $@78 1196 S_option_data_params = 467, // option_data_params 1197 S_not_empty_option_data_params = 468, // not_empty_option_data_params 1198 S_option_data_param = 469, // option_data_param 1199 S_option_data_name = 470, // option_data_name 1200 S_option_data_data = 471, // option_data_data 1201 S_472_79 = 472, // $@79 1202 S_option_data_code = 473, // option_data_code 1203 S_option_data_space = 474, // option_data_space 1204 S_option_data_csv_format = 475, // option_data_csv_format 1205 S_option_data_always_send = 476, // option_data_always_send 1206 S_pools_list = 477, // pools_list 1207 S_478_80 = 478, // $@80 1208 S_pools_list_content = 479, // pools_list_content 1209 S_not_empty_pools_list = 480, // not_empty_pools_list 1210 S_pool_list_entry = 481, // pool_list_entry 1211 S_482_81 = 482, // $@81 1212 S_sub_pool6 = 483, // sub_pool6 1213 S_484_82 = 484, // $@82 1214 S_pool_params = 485, // pool_params 1215 S_pool_param = 486, // pool_param 1216 S_pool_entry = 487, // pool_entry 1217 S_488_83 = 488, // $@83 1218 S_user_context = 489, // user_context 1219 S_490_84 = 490, // $@84 1220 S_comment = 491, // comment 1221 S_492_85 = 492, // $@85 1222 S_pd_pools_list = 493, // pd_pools_list 1223 S_494_86 = 494, // $@86 1224 S_pd_pools_list_content = 495, // pd_pools_list_content 1225 S_not_empty_pd_pools_list = 496, // not_empty_pd_pools_list 1226 S_pd_pool_entry = 497, // pd_pool_entry 1227 S_498_87 = 498, // $@87 1228 S_sub_pd_pool = 499, // sub_pd_pool 1229 S_500_88 = 500, // $@88 1230 S_pd_pool_params = 501, // pd_pool_params 1231 S_pd_pool_param = 502, // pd_pool_param 1232 S_pd_prefix = 503, // pd_prefix 1233 S_504_89 = 504, // $@89 1234 S_pd_prefix_len = 505, // pd_prefix_len 1235 S_excluded_prefix = 506, // excluded_prefix 1236 S_507_90 = 507, // $@90 1237 S_excluded_prefix_len = 508, // excluded_prefix_len 1238 S_pd_delegated_len = 509, // pd_delegated_len 1239 S_reservations = 510, // reservations 1240 S_511_91 = 511, // $@91 1241 S_reservations_list = 512, // reservations_list 1242 S_not_empty_reservations_list = 513, // not_empty_reservations_list 1243 S_reservation = 514, // reservation 1244 S_515_92 = 515, // $@92 1245 S_sub_reservation = 516, // sub_reservation 1246 S_517_93 = 517, // $@93 1247 S_reservation_params = 518, // reservation_params 1248 S_not_empty_reservation_params = 519, // not_empty_reservation_params 1249 S_reservation_param = 520, // reservation_param 1250 S_ip_addresses = 521, // ip_addresses 1251 S_522_94 = 522, // $@94 1252 S_prefixes = 523, // prefixes 1253 S_524_95 = 524, // $@95 1254 S_duid = 525, // duid 1255 S_526_96 = 526, // $@96 1256 S_hw_address = 527, // hw_address 1257 S_528_97 = 528, // $@97 1258 S_hostname = 529, // hostname 1259 S_530_98 = 530, // $@98 1260 S_flex_id_value = 531, // flex_id_value 1261 S_532_99 = 532, // $@99 1262 S_reservation_client_classes = 533, // reservation_client_classes 1263 S_534_100 = 534, // $@100 1264 S_relay = 535, // relay 1265 S_536_101 = 536, // $@101 1266 S_relay_map = 537, // relay_map 1267 S_ip_address = 538, // ip_address 1268 S_539_102 = 539, // $@102 1269 S_client_classes = 540, // client_classes 1270 S_541_103 = 541, // $@103 1271 S_client_classes_list = 542, // client_classes_list 1272 S_client_class_entry = 543, // client_class_entry 1273 S_544_104 = 544, // $@104 1274 S_client_class_params = 545, // client_class_params 1275 S_not_empty_client_class_params = 546, // not_empty_client_class_params 1276 S_client_class_param = 547, // client_class_param 1277 S_client_class_name = 548, // client_class_name 1278 S_client_class_test = 549, // client_class_test 1279 S_550_105 = 550, // $@105 1280 S_only_if_required = 551, // only_if_required 1281 S_server_id = 552, // server_id 1282 S_553_106 = 553, // $@106 1283 S_server_id_params = 554, // server_id_params 1284 S_server_id_param = 555, // server_id_param 1285 S_server_id_type = 556, // server_id_type 1286 S_557_107 = 557, // $@107 1287 S_duid_type = 558, // duid_type 1288 S_htype = 559, // htype 1289 S_identifier = 560, // identifier 1290 S_561_108 = 561, // $@108 1291 S_time = 562, // time 1292 S_enterprise_id = 563, // enterprise_id 1293 S_dhcp4o6_port = 564, // dhcp4o6_port 1294 S_control_socket = 565, // control_socket 1295 S_566_109 = 566, // $@109 1296 S_control_socket_params = 567, // control_socket_params 1297 S_control_socket_param = 568, // control_socket_param 1298 S_socket_type = 569, // socket_type 1299 S_570_110 = 570, // $@110 1300 S_socket_name = 571, // socket_name 1301 S_572_111 = 572, // $@111 1302 S_dhcp_queue_control = 573, // dhcp_queue_control 1303 S_574_112 = 574, // $@112 1304 S_queue_control_params = 575, // queue_control_params 1305 S_queue_control_param = 576, // queue_control_param 1306 S_enable_queue = 577, // enable_queue 1307 S_queue_type = 578, // queue_type 1308 S_579_113 = 579, // $@113 1309 S_capacity = 580, // capacity 1310 S_arbitrary_map_entry = 581, // arbitrary_map_entry 1311 S_582_114 = 582, // $@114 1312 S_dhcp_ddns = 583, // dhcp_ddns 1313 S_584_115 = 584, // $@115 1314 S_sub_dhcp_ddns = 585, // sub_dhcp_ddns 1315 S_586_116 = 586, // $@116 1316 S_dhcp_ddns_params = 587, // dhcp_ddns_params 1317 S_dhcp_ddns_param = 588, // dhcp_ddns_param 1318 S_enable_updates = 589, // enable_updates 1319 S_dep_qualifying_suffix = 590, // dep_qualifying_suffix 1320 S_591_117 = 591, // $@117 1321 S_server_ip = 592, // server_ip 1322 S_593_118 = 593, // $@118 1323 S_server_port = 594, // server_port 1324 S_sender_ip = 595, // sender_ip 1325 S_596_119 = 596, // $@119 1326 S_sender_port = 597, // sender_port 1327 S_max_queue_size = 598, // max_queue_size 1328 S_ncr_protocol = 599, // ncr_protocol 1329 S_600_120 = 600, // $@120 1330 S_ncr_protocol_value = 601, // ncr_protocol_value 1331 S_ncr_format = 602, // ncr_format 1332 S_603_121 = 603, // $@121 1333 S_dep_override_no_update = 604, // dep_override_no_update 1334 S_dep_override_client_update = 605, // dep_override_client_update 1335 S_dep_replace_client_name = 606, // dep_replace_client_name 1336 S_607_122 = 607, // $@122 1337 S_dep_generated_prefix = 608, // dep_generated_prefix 1338 S_609_123 = 609, // $@123 1339 S_dep_hostname_char_set = 610, // dep_hostname_char_set 1340 S_611_124 = 611, // $@124 1341 S_dep_hostname_char_replacement = 612, // dep_hostname_char_replacement 1342 S_613_125 = 613, // $@125 1343 S_config_control = 614, // config_control 1344 S_615_126 = 615, // $@126 1345 S_sub_config_control = 616, // sub_config_control 1346 S_617_127 = 617, // $@127 1347 S_config_control_params = 618, // config_control_params 1348 S_config_control_param = 619, // config_control_param 1349 S_config_databases = 620, // config_databases 1350 S_621_128 = 621, // $@128 1351 S_config_fetch_wait_time = 622, // config_fetch_wait_time 1352 S_loggers = 623, // loggers 1353 S_624_129 = 624, // $@129 1354 S_loggers_entries = 625, // loggers_entries 1355 S_logger_entry = 626, // logger_entry 1356 S_627_130 = 627, // $@130 1357 S_logger_params = 628, // logger_params 1358 S_logger_param = 629, // logger_param 1359 S_debuglevel = 630, // debuglevel 1360 S_severity = 631, // severity 1361 S_632_131 = 632, // $@131 1362 S_output_options_list = 633, // output_options_list 1363 S_634_132 = 634, // $@132 1364 S_output_options_list_content = 635, // output_options_list_content 1365 S_output_entry = 636, // output_entry 1366 S_637_133 = 637, // $@133 1367 S_output_params_list = 638, // output_params_list 1368 S_output_params = 639, // output_params 1369 S_output = 640, // output 1370 S_641_134 = 641, // $@134 1371 S_flush = 642, // flush 1372 S_maxsize = 643, // maxsize 1373 S_maxver = 644, // maxver 1374 S_pattern = 645, // pattern 1375 S_646_135 = 646, // $@135 1376 S_compatibility = 647, // compatibility 1377 S_648_136 = 648, // $@136 1378 S_compatibility_params = 649, // compatibility_params 1379 S_compatibility_param = 650, // compatibility_param 1380 S_lenient_option_parsing = 651 // lenient_option_parsing 1381 }; 1382 }; 1383 1384 /// (Internal) symbol kind. 1385 typedef symbol_kind::symbol_kind_type symbol_kind_type; 1386 1387 /// The number of tokens. 1388 static const symbol_kind_type YYNTOKENS = symbol_kind::YYNTOKENS; 1389 1390 /// A complete symbol. 1391 /// 1392 /// Expects its Base type to provide access to the symbol kind 1393 /// via kind (). 1394 /// 1395 /// Provide access to semantic value and location. 1396 template <typename Base> 1397 struct basic_symbol : Base 1398 { 1399 /// Alias to Base. 1400 typedef Base super_type; 1401 1402 /// Default constructor. basic_symbolbasic_symbol1403 basic_symbol () YY_NOEXCEPT 1404 : value () 1405 , location () 1406 {} 1407 1408 #if 201103L <= YY_CPLUSPLUS 1409 /// Move constructor. basic_symbolbasic_symbol1410 basic_symbol (basic_symbol&& that) 1411 : Base (std::move (that)) 1412 , value () 1413 , location (std::move (that.location)) 1414 { 1415 switch (this->kind ()) 1416 { 1417 case symbol_kind::S_value: // value 1418 case symbol_kind::S_map_value: // map_value 1419 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value 1420 case symbol_kind::S_db_type: // db_type 1421 case symbol_kind::S_on_fail_mode: // on_fail_mode 1422 case symbol_kind::S_hr_mode: // hr_mode 1423 case symbol_kind::S_duid_type: // duid_type 1424 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value 1425 value.move< ElementPtr > (std::move (that.value)); 1426 break; 1427 1428 case symbol_kind::S_BOOLEAN: // "boolean" 1429 value.move< bool > (std::move (that.value)); 1430 break; 1431 1432 case symbol_kind::S_FLOAT: // "floating point" 1433 value.move< double > (std::move (that.value)); 1434 break; 1435 1436 case symbol_kind::S_INTEGER: // "integer" 1437 value.move< int64_t > (std::move (that.value)); 1438 break; 1439 1440 case symbol_kind::S_STRING: // "constant string" 1441 value.move< std::string > (std::move (that.value)); 1442 break; 1443 1444 default: 1445 break; 1446 } 1447 1448 } 1449 #endif 1450 1451 /// Copy constructor. 1452 basic_symbol (const basic_symbol& that); 1453 1454 /// Constructors for typed symbols. 1455 #if 201103L <= YY_CPLUSPLUS basic_symbolbasic_symbol1456 basic_symbol (typename Base::kind_type t, location_type&& l) 1457 : Base (t) 1458 , location (std::move (l)) 1459 {} 1460 #else basic_symbolbasic_symbol1461 basic_symbol (typename Base::kind_type t, const location_type& l) 1462 : Base (t) 1463 , location (l) 1464 {} 1465 #endif 1466 1467 #if 201103L <= YY_CPLUSPLUS basic_symbolbasic_symbol1468 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l) 1469 : Base (t) 1470 , value (std::move (v)) 1471 , location (std::move (l)) 1472 {} 1473 #else basic_symbolbasic_symbol1474 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l) 1475 : Base (t) 1476 , value (v) 1477 , location (l) 1478 {} 1479 #endif 1480 1481 #if 201103L <= YY_CPLUSPLUS basic_symbolbasic_symbol1482 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l) 1483 : Base (t) 1484 , value (std::move (v)) 1485 , location (std::move (l)) 1486 {} 1487 #else basic_symbolbasic_symbol1488 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l) 1489 : Base (t) 1490 , value (v) 1491 , location (l) 1492 {} 1493 #endif 1494 1495 #if 201103L <= YY_CPLUSPLUS basic_symbolbasic_symbol1496 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l) 1497 : Base (t) 1498 , value (std::move (v)) 1499 , location (std::move (l)) 1500 {} 1501 #else basic_symbolbasic_symbol1502 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l) 1503 : Base (t) 1504 , value (v) 1505 , location (l) 1506 {} 1507 #endif 1508 1509 #if 201103L <= YY_CPLUSPLUS basic_symbolbasic_symbol1510 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l) 1511 : Base (t) 1512 , value (std::move (v)) 1513 , location (std::move (l)) 1514 {} 1515 #else basic_symbolbasic_symbol1516 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l) 1517 : Base (t) 1518 , value (v) 1519 , location (l) 1520 {} 1521 #endif 1522 1523 #if 201103L <= YY_CPLUSPLUS basic_symbolbasic_symbol1524 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l) 1525 : Base (t) 1526 , value (std::move (v)) 1527 , location (std::move (l)) 1528 {} 1529 #else basic_symbolbasic_symbol1530 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l) 1531 : Base (t) 1532 , value (v) 1533 , location (l) 1534 {} 1535 #endif 1536 1537 /// Destroy the symbol. ~basic_symbolbasic_symbol1538 ~basic_symbol () 1539 { 1540 clear (); 1541 } 1542 1543 1544 1545 /// Destroy contents, and record that is empty. clearbasic_symbol1546 void clear () YY_NOEXCEPT 1547 { 1548 // User destructor. 1549 symbol_kind_type yykind = this->kind (); 1550 basic_symbol<Base>& yysym = *this; 1551 (void) yysym; 1552 switch (yykind) 1553 { 1554 default: 1555 break; 1556 } 1557 1558 // Value type destructor. 1559 switch (yykind) 1560 { 1561 case symbol_kind::S_value: // value 1562 case symbol_kind::S_map_value: // map_value 1563 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value 1564 case symbol_kind::S_db_type: // db_type 1565 case symbol_kind::S_on_fail_mode: // on_fail_mode 1566 case symbol_kind::S_hr_mode: // hr_mode 1567 case symbol_kind::S_duid_type: // duid_type 1568 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value 1569 value.template destroy< ElementPtr > (); 1570 break; 1571 1572 case symbol_kind::S_BOOLEAN: // "boolean" 1573 value.template destroy< bool > (); 1574 break; 1575 1576 case symbol_kind::S_FLOAT: // "floating point" 1577 value.template destroy< double > (); 1578 break; 1579 1580 case symbol_kind::S_INTEGER: // "integer" 1581 value.template destroy< int64_t > (); 1582 break; 1583 1584 case symbol_kind::S_STRING: // "constant string" 1585 value.template destroy< std::string > (); 1586 break; 1587 1588 default: 1589 break; 1590 } 1591 1592 Base::clear (); 1593 } 1594 1595 /// The user-facing name of this symbol. namebasic_symbol1596 std::string name () const YY_NOEXCEPT 1597 { 1598 return Dhcp6Parser::symbol_name (this->kind ()); 1599 } 1600 1601 /// Backward compatibility (Bison 3.6). 1602 symbol_kind_type type_get () const YY_NOEXCEPT; 1603 1604 /// Whether empty. 1605 bool empty () const YY_NOEXCEPT; 1606 1607 /// Destructive move, \a s is emptied into this. 1608 void move (basic_symbol& s); 1609 1610 /// The semantic value. 1611 value_type value; 1612 1613 /// The location. 1614 location_type location; 1615 1616 private: 1617 #if YY_CPLUSPLUS < 201103L 1618 /// Assignment operator. 1619 basic_symbol& operator= (const basic_symbol& that); 1620 #endif 1621 }; 1622 1623 /// Type access provider for token (enum) based symbols. 1624 struct by_kind 1625 { 1626 /// The symbol kind as needed by the constructor. 1627 typedef token_kind_type kind_type; 1628 1629 /// Default constructor. 1630 by_kind () YY_NOEXCEPT; 1631 1632 #if 201103L <= YY_CPLUSPLUS 1633 /// Move constructor. 1634 by_kind (by_kind&& that) YY_NOEXCEPT; 1635 #endif 1636 1637 /// Copy constructor. 1638 by_kind (const by_kind& that) YY_NOEXCEPT; 1639 1640 /// Constructor from (external) token numbers. 1641 by_kind (kind_type t) YY_NOEXCEPT; 1642 1643 1644 1645 /// Record that this symbol is empty. 1646 void clear () YY_NOEXCEPT; 1647 1648 /// Steal the symbol kind from \a that. 1649 void move (by_kind& that); 1650 1651 /// The (internal) type number (corresponding to \a type). 1652 /// \a empty when empty. 1653 symbol_kind_type kind () const YY_NOEXCEPT; 1654 1655 /// Backward compatibility (Bison 3.6). 1656 symbol_kind_type type_get () const YY_NOEXCEPT; 1657 1658 /// The symbol kind. 1659 /// \a S_YYEMPTY when empty. 1660 symbol_kind_type kind_; 1661 }; 1662 1663 /// Backward compatibility for a private implementation detail (Bison 3.6). 1664 typedef by_kind by_type; 1665 1666 /// "External" symbols: returned by the scanner. 1667 struct symbol_type : basic_symbol<by_kind> 1668 { 1669 /// Superclass. 1670 typedef basic_symbol<by_kind> super_type; 1671 1672 /// Empty symbol. symbol_typesymbol_type1673 symbol_type () YY_NOEXCEPT {} 1674 1675 /// Constructor for valueless symbols, and symbols from each type. 1676 #if 201103L <= YY_CPLUSPLUS symbol_typesymbol_type1677 symbol_type (int tok, location_type l) 1678 : super_type (token_kind_type (tok), std::move (l)) 1679 #else 1680 symbol_type (int tok, const location_type& l) 1681 : super_type (token_kind_type (tok), l) 1682 #endif 1683 { 1684 #if !defined _MSC_VER || defined __clang__ 1685 PARSER6__ASSERT (tok == token::TOKEN_END 1686 || (token::TOKEN_PARSER6_error <= tok && tok <= token::TOKEN_SUB_CONFIG_CONTROL)); 1687 #endif 1688 } 1689 #if 201103L <= YY_CPLUSPLUS symbol_typesymbol_type1690 symbol_type (int tok, bool v, location_type l) 1691 : super_type (token_kind_type (tok), std::move (v), std::move (l)) 1692 #else 1693 symbol_type (int tok, const bool& v, const location_type& l) 1694 : super_type (token_kind_type (tok), v, l) 1695 #endif 1696 { 1697 #if !defined _MSC_VER || defined __clang__ 1698 PARSER6__ASSERT (tok == token::TOKEN_BOOLEAN); 1699 #endif 1700 } 1701 #if 201103L <= YY_CPLUSPLUS symbol_typesymbol_type1702 symbol_type (int tok, double v, location_type l) 1703 : super_type (token_kind_type (tok), std::move (v), std::move (l)) 1704 #else 1705 symbol_type (int tok, const double& v, const location_type& l) 1706 : super_type (token_kind_type (tok), v, l) 1707 #endif 1708 { 1709 #if !defined _MSC_VER || defined __clang__ 1710 PARSER6__ASSERT (tok == token::TOKEN_FLOAT); 1711 #endif 1712 } 1713 #if 201103L <= YY_CPLUSPLUS symbol_typesymbol_type1714 symbol_type (int tok, int64_t v, location_type l) 1715 : super_type (token_kind_type (tok), std::move (v), std::move (l)) 1716 #else 1717 symbol_type (int tok, const int64_t& v, const location_type& l) 1718 : super_type (token_kind_type (tok), v, l) 1719 #endif 1720 { 1721 #if !defined _MSC_VER || defined __clang__ 1722 PARSER6__ASSERT (tok == token::TOKEN_INTEGER); 1723 #endif 1724 } 1725 #if 201103L <= YY_CPLUSPLUS symbol_typesymbol_type1726 symbol_type (int tok, std::string v, location_type l) 1727 : super_type (token_kind_type (tok), std::move (v), std::move (l)) 1728 #else 1729 symbol_type (int tok, const std::string& v, const location_type& l) 1730 : super_type (token_kind_type (tok), v, l) 1731 #endif 1732 { 1733 #if !defined _MSC_VER || defined __clang__ 1734 PARSER6__ASSERT (tok == token::TOKEN_STRING); 1735 #endif 1736 } 1737 }; 1738 1739 /// Build a parser object. 1740 Dhcp6Parser (isc::dhcp::Parser6Context& ctx_yyarg); 1741 virtual ~Dhcp6Parser (); 1742 1743 #if 201103L <= YY_CPLUSPLUS 1744 /// Non copyable. 1745 Dhcp6Parser (const Dhcp6Parser&) = delete; 1746 /// Non copyable. 1747 Dhcp6Parser& operator= (const Dhcp6Parser&) = delete; 1748 #endif 1749 1750 /// Parse. An alias for parse (). 1751 /// \returns 0 iff parsing succeeded. 1752 int operator() (); 1753 1754 /// Parse. 1755 /// \returns 0 iff parsing succeeded. 1756 virtual int parse (); 1757 1758 #if PARSER6_DEBUG 1759 /// The current debugging stream. 1760 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE; 1761 /// Set the current debugging stream. 1762 void set_debug_stream (std::ostream &); 1763 1764 /// Type for debugging levels. 1765 typedef int debug_level_type; 1766 /// The current debugging level. 1767 debug_level_type debug_level () const YY_ATTRIBUTE_PURE; 1768 /// Set the current debugging level. 1769 void set_debug_level (debug_level_type l); 1770 #endif 1771 1772 /// Report a syntax error. 1773 /// \param loc where the syntax error is found. 1774 /// \param msg a description of the syntax error. 1775 virtual void error (const location_type& loc, const std::string& msg); 1776 1777 /// Report a syntax error. 1778 void error (const syntax_error& err); 1779 1780 /// The user-facing name of the symbol whose (internal) number is 1781 /// YYSYMBOL. No bounds checking. 1782 static std::string symbol_name (symbol_kind_type yysymbol); 1783 1784 // Implementation of make_symbol for each token kind. 1785 #if 201103L <= YY_CPLUSPLUS 1786 static 1787 symbol_type make_END(location_type l)1788 make_END (location_type l) 1789 { 1790 return symbol_type (token::TOKEN_END, std::move (l)); 1791 } 1792 #else 1793 static 1794 symbol_type make_END(const location_type & l)1795 make_END (const location_type& l) 1796 { 1797 return symbol_type (token::TOKEN_END, l); 1798 } 1799 #endif 1800 #if 201103L <= YY_CPLUSPLUS 1801 static 1802 symbol_type make_PARSER6_error(location_type l)1803 make_PARSER6_error (location_type l) 1804 { 1805 return symbol_type (token::TOKEN_PARSER6_error, std::move (l)); 1806 } 1807 #else 1808 static 1809 symbol_type make_PARSER6_error(const location_type & l)1810 make_PARSER6_error (const location_type& l) 1811 { 1812 return symbol_type (token::TOKEN_PARSER6_error, l); 1813 } 1814 #endif 1815 #if 201103L <= YY_CPLUSPLUS 1816 static 1817 symbol_type make_PARSER6_UNDEF(location_type l)1818 make_PARSER6_UNDEF (location_type l) 1819 { 1820 return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l)); 1821 } 1822 #else 1823 static 1824 symbol_type make_PARSER6_UNDEF(const location_type & l)1825 make_PARSER6_UNDEF (const location_type& l) 1826 { 1827 return symbol_type (token::TOKEN_PARSER6_UNDEF, l); 1828 } 1829 #endif 1830 #if 201103L <= YY_CPLUSPLUS 1831 static 1832 symbol_type make_COMMA(location_type l)1833 make_COMMA (location_type l) 1834 { 1835 return symbol_type (token::TOKEN_COMMA, std::move (l)); 1836 } 1837 #else 1838 static 1839 symbol_type make_COMMA(const location_type & l)1840 make_COMMA (const location_type& l) 1841 { 1842 return symbol_type (token::TOKEN_COMMA, l); 1843 } 1844 #endif 1845 #if 201103L <= YY_CPLUSPLUS 1846 static 1847 symbol_type make_COLON(location_type l)1848 make_COLON (location_type l) 1849 { 1850 return symbol_type (token::TOKEN_COLON, std::move (l)); 1851 } 1852 #else 1853 static 1854 symbol_type make_COLON(const location_type & l)1855 make_COLON (const location_type& l) 1856 { 1857 return symbol_type (token::TOKEN_COLON, l); 1858 } 1859 #endif 1860 #if 201103L <= YY_CPLUSPLUS 1861 static 1862 symbol_type make_LSQUARE_BRACKET(location_type l)1863 make_LSQUARE_BRACKET (location_type l) 1864 { 1865 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l)); 1866 } 1867 #else 1868 static 1869 symbol_type make_LSQUARE_BRACKET(const location_type & l)1870 make_LSQUARE_BRACKET (const location_type& l) 1871 { 1872 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l); 1873 } 1874 #endif 1875 #if 201103L <= YY_CPLUSPLUS 1876 static 1877 symbol_type make_RSQUARE_BRACKET(location_type l)1878 make_RSQUARE_BRACKET (location_type l) 1879 { 1880 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l)); 1881 } 1882 #else 1883 static 1884 symbol_type make_RSQUARE_BRACKET(const location_type & l)1885 make_RSQUARE_BRACKET (const location_type& l) 1886 { 1887 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l); 1888 } 1889 #endif 1890 #if 201103L <= YY_CPLUSPLUS 1891 static 1892 symbol_type make_LCURLY_BRACKET(location_type l)1893 make_LCURLY_BRACKET (location_type l) 1894 { 1895 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l)); 1896 } 1897 #else 1898 static 1899 symbol_type make_LCURLY_BRACKET(const location_type & l)1900 make_LCURLY_BRACKET (const location_type& l) 1901 { 1902 return symbol_type (token::TOKEN_LCURLY_BRACKET, l); 1903 } 1904 #endif 1905 #if 201103L <= YY_CPLUSPLUS 1906 static 1907 symbol_type make_RCURLY_BRACKET(location_type l)1908 make_RCURLY_BRACKET (location_type l) 1909 { 1910 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l)); 1911 } 1912 #else 1913 static 1914 symbol_type make_RCURLY_BRACKET(const location_type & l)1915 make_RCURLY_BRACKET (const location_type& l) 1916 { 1917 return symbol_type (token::TOKEN_RCURLY_BRACKET, l); 1918 } 1919 #endif 1920 #if 201103L <= YY_CPLUSPLUS 1921 static 1922 symbol_type make_NULL_TYPE(location_type l)1923 make_NULL_TYPE (location_type l) 1924 { 1925 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l)); 1926 } 1927 #else 1928 static 1929 symbol_type make_NULL_TYPE(const location_type & l)1930 make_NULL_TYPE (const location_type& l) 1931 { 1932 return symbol_type (token::TOKEN_NULL_TYPE, l); 1933 } 1934 #endif 1935 #if 201103L <= YY_CPLUSPLUS 1936 static 1937 symbol_type make_DHCP6(location_type l)1938 make_DHCP6 (location_type l) 1939 { 1940 return symbol_type (token::TOKEN_DHCP6, std::move (l)); 1941 } 1942 #else 1943 static 1944 symbol_type make_DHCP6(const location_type & l)1945 make_DHCP6 (const location_type& l) 1946 { 1947 return symbol_type (token::TOKEN_DHCP6, l); 1948 } 1949 #endif 1950 #if 201103L <= YY_CPLUSPLUS 1951 static 1952 symbol_type make_DATA_DIRECTORY(location_type l)1953 make_DATA_DIRECTORY (location_type l) 1954 { 1955 return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l)); 1956 } 1957 #else 1958 static 1959 symbol_type make_DATA_DIRECTORY(const location_type & l)1960 make_DATA_DIRECTORY (const location_type& l) 1961 { 1962 return symbol_type (token::TOKEN_DATA_DIRECTORY, l); 1963 } 1964 #endif 1965 #if 201103L <= YY_CPLUSPLUS 1966 static 1967 symbol_type make_CONFIG_CONTROL(location_type l)1968 make_CONFIG_CONTROL (location_type l) 1969 { 1970 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l)); 1971 } 1972 #else 1973 static 1974 symbol_type make_CONFIG_CONTROL(const location_type & l)1975 make_CONFIG_CONTROL (const location_type& l) 1976 { 1977 return symbol_type (token::TOKEN_CONFIG_CONTROL, l); 1978 } 1979 #endif 1980 #if 201103L <= YY_CPLUSPLUS 1981 static 1982 symbol_type make_CONFIG_DATABASES(location_type l)1983 make_CONFIG_DATABASES (location_type l) 1984 { 1985 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l)); 1986 } 1987 #else 1988 static 1989 symbol_type make_CONFIG_DATABASES(const location_type & l)1990 make_CONFIG_DATABASES (const location_type& l) 1991 { 1992 return symbol_type (token::TOKEN_CONFIG_DATABASES, l); 1993 } 1994 #endif 1995 #if 201103L <= YY_CPLUSPLUS 1996 static 1997 symbol_type make_CONFIG_FETCH_WAIT_TIME(location_type l)1998 make_CONFIG_FETCH_WAIT_TIME (location_type l) 1999 { 2000 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l)); 2001 } 2002 #else 2003 static 2004 symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type & l)2005 make_CONFIG_FETCH_WAIT_TIME (const location_type& l) 2006 { 2007 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l); 2008 } 2009 #endif 2010 #if 201103L <= YY_CPLUSPLUS 2011 static 2012 symbol_type make_INTERFACES_CONFIG(location_type l)2013 make_INTERFACES_CONFIG (location_type l) 2014 { 2015 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l)); 2016 } 2017 #else 2018 static 2019 symbol_type make_INTERFACES_CONFIG(const location_type & l)2020 make_INTERFACES_CONFIG (const location_type& l) 2021 { 2022 return symbol_type (token::TOKEN_INTERFACES_CONFIG, l); 2023 } 2024 #endif 2025 #if 201103L <= YY_CPLUSPLUS 2026 static 2027 symbol_type make_INTERFACES(location_type l)2028 make_INTERFACES (location_type l) 2029 { 2030 return symbol_type (token::TOKEN_INTERFACES, std::move (l)); 2031 } 2032 #else 2033 static 2034 symbol_type make_INTERFACES(const location_type & l)2035 make_INTERFACES (const location_type& l) 2036 { 2037 return symbol_type (token::TOKEN_INTERFACES, l); 2038 } 2039 #endif 2040 #if 201103L <= YY_CPLUSPLUS 2041 static 2042 symbol_type make_RE_DETECT(location_type l)2043 make_RE_DETECT (location_type l) 2044 { 2045 return symbol_type (token::TOKEN_RE_DETECT, std::move (l)); 2046 } 2047 #else 2048 static 2049 symbol_type make_RE_DETECT(const location_type & l)2050 make_RE_DETECT (const location_type& l) 2051 { 2052 return symbol_type (token::TOKEN_RE_DETECT, l); 2053 } 2054 #endif 2055 #if 201103L <= YY_CPLUSPLUS 2056 static 2057 symbol_type make_LEASE_DATABASE(location_type l)2058 make_LEASE_DATABASE (location_type l) 2059 { 2060 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l)); 2061 } 2062 #else 2063 static 2064 symbol_type make_LEASE_DATABASE(const location_type & l)2065 make_LEASE_DATABASE (const location_type& l) 2066 { 2067 return symbol_type (token::TOKEN_LEASE_DATABASE, l); 2068 } 2069 #endif 2070 #if 201103L <= YY_CPLUSPLUS 2071 static 2072 symbol_type make_HOSTS_DATABASE(location_type l)2073 make_HOSTS_DATABASE (location_type l) 2074 { 2075 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l)); 2076 } 2077 #else 2078 static 2079 symbol_type make_HOSTS_DATABASE(const location_type & l)2080 make_HOSTS_DATABASE (const location_type& l) 2081 { 2082 return symbol_type (token::TOKEN_HOSTS_DATABASE, l); 2083 } 2084 #endif 2085 #if 201103L <= YY_CPLUSPLUS 2086 static 2087 symbol_type make_HOSTS_DATABASES(location_type l)2088 make_HOSTS_DATABASES (location_type l) 2089 { 2090 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l)); 2091 } 2092 #else 2093 static 2094 symbol_type make_HOSTS_DATABASES(const location_type & l)2095 make_HOSTS_DATABASES (const location_type& l) 2096 { 2097 return symbol_type (token::TOKEN_HOSTS_DATABASES, l); 2098 } 2099 #endif 2100 #if 201103L <= YY_CPLUSPLUS 2101 static 2102 symbol_type make_TYPE(location_type l)2103 make_TYPE (location_type l) 2104 { 2105 return symbol_type (token::TOKEN_TYPE, std::move (l)); 2106 } 2107 #else 2108 static 2109 symbol_type make_TYPE(const location_type & l)2110 make_TYPE (const location_type& l) 2111 { 2112 return symbol_type (token::TOKEN_TYPE, l); 2113 } 2114 #endif 2115 #if 201103L <= YY_CPLUSPLUS 2116 static 2117 symbol_type make_MEMFILE(location_type l)2118 make_MEMFILE (location_type l) 2119 { 2120 return symbol_type (token::TOKEN_MEMFILE, std::move (l)); 2121 } 2122 #else 2123 static 2124 symbol_type make_MEMFILE(const location_type & l)2125 make_MEMFILE (const location_type& l) 2126 { 2127 return symbol_type (token::TOKEN_MEMFILE, l); 2128 } 2129 #endif 2130 #if 201103L <= YY_CPLUSPLUS 2131 static 2132 symbol_type make_MYSQL(location_type l)2133 make_MYSQL (location_type l) 2134 { 2135 return symbol_type (token::TOKEN_MYSQL, std::move (l)); 2136 } 2137 #else 2138 static 2139 symbol_type make_MYSQL(const location_type & l)2140 make_MYSQL (const location_type& l) 2141 { 2142 return symbol_type (token::TOKEN_MYSQL, l); 2143 } 2144 #endif 2145 #if 201103L <= YY_CPLUSPLUS 2146 static 2147 symbol_type make_POSTGRESQL(location_type l)2148 make_POSTGRESQL (location_type l) 2149 { 2150 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l)); 2151 } 2152 #else 2153 static 2154 symbol_type make_POSTGRESQL(const location_type & l)2155 make_POSTGRESQL (const location_type& l) 2156 { 2157 return symbol_type (token::TOKEN_POSTGRESQL, l); 2158 } 2159 #endif 2160 #if 201103L <= YY_CPLUSPLUS 2161 static 2162 symbol_type make_CQL(location_type l)2163 make_CQL (location_type l) 2164 { 2165 return symbol_type (token::TOKEN_CQL, std::move (l)); 2166 } 2167 #else 2168 static 2169 symbol_type make_CQL(const location_type & l)2170 make_CQL (const location_type& l) 2171 { 2172 return symbol_type (token::TOKEN_CQL, l); 2173 } 2174 #endif 2175 #if 201103L <= YY_CPLUSPLUS 2176 static 2177 symbol_type make_USER(location_type l)2178 make_USER (location_type l) 2179 { 2180 return symbol_type (token::TOKEN_USER, std::move (l)); 2181 } 2182 #else 2183 static 2184 symbol_type make_USER(const location_type & l)2185 make_USER (const location_type& l) 2186 { 2187 return symbol_type (token::TOKEN_USER, l); 2188 } 2189 #endif 2190 #if 201103L <= YY_CPLUSPLUS 2191 static 2192 symbol_type make_PASSWORD(location_type l)2193 make_PASSWORD (location_type l) 2194 { 2195 return symbol_type (token::TOKEN_PASSWORD, std::move (l)); 2196 } 2197 #else 2198 static 2199 symbol_type make_PASSWORD(const location_type & l)2200 make_PASSWORD (const location_type& l) 2201 { 2202 return symbol_type (token::TOKEN_PASSWORD, l); 2203 } 2204 #endif 2205 #if 201103L <= YY_CPLUSPLUS 2206 static 2207 symbol_type make_HOST(location_type l)2208 make_HOST (location_type l) 2209 { 2210 return symbol_type (token::TOKEN_HOST, std::move (l)); 2211 } 2212 #else 2213 static 2214 symbol_type make_HOST(const location_type & l)2215 make_HOST (const location_type& l) 2216 { 2217 return symbol_type (token::TOKEN_HOST, l); 2218 } 2219 #endif 2220 #if 201103L <= YY_CPLUSPLUS 2221 static 2222 symbol_type make_PORT(location_type l)2223 make_PORT (location_type l) 2224 { 2225 return symbol_type (token::TOKEN_PORT, std::move (l)); 2226 } 2227 #else 2228 static 2229 symbol_type make_PORT(const location_type & l)2230 make_PORT (const location_type& l) 2231 { 2232 return symbol_type (token::TOKEN_PORT, l); 2233 } 2234 #endif 2235 #if 201103L <= YY_CPLUSPLUS 2236 static 2237 symbol_type make_PERSIST(location_type l)2238 make_PERSIST (location_type l) 2239 { 2240 return symbol_type (token::TOKEN_PERSIST, std::move (l)); 2241 } 2242 #else 2243 static 2244 symbol_type make_PERSIST(const location_type & l)2245 make_PERSIST (const location_type& l) 2246 { 2247 return symbol_type (token::TOKEN_PERSIST, l); 2248 } 2249 #endif 2250 #if 201103L <= YY_CPLUSPLUS 2251 static 2252 symbol_type make_LFC_INTERVAL(location_type l)2253 make_LFC_INTERVAL (location_type l) 2254 { 2255 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l)); 2256 } 2257 #else 2258 static 2259 symbol_type make_LFC_INTERVAL(const location_type & l)2260 make_LFC_INTERVAL (const location_type& l) 2261 { 2262 return symbol_type (token::TOKEN_LFC_INTERVAL, l); 2263 } 2264 #endif 2265 #if 201103L <= YY_CPLUSPLUS 2266 static 2267 symbol_type make_READONLY(location_type l)2268 make_READONLY (location_type l) 2269 { 2270 return symbol_type (token::TOKEN_READONLY, std::move (l)); 2271 } 2272 #else 2273 static 2274 symbol_type make_READONLY(const location_type & l)2275 make_READONLY (const location_type& l) 2276 { 2277 return symbol_type (token::TOKEN_READONLY, l); 2278 } 2279 #endif 2280 #if 201103L <= YY_CPLUSPLUS 2281 static 2282 symbol_type make_CONNECT_TIMEOUT(location_type l)2283 make_CONNECT_TIMEOUT (location_type l) 2284 { 2285 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l)); 2286 } 2287 #else 2288 static 2289 symbol_type make_CONNECT_TIMEOUT(const location_type & l)2290 make_CONNECT_TIMEOUT (const location_type& l) 2291 { 2292 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l); 2293 } 2294 #endif 2295 #if 201103L <= YY_CPLUSPLUS 2296 static 2297 symbol_type make_CONTACT_POINTS(location_type l)2298 make_CONTACT_POINTS (location_type l) 2299 { 2300 return symbol_type (token::TOKEN_CONTACT_POINTS, std::move (l)); 2301 } 2302 #else 2303 static 2304 symbol_type make_CONTACT_POINTS(const location_type & l)2305 make_CONTACT_POINTS (const location_type& l) 2306 { 2307 return symbol_type (token::TOKEN_CONTACT_POINTS, l); 2308 } 2309 #endif 2310 #if 201103L <= YY_CPLUSPLUS 2311 static 2312 symbol_type make_MAX_RECONNECT_TRIES(location_type l)2313 make_MAX_RECONNECT_TRIES (location_type l) 2314 { 2315 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l)); 2316 } 2317 #else 2318 static 2319 symbol_type make_MAX_RECONNECT_TRIES(const location_type & l)2320 make_MAX_RECONNECT_TRIES (const location_type& l) 2321 { 2322 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l); 2323 } 2324 #endif 2325 #if 201103L <= YY_CPLUSPLUS 2326 static 2327 symbol_type make_RECONNECT_WAIT_TIME(location_type l)2328 make_RECONNECT_WAIT_TIME (location_type l) 2329 { 2330 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l)); 2331 } 2332 #else 2333 static 2334 symbol_type make_RECONNECT_WAIT_TIME(const location_type & l)2335 make_RECONNECT_WAIT_TIME (const location_type& l) 2336 { 2337 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l); 2338 } 2339 #endif 2340 #if 201103L <= YY_CPLUSPLUS 2341 static 2342 symbol_type make_ON_FAIL(location_type l)2343 make_ON_FAIL (location_type l) 2344 { 2345 return symbol_type (token::TOKEN_ON_FAIL, std::move (l)); 2346 } 2347 #else 2348 static 2349 symbol_type make_ON_FAIL(const location_type & l)2350 make_ON_FAIL (const location_type& l) 2351 { 2352 return symbol_type (token::TOKEN_ON_FAIL, l); 2353 } 2354 #endif 2355 #if 201103L <= YY_CPLUSPLUS 2356 static 2357 symbol_type make_STOP_RETRY_EXIT(location_type l)2358 make_STOP_RETRY_EXIT (location_type l) 2359 { 2360 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l)); 2361 } 2362 #else 2363 static 2364 symbol_type make_STOP_RETRY_EXIT(const location_type & l)2365 make_STOP_RETRY_EXIT (const location_type& l) 2366 { 2367 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, l); 2368 } 2369 #endif 2370 #if 201103L <= YY_CPLUSPLUS 2371 static 2372 symbol_type make_SERVE_RETRY_EXIT(location_type l)2373 make_SERVE_RETRY_EXIT (location_type l) 2374 { 2375 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l)); 2376 } 2377 #else 2378 static 2379 symbol_type make_SERVE_RETRY_EXIT(const location_type & l)2380 make_SERVE_RETRY_EXIT (const location_type& l) 2381 { 2382 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, l); 2383 } 2384 #endif 2385 #if 201103L <= YY_CPLUSPLUS 2386 static 2387 symbol_type make_SERVE_RETRY_CONTINUE(location_type l)2388 make_SERVE_RETRY_CONTINUE (location_type l) 2389 { 2390 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l)); 2391 } 2392 #else 2393 static 2394 symbol_type make_SERVE_RETRY_CONTINUE(const location_type & l)2395 make_SERVE_RETRY_CONTINUE (const location_type& l) 2396 { 2397 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, l); 2398 } 2399 #endif 2400 #if 201103L <= YY_CPLUSPLUS 2401 static 2402 symbol_type make_KEYSPACE(location_type l)2403 make_KEYSPACE (location_type l) 2404 { 2405 return symbol_type (token::TOKEN_KEYSPACE, std::move (l)); 2406 } 2407 #else 2408 static 2409 symbol_type make_KEYSPACE(const location_type & l)2410 make_KEYSPACE (const location_type& l) 2411 { 2412 return symbol_type (token::TOKEN_KEYSPACE, l); 2413 } 2414 #endif 2415 #if 201103L <= YY_CPLUSPLUS 2416 static 2417 symbol_type make_CONSISTENCY(location_type l)2418 make_CONSISTENCY (location_type l) 2419 { 2420 return symbol_type (token::TOKEN_CONSISTENCY, std::move (l)); 2421 } 2422 #else 2423 static 2424 symbol_type make_CONSISTENCY(const location_type & l)2425 make_CONSISTENCY (const location_type& l) 2426 { 2427 return symbol_type (token::TOKEN_CONSISTENCY, l); 2428 } 2429 #endif 2430 #if 201103L <= YY_CPLUSPLUS 2431 static 2432 symbol_type make_SERIAL_CONSISTENCY(location_type l)2433 make_SERIAL_CONSISTENCY (location_type l) 2434 { 2435 return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, std::move (l)); 2436 } 2437 #else 2438 static 2439 symbol_type make_SERIAL_CONSISTENCY(const location_type & l)2440 make_SERIAL_CONSISTENCY (const location_type& l) 2441 { 2442 return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, l); 2443 } 2444 #endif 2445 #if 201103L <= YY_CPLUSPLUS 2446 static 2447 symbol_type make_REQUEST_TIMEOUT(location_type l)2448 make_REQUEST_TIMEOUT (location_type l) 2449 { 2450 return symbol_type (token::TOKEN_REQUEST_TIMEOUT, std::move (l)); 2451 } 2452 #else 2453 static 2454 symbol_type make_REQUEST_TIMEOUT(const location_type & l)2455 make_REQUEST_TIMEOUT (const location_type& l) 2456 { 2457 return symbol_type (token::TOKEN_REQUEST_TIMEOUT, l); 2458 } 2459 #endif 2460 #if 201103L <= YY_CPLUSPLUS 2461 static 2462 symbol_type make_TCP_KEEPALIVE(location_type l)2463 make_TCP_KEEPALIVE (location_type l) 2464 { 2465 return symbol_type (token::TOKEN_TCP_KEEPALIVE, std::move (l)); 2466 } 2467 #else 2468 static 2469 symbol_type make_TCP_KEEPALIVE(const location_type & l)2470 make_TCP_KEEPALIVE (const location_type& l) 2471 { 2472 return symbol_type (token::TOKEN_TCP_KEEPALIVE, l); 2473 } 2474 #endif 2475 #if 201103L <= YY_CPLUSPLUS 2476 static 2477 symbol_type make_TCP_NODELAY(location_type l)2478 make_TCP_NODELAY (location_type l) 2479 { 2480 return symbol_type (token::TOKEN_TCP_NODELAY, std::move (l)); 2481 } 2482 #else 2483 static 2484 symbol_type make_TCP_NODELAY(const location_type & l)2485 make_TCP_NODELAY (const location_type& l) 2486 { 2487 return symbol_type (token::TOKEN_TCP_NODELAY, l); 2488 } 2489 #endif 2490 #if 201103L <= YY_CPLUSPLUS 2491 static 2492 symbol_type make_MAX_ROW_ERRORS(location_type l)2493 make_MAX_ROW_ERRORS (location_type l) 2494 { 2495 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l)); 2496 } 2497 #else 2498 static 2499 symbol_type make_MAX_ROW_ERRORS(const location_type & l)2500 make_MAX_ROW_ERRORS (const location_type& l) 2501 { 2502 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l); 2503 } 2504 #endif 2505 #if 201103L <= YY_CPLUSPLUS 2506 static 2507 symbol_type make_PREFERRED_LIFETIME(location_type l)2508 make_PREFERRED_LIFETIME (location_type l) 2509 { 2510 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l)); 2511 } 2512 #else 2513 static 2514 symbol_type make_PREFERRED_LIFETIME(const location_type & l)2515 make_PREFERRED_LIFETIME (const location_type& l) 2516 { 2517 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, l); 2518 } 2519 #endif 2520 #if 201103L <= YY_CPLUSPLUS 2521 static 2522 symbol_type make_MIN_PREFERRED_LIFETIME(location_type l)2523 make_MIN_PREFERRED_LIFETIME (location_type l) 2524 { 2525 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l)); 2526 } 2527 #else 2528 static 2529 symbol_type make_MIN_PREFERRED_LIFETIME(const location_type & l)2530 make_MIN_PREFERRED_LIFETIME (const location_type& l) 2531 { 2532 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, l); 2533 } 2534 #endif 2535 #if 201103L <= YY_CPLUSPLUS 2536 static 2537 symbol_type make_MAX_PREFERRED_LIFETIME(location_type l)2538 make_MAX_PREFERRED_LIFETIME (location_type l) 2539 { 2540 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l)); 2541 } 2542 #else 2543 static 2544 symbol_type make_MAX_PREFERRED_LIFETIME(const location_type & l)2545 make_MAX_PREFERRED_LIFETIME (const location_type& l) 2546 { 2547 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, l); 2548 } 2549 #endif 2550 #if 201103L <= YY_CPLUSPLUS 2551 static 2552 symbol_type make_VALID_LIFETIME(location_type l)2553 make_VALID_LIFETIME (location_type l) 2554 { 2555 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l)); 2556 } 2557 #else 2558 static 2559 symbol_type make_VALID_LIFETIME(const location_type & l)2560 make_VALID_LIFETIME (const location_type& l) 2561 { 2562 return symbol_type (token::TOKEN_VALID_LIFETIME, l); 2563 } 2564 #endif 2565 #if 201103L <= YY_CPLUSPLUS 2566 static 2567 symbol_type make_MIN_VALID_LIFETIME(location_type l)2568 make_MIN_VALID_LIFETIME (location_type l) 2569 { 2570 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l)); 2571 } 2572 #else 2573 static 2574 symbol_type make_MIN_VALID_LIFETIME(const location_type & l)2575 make_MIN_VALID_LIFETIME (const location_type& l) 2576 { 2577 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l); 2578 } 2579 #endif 2580 #if 201103L <= YY_CPLUSPLUS 2581 static 2582 symbol_type make_MAX_VALID_LIFETIME(location_type l)2583 make_MAX_VALID_LIFETIME (location_type l) 2584 { 2585 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l)); 2586 } 2587 #else 2588 static 2589 symbol_type make_MAX_VALID_LIFETIME(const location_type & l)2590 make_MAX_VALID_LIFETIME (const location_type& l) 2591 { 2592 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l); 2593 } 2594 #endif 2595 #if 201103L <= YY_CPLUSPLUS 2596 static 2597 symbol_type make_RENEW_TIMER(location_type l)2598 make_RENEW_TIMER (location_type l) 2599 { 2600 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l)); 2601 } 2602 #else 2603 static 2604 symbol_type make_RENEW_TIMER(const location_type & l)2605 make_RENEW_TIMER (const location_type& l) 2606 { 2607 return symbol_type (token::TOKEN_RENEW_TIMER, l); 2608 } 2609 #endif 2610 #if 201103L <= YY_CPLUSPLUS 2611 static 2612 symbol_type make_REBIND_TIMER(location_type l)2613 make_REBIND_TIMER (location_type l) 2614 { 2615 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l)); 2616 } 2617 #else 2618 static 2619 symbol_type make_REBIND_TIMER(const location_type & l)2620 make_REBIND_TIMER (const location_type& l) 2621 { 2622 return symbol_type (token::TOKEN_REBIND_TIMER, l); 2623 } 2624 #endif 2625 #if 201103L <= YY_CPLUSPLUS 2626 static 2627 symbol_type make_CALCULATE_TEE_TIMES(location_type l)2628 make_CALCULATE_TEE_TIMES (location_type l) 2629 { 2630 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l)); 2631 } 2632 #else 2633 static 2634 symbol_type make_CALCULATE_TEE_TIMES(const location_type & l)2635 make_CALCULATE_TEE_TIMES (const location_type& l) 2636 { 2637 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l); 2638 } 2639 #endif 2640 #if 201103L <= YY_CPLUSPLUS 2641 static 2642 symbol_type make_T1_PERCENT(location_type l)2643 make_T1_PERCENT (location_type l) 2644 { 2645 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l)); 2646 } 2647 #else 2648 static 2649 symbol_type make_T1_PERCENT(const location_type & l)2650 make_T1_PERCENT (const location_type& l) 2651 { 2652 return symbol_type (token::TOKEN_T1_PERCENT, l); 2653 } 2654 #endif 2655 #if 201103L <= YY_CPLUSPLUS 2656 static 2657 symbol_type make_T2_PERCENT(location_type l)2658 make_T2_PERCENT (location_type l) 2659 { 2660 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l)); 2661 } 2662 #else 2663 static 2664 symbol_type make_T2_PERCENT(const location_type & l)2665 make_T2_PERCENT (const location_type& l) 2666 { 2667 return symbol_type (token::TOKEN_T2_PERCENT, l); 2668 } 2669 #endif 2670 #if 201103L <= YY_CPLUSPLUS 2671 static 2672 symbol_type make_CACHE_THRESHOLD(location_type l)2673 make_CACHE_THRESHOLD (location_type l) 2674 { 2675 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l)); 2676 } 2677 #else 2678 static 2679 symbol_type make_CACHE_THRESHOLD(const location_type & l)2680 make_CACHE_THRESHOLD (const location_type& l) 2681 { 2682 return symbol_type (token::TOKEN_CACHE_THRESHOLD, l); 2683 } 2684 #endif 2685 #if 201103L <= YY_CPLUSPLUS 2686 static 2687 symbol_type make_CACHE_MAX_AGE(location_type l)2688 make_CACHE_MAX_AGE (location_type l) 2689 { 2690 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l)); 2691 } 2692 #else 2693 static 2694 symbol_type make_CACHE_MAX_AGE(const location_type & l)2695 make_CACHE_MAX_AGE (const location_type& l) 2696 { 2697 return symbol_type (token::TOKEN_CACHE_MAX_AGE, l); 2698 } 2699 #endif 2700 #if 201103L <= YY_CPLUSPLUS 2701 static 2702 symbol_type make_DECLINE_PROBATION_PERIOD(location_type l)2703 make_DECLINE_PROBATION_PERIOD (location_type l) 2704 { 2705 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l)); 2706 } 2707 #else 2708 static 2709 symbol_type make_DECLINE_PROBATION_PERIOD(const location_type & l)2710 make_DECLINE_PROBATION_PERIOD (const location_type& l) 2711 { 2712 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l); 2713 } 2714 #endif 2715 #if 201103L <= YY_CPLUSPLUS 2716 static 2717 symbol_type make_SERVER_TAG(location_type l)2718 make_SERVER_TAG (location_type l) 2719 { 2720 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l)); 2721 } 2722 #else 2723 static 2724 symbol_type make_SERVER_TAG(const location_type & l)2725 make_SERVER_TAG (const location_type& l) 2726 { 2727 return symbol_type (token::TOKEN_SERVER_TAG, l); 2728 } 2729 #endif 2730 #if 201103L <= YY_CPLUSPLUS 2731 static 2732 symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(location_type l)2733 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l) 2734 { 2735 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l)); 2736 } 2737 #else 2738 static 2739 symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type & l)2740 make_STATISTIC_DEFAULT_SAMPLE_COUNT (const location_type& l) 2741 { 2742 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l); 2743 } 2744 #endif 2745 #if 201103L <= YY_CPLUSPLUS 2746 static 2747 symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(location_type l)2748 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l) 2749 { 2750 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l)); 2751 } 2752 #else 2753 static 2754 symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type & l)2755 make_STATISTIC_DEFAULT_SAMPLE_AGE (const location_type& l) 2756 { 2757 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l); 2758 } 2759 #endif 2760 #if 201103L <= YY_CPLUSPLUS 2761 static 2762 symbol_type make_DDNS_SEND_UPDATES(location_type l)2763 make_DDNS_SEND_UPDATES (location_type l) 2764 { 2765 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l)); 2766 } 2767 #else 2768 static 2769 symbol_type make_DDNS_SEND_UPDATES(const location_type & l)2770 make_DDNS_SEND_UPDATES (const location_type& l) 2771 { 2772 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l); 2773 } 2774 #endif 2775 #if 201103L <= YY_CPLUSPLUS 2776 static 2777 symbol_type make_DDNS_OVERRIDE_NO_UPDATE(location_type l)2778 make_DDNS_OVERRIDE_NO_UPDATE (location_type l) 2779 { 2780 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l)); 2781 } 2782 #else 2783 static 2784 symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type & l)2785 make_DDNS_OVERRIDE_NO_UPDATE (const location_type& l) 2786 { 2787 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l); 2788 } 2789 #endif 2790 #if 201103L <= YY_CPLUSPLUS 2791 static 2792 symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(location_type l)2793 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l) 2794 { 2795 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l)); 2796 } 2797 #else 2798 static 2799 symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type & l)2800 make_DDNS_OVERRIDE_CLIENT_UPDATE (const location_type& l) 2801 { 2802 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l); 2803 } 2804 #endif 2805 #if 201103L <= YY_CPLUSPLUS 2806 static 2807 symbol_type make_DDNS_REPLACE_CLIENT_NAME(location_type l)2808 make_DDNS_REPLACE_CLIENT_NAME (location_type l) 2809 { 2810 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l)); 2811 } 2812 #else 2813 static 2814 symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type & l)2815 make_DDNS_REPLACE_CLIENT_NAME (const location_type& l) 2816 { 2817 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l); 2818 } 2819 #endif 2820 #if 201103L <= YY_CPLUSPLUS 2821 static 2822 symbol_type make_DDNS_GENERATED_PREFIX(location_type l)2823 make_DDNS_GENERATED_PREFIX (location_type l) 2824 { 2825 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l)); 2826 } 2827 #else 2828 static 2829 symbol_type make_DDNS_GENERATED_PREFIX(const location_type & l)2830 make_DDNS_GENERATED_PREFIX (const location_type& l) 2831 { 2832 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l); 2833 } 2834 #endif 2835 #if 201103L <= YY_CPLUSPLUS 2836 static 2837 symbol_type make_DDNS_QUALIFYING_SUFFIX(location_type l)2838 make_DDNS_QUALIFYING_SUFFIX (location_type l) 2839 { 2840 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l)); 2841 } 2842 #else 2843 static 2844 symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type & l)2845 make_DDNS_QUALIFYING_SUFFIX (const location_type& l) 2846 { 2847 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l); 2848 } 2849 #endif 2850 #if 201103L <= YY_CPLUSPLUS 2851 static 2852 symbol_type make_DDNS_UPDATE_ON_RENEW(location_type l)2853 make_DDNS_UPDATE_ON_RENEW (location_type l) 2854 { 2855 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l)); 2856 } 2857 #else 2858 static 2859 symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type & l)2860 make_DDNS_UPDATE_ON_RENEW (const location_type& l) 2861 { 2862 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l); 2863 } 2864 #endif 2865 #if 201103L <= YY_CPLUSPLUS 2866 static 2867 symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(location_type l)2868 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l) 2869 { 2870 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l)); 2871 } 2872 #else 2873 static 2874 symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type & l)2875 make_DDNS_USE_CONFLICT_RESOLUTION (const location_type& l) 2876 { 2877 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l); 2878 } 2879 #endif 2880 #if 201103L <= YY_CPLUSPLUS 2881 static 2882 symbol_type make_STORE_EXTENDED_INFO(location_type l)2883 make_STORE_EXTENDED_INFO (location_type l) 2884 { 2885 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l)); 2886 } 2887 #else 2888 static 2889 symbol_type make_STORE_EXTENDED_INFO(const location_type & l)2890 make_STORE_EXTENDED_INFO (const location_type& l) 2891 { 2892 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l); 2893 } 2894 #endif 2895 #if 201103L <= YY_CPLUSPLUS 2896 static 2897 symbol_type make_SUBNET6(location_type l)2898 make_SUBNET6 (location_type l) 2899 { 2900 return symbol_type (token::TOKEN_SUBNET6, std::move (l)); 2901 } 2902 #else 2903 static 2904 symbol_type make_SUBNET6(const location_type & l)2905 make_SUBNET6 (const location_type& l) 2906 { 2907 return symbol_type (token::TOKEN_SUBNET6, l); 2908 } 2909 #endif 2910 #if 201103L <= YY_CPLUSPLUS 2911 static 2912 symbol_type make_OPTION_DEF(location_type l)2913 make_OPTION_DEF (location_type l) 2914 { 2915 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l)); 2916 } 2917 #else 2918 static 2919 symbol_type make_OPTION_DEF(const location_type & l)2920 make_OPTION_DEF (const location_type& l) 2921 { 2922 return symbol_type (token::TOKEN_OPTION_DEF, l); 2923 } 2924 #endif 2925 #if 201103L <= YY_CPLUSPLUS 2926 static 2927 symbol_type make_OPTION_DATA(location_type l)2928 make_OPTION_DATA (location_type l) 2929 { 2930 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l)); 2931 } 2932 #else 2933 static 2934 symbol_type make_OPTION_DATA(const location_type & l)2935 make_OPTION_DATA (const location_type& l) 2936 { 2937 return symbol_type (token::TOKEN_OPTION_DATA, l); 2938 } 2939 #endif 2940 #if 201103L <= YY_CPLUSPLUS 2941 static 2942 symbol_type make_NAME(location_type l)2943 make_NAME (location_type l) 2944 { 2945 return symbol_type (token::TOKEN_NAME, std::move (l)); 2946 } 2947 #else 2948 static 2949 symbol_type make_NAME(const location_type & l)2950 make_NAME (const location_type& l) 2951 { 2952 return symbol_type (token::TOKEN_NAME, l); 2953 } 2954 #endif 2955 #if 201103L <= YY_CPLUSPLUS 2956 static 2957 symbol_type make_DATA(location_type l)2958 make_DATA (location_type l) 2959 { 2960 return symbol_type (token::TOKEN_DATA, std::move (l)); 2961 } 2962 #else 2963 static 2964 symbol_type make_DATA(const location_type & l)2965 make_DATA (const location_type& l) 2966 { 2967 return symbol_type (token::TOKEN_DATA, l); 2968 } 2969 #endif 2970 #if 201103L <= YY_CPLUSPLUS 2971 static 2972 symbol_type make_CODE(location_type l)2973 make_CODE (location_type l) 2974 { 2975 return symbol_type (token::TOKEN_CODE, std::move (l)); 2976 } 2977 #else 2978 static 2979 symbol_type make_CODE(const location_type & l)2980 make_CODE (const location_type& l) 2981 { 2982 return symbol_type (token::TOKEN_CODE, l); 2983 } 2984 #endif 2985 #if 201103L <= YY_CPLUSPLUS 2986 static 2987 symbol_type make_SPACE(location_type l)2988 make_SPACE (location_type l) 2989 { 2990 return symbol_type (token::TOKEN_SPACE, std::move (l)); 2991 } 2992 #else 2993 static 2994 symbol_type make_SPACE(const location_type & l)2995 make_SPACE (const location_type& l) 2996 { 2997 return symbol_type (token::TOKEN_SPACE, l); 2998 } 2999 #endif 3000 #if 201103L <= YY_CPLUSPLUS 3001 static 3002 symbol_type make_CSV_FORMAT(location_type l)3003 make_CSV_FORMAT (location_type l) 3004 { 3005 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l)); 3006 } 3007 #else 3008 static 3009 symbol_type make_CSV_FORMAT(const location_type & l)3010 make_CSV_FORMAT (const location_type& l) 3011 { 3012 return symbol_type (token::TOKEN_CSV_FORMAT, l); 3013 } 3014 #endif 3015 #if 201103L <= YY_CPLUSPLUS 3016 static 3017 symbol_type make_ALWAYS_SEND(location_type l)3018 make_ALWAYS_SEND (location_type l) 3019 { 3020 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l)); 3021 } 3022 #else 3023 static 3024 symbol_type make_ALWAYS_SEND(const location_type & l)3025 make_ALWAYS_SEND (const location_type& l) 3026 { 3027 return symbol_type (token::TOKEN_ALWAYS_SEND, l); 3028 } 3029 #endif 3030 #if 201103L <= YY_CPLUSPLUS 3031 static 3032 symbol_type make_RECORD_TYPES(location_type l)3033 make_RECORD_TYPES (location_type l) 3034 { 3035 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l)); 3036 } 3037 #else 3038 static 3039 symbol_type make_RECORD_TYPES(const location_type & l)3040 make_RECORD_TYPES (const location_type& l) 3041 { 3042 return symbol_type (token::TOKEN_RECORD_TYPES, l); 3043 } 3044 #endif 3045 #if 201103L <= YY_CPLUSPLUS 3046 static 3047 symbol_type make_ENCAPSULATE(location_type l)3048 make_ENCAPSULATE (location_type l) 3049 { 3050 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l)); 3051 } 3052 #else 3053 static 3054 symbol_type make_ENCAPSULATE(const location_type & l)3055 make_ENCAPSULATE (const location_type& l) 3056 { 3057 return symbol_type (token::TOKEN_ENCAPSULATE, l); 3058 } 3059 #endif 3060 #if 201103L <= YY_CPLUSPLUS 3061 static 3062 symbol_type make_ARRAY(location_type l)3063 make_ARRAY (location_type l) 3064 { 3065 return symbol_type (token::TOKEN_ARRAY, std::move (l)); 3066 } 3067 #else 3068 static 3069 symbol_type make_ARRAY(const location_type & l)3070 make_ARRAY (const location_type& l) 3071 { 3072 return symbol_type (token::TOKEN_ARRAY, l); 3073 } 3074 #endif 3075 #if 201103L <= YY_CPLUSPLUS 3076 static 3077 symbol_type make_PARKED_PACKET_LIMIT(location_type l)3078 make_PARKED_PACKET_LIMIT (location_type l) 3079 { 3080 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l)); 3081 } 3082 #else 3083 static 3084 symbol_type make_PARKED_PACKET_LIMIT(const location_type & l)3085 make_PARKED_PACKET_LIMIT (const location_type& l) 3086 { 3087 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, l); 3088 } 3089 #endif 3090 #if 201103L <= YY_CPLUSPLUS 3091 static 3092 symbol_type make_SHARED_NETWORKS(location_type l)3093 make_SHARED_NETWORKS (location_type l) 3094 { 3095 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l)); 3096 } 3097 #else 3098 static 3099 symbol_type make_SHARED_NETWORKS(const location_type & l)3100 make_SHARED_NETWORKS (const location_type& l) 3101 { 3102 return symbol_type (token::TOKEN_SHARED_NETWORKS, l); 3103 } 3104 #endif 3105 #if 201103L <= YY_CPLUSPLUS 3106 static 3107 symbol_type make_POOLS(location_type l)3108 make_POOLS (location_type l) 3109 { 3110 return symbol_type (token::TOKEN_POOLS, std::move (l)); 3111 } 3112 #else 3113 static 3114 symbol_type make_POOLS(const location_type & l)3115 make_POOLS (const location_type& l) 3116 { 3117 return symbol_type (token::TOKEN_POOLS, l); 3118 } 3119 #endif 3120 #if 201103L <= YY_CPLUSPLUS 3121 static 3122 symbol_type make_POOL(location_type l)3123 make_POOL (location_type l) 3124 { 3125 return symbol_type (token::TOKEN_POOL, std::move (l)); 3126 } 3127 #else 3128 static 3129 symbol_type make_POOL(const location_type & l)3130 make_POOL (const location_type& l) 3131 { 3132 return symbol_type (token::TOKEN_POOL, l); 3133 } 3134 #endif 3135 #if 201103L <= YY_CPLUSPLUS 3136 static 3137 symbol_type make_PD_POOLS(location_type l)3138 make_PD_POOLS (location_type l) 3139 { 3140 return symbol_type (token::TOKEN_PD_POOLS, std::move (l)); 3141 } 3142 #else 3143 static 3144 symbol_type make_PD_POOLS(const location_type & l)3145 make_PD_POOLS (const location_type& l) 3146 { 3147 return symbol_type (token::TOKEN_PD_POOLS, l); 3148 } 3149 #endif 3150 #if 201103L <= YY_CPLUSPLUS 3151 static 3152 symbol_type make_PREFIX(location_type l)3153 make_PREFIX (location_type l) 3154 { 3155 return symbol_type (token::TOKEN_PREFIX, std::move (l)); 3156 } 3157 #else 3158 static 3159 symbol_type make_PREFIX(const location_type & l)3160 make_PREFIX (const location_type& l) 3161 { 3162 return symbol_type (token::TOKEN_PREFIX, l); 3163 } 3164 #endif 3165 #if 201103L <= YY_CPLUSPLUS 3166 static 3167 symbol_type make_PREFIX_LEN(location_type l)3168 make_PREFIX_LEN (location_type l) 3169 { 3170 return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l)); 3171 } 3172 #else 3173 static 3174 symbol_type make_PREFIX_LEN(const location_type & l)3175 make_PREFIX_LEN (const location_type& l) 3176 { 3177 return symbol_type (token::TOKEN_PREFIX_LEN, l); 3178 } 3179 #endif 3180 #if 201103L <= YY_CPLUSPLUS 3181 static 3182 symbol_type make_EXCLUDED_PREFIX(location_type l)3183 make_EXCLUDED_PREFIX (location_type l) 3184 { 3185 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l)); 3186 } 3187 #else 3188 static 3189 symbol_type make_EXCLUDED_PREFIX(const location_type & l)3190 make_EXCLUDED_PREFIX (const location_type& l) 3191 { 3192 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l); 3193 } 3194 #endif 3195 #if 201103L <= YY_CPLUSPLUS 3196 static 3197 symbol_type make_EXCLUDED_PREFIX_LEN(location_type l)3198 make_EXCLUDED_PREFIX_LEN (location_type l) 3199 { 3200 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l)); 3201 } 3202 #else 3203 static 3204 symbol_type make_EXCLUDED_PREFIX_LEN(const location_type & l)3205 make_EXCLUDED_PREFIX_LEN (const location_type& l) 3206 { 3207 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, l); 3208 } 3209 #endif 3210 #if 201103L <= YY_CPLUSPLUS 3211 static 3212 symbol_type make_DELEGATED_LEN(location_type l)3213 make_DELEGATED_LEN (location_type l) 3214 { 3215 return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l)); 3216 } 3217 #else 3218 static 3219 symbol_type make_DELEGATED_LEN(const location_type & l)3220 make_DELEGATED_LEN (const location_type& l) 3221 { 3222 return symbol_type (token::TOKEN_DELEGATED_LEN, l); 3223 } 3224 #endif 3225 #if 201103L <= YY_CPLUSPLUS 3226 static 3227 symbol_type make_USER_CONTEXT(location_type l)3228 make_USER_CONTEXT (location_type l) 3229 { 3230 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l)); 3231 } 3232 #else 3233 static 3234 symbol_type make_USER_CONTEXT(const location_type & l)3235 make_USER_CONTEXT (const location_type& l) 3236 { 3237 return symbol_type (token::TOKEN_USER_CONTEXT, l); 3238 } 3239 #endif 3240 #if 201103L <= YY_CPLUSPLUS 3241 static 3242 symbol_type make_COMMENT(location_type l)3243 make_COMMENT (location_type l) 3244 { 3245 return symbol_type (token::TOKEN_COMMENT, std::move (l)); 3246 } 3247 #else 3248 static 3249 symbol_type make_COMMENT(const location_type & l)3250 make_COMMENT (const location_type& l) 3251 { 3252 return symbol_type (token::TOKEN_COMMENT, l); 3253 } 3254 #endif 3255 #if 201103L <= YY_CPLUSPLUS 3256 static 3257 symbol_type make_SUBNET(location_type l)3258 make_SUBNET (location_type l) 3259 { 3260 return symbol_type (token::TOKEN_SUBNET, std::move (l)); 3261 } 3262 #else 3263 static 3264 symbol_type make_SUBNET(const location_type & l)3265 make_SUBNET (const location_type& l) 3266 { 3267 return symbol_type (token::TOKEN_SUBNET, l); 3268 } 3269 #endif 3270 #if 201103L <= YY_CPLUSPLUS 3271 static 3272 symbol_type make_INTERFACE(location_type l)3273 make_INTERFACE (location_type l) 3274 { 3275 return symbol_type (token::TOKEN_INTERFACE, std::move (l)); 3276 } 3277 #else 3278 static 3279 symbol_type make_INTERFACE(const location_type & l)3280 make_INTERFACE (const location_type& l) 3281 { 3282 return symbol_type (token::TOKEN_INTERFACE, l); 3283 } 3284 #endif 3285 #if 201103L <= YY_CPLUSPLUS 3286 static 3287 symbol_type make_INTERFACE_ID(location_type l)3288 make_INTERFACE_ID (location_type l) 3289 { 3290 return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l)); 3291 } 3292 #else 3293 static 3294 symbol_type make_INTERFACE_ID(const location_type & l)3295 make_INTERFACE_ID (const location_type& l) 3296 { 3297 return symbol_type (token::TOKEN_INTERFACE_ID, l); 3298 } 3299 #endif 3300 #if 201103L <= YY_CPLUSPLUS 3301 static 3302 symbol_type make_ID(location_type l)3303 make_ID (location_type l) 3304 { 3305 return symbol_type (token::TOKEN_ID, std::move (l)); 3306 } 3307 #else 3308 static 3309 symbol_type make_ID(const location_type & l)3310 make_ID (const location_type& l) 3311 { 3312 return symbol_type (token::TOKEN_ID, l); 3313 } 3314 #endif 3315 #if 201103L <= YY_CPLUSPLUS 3316 static 3317 symbol_type make_RAPID_COMMIT(location_type l)3318 make_RAPID_COMMIT (location_type l) 3319 { 3320 return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l)); 3321 } 3322 #else 3323 static 3324 symbol_type make_RAPID_COMMIT(const location_type & l)3325 make_RAPID_COMMIT (const location_type& l) 3326 { 3327 return symbol_type (token::TOKEN_RAPID_COMMIT, l); 3328 } 3329 #endif 3330 #if 201103L <= YY_CPLUSPLUS 3331 static 3332 symbol_type make_RESERVATION_MODE(location_type l)3333 make_RESERVATION_MODE (location_type l) 3334 { 3335 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l)); 3336 } 3337 #else 3338 static 3339 symbol_type make_RESERVATION_MODE(const location_type & l)3340 make_RESERVATION_MODE (const location_type& l) 3341 { 3342 return symbol_type (token::TOKEN_RESERVATION_MODE, l); 3343 } 3344 #endif 3345 #if 201103L <= YY_CPLUSPLUS 3346 static 3347 symbol_type make_DISABLED(location_type l)3348 make_DISABLED (location_type l) 3349 { 3350 return symbol_type (token::TOKEN_DISABLED, std::move (l)); 3351 } 3352 #else 3353 static 3354 symbol_type make_DISABLED(const location_type & l)3355 make_DISABLED (const location_type& l) 3356 { 3357 return symbol_type (token::TOKEN_DISABLED, l); 3358 } 3359 #endif 3360 #if 201103L <= YY_CPLUSPLUS 3361 static 3362 symbol_type make_OUT_OF_POOL(location_type l)3363 make_OUT_OF_POOL (location_type l) 3364 { 3365 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l)); 3366 } 3367 #else 3368 static 3369 symbol_type make_OUT_OF_POOL(const location_type & l)3370 make_OUT_OF_POOL (const location_type& l) 3371 { 3372 return symbol_type (token::TOKEN_OUT_OF_POOL, l); 3373 } 3374 #endif 3375 #if 201103L <= YY_CPLUSPLUS 3376 static 3377 symbol_type make_GLOBAL(location_type l)3378 make_GLOBAL (location_type l) 3379 { 3380 return symbol_type (token::TOKEN_GLOBAL, std::move (l)); 3381 } 3382 #else 3383 static 3384 symbol_type make_GLOBAL(const location_type & l)3385 make_GLOBAL (const location_type& l) 3386 { 3387 return symbol_type (token::TOKEN_GLOBAL, l); 3388 } 3389 #endif 3390 #if 201103L <= YY_CPLUSPLUS 3391 static 3392 symbol_type make_ALL(location_type l)3393 make_ALL (location_type l) 3394 { 3395 return symbol_type (token::TOKEN_ALL, std::move (l)); 3396 } 3397 #else 3398 static 3399 symbol_type make_ALL(const location_type & l)3400 make_ALL (const location_type& l) 3401 { 3402 return symbol_type (token::TOKEN_ALL, l); 3403 } 3404 #endif 3405 #if 201103L <= YY_CPLUSPLUS 3406 static 3407 symbol_type make_RESERVATIONS_GLOBAL(location_type l)3408 make_RESERVATIONS_GLOBAL (location_type l) 3409 { 3410 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l)); 3411 } 3412 #else 3413 static 3414 symbol_type make_RESERVATIONS_GLOBAL(const location_type & l)3415 make_RESERVATIONS_GLOBAL (const location_type& l) 3416 { 3417 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l); 3418 } 3419 #endif 3420 #if 201103L <= YY_CPLUSPLUS 3421 static 3422 symbol_type make_RESERVATIONS_IN_SUBNET(location_type l)3423 make_RESERVATIONS_IN_SUBNET (location_type l) 3424 { 3425 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l)); 3426 } 3427 #else 3428 static 3429 symbol_type make_RESERVATIONS_IN_SUBNET(const location_type & l)3430 make_RESERVATIONS_IN_SUBNET (const location_type& l) 3431 { 3432 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l); 3433 } 3434 #endif 3435 #if 201103L <= YY_CPLUSPLUS 3436 static 3437 symbol_type make_RESERVATIONS_OUT_OF_POOL(location_type l)3438 make_RESERVATIONS_OUT_OF_POOL (location_type l) 3439 { 3440 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l)); 3441 } 3442 #else 3443 static 3444 symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type & l)3445 make_RESERVATIONS_OUT_OF_POOL (const location_type& l) 3446 { 3447 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l); 3448 } 3449 #endif 3450 #if 201103L <= YY_CPLUSPLUS 3451 static 3452 symbol_type make_MAC_SOURCES(location_type l)3453 make_MAC_SOURCES (location_type l) 3454 { 3455 return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l)); 3456 } 3457 #else 3458 static 3459 symbol_type make_MAC_SOURCES(const location_type & l)3460 make_MAC_SOURCES (const location_type& l) 3461 { 3462 return symbol_type (token::TOKEN_MAC_SOURCES, l); 3463 } 3464 #endif 3465 #if 201103L <= YY_CPLUSPLUS 3466 static 3467 symbol_type make_RELAY_SUPPLIED_OPTIONS(location_type l)3468 make_RELAY_SUPPLIED_OPTIONS (location_type l) 3469 { 3470 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l)); 3471 } 3472 #else 3473 static 3474 symbol_type make_RELAY_SUPPLIED_OPTIONS(const location_type & l)3475 make_RELAY_SUPPLIED_OPTIONS (const location_type& l) 3476 { 3477 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l); 3478 } 3479 #endif 3480 #if 201103L <= YY_CPLUSPLUS 3481 static 3482 symbol_type make_HOST_RESERVATION_IDENTIFIERS(location_type l)3483 make_HOST_RESERVATION_IDENTIFIERS (location_type l) 3484 { 3485 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l)); 3486 } 3487 #else 3488 static 3489 symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type & l)3490 make_HOST_RESERVATION_IDENTIFIERS (const location_type& l) 3491 { 3492 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l); 3493 } 3494 #endif 3495 #if 201103L <= YY_CPLUSPLUS 3496 static 3497 symbol_type make_SANITY_CHECKS(location_type l)3498 make_SANITY_CHECKS (location_type l) 3499 { 3500 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l)); 3501 } 3502 #else 3503 static 3504 symbol_type make_SANITY_CHECKS(const location_type & l)3505 make_SANITY_CHECKS (const location_type& l) 3506 { 3507 return symbol_type (token::TOKEN_SANITY_CHECKS, l); 3508 } 3509 #endif 3510 #if 201103L <= YY_CPLUSPLUS 3511 static 3512 symbol_type make_LEASE_CHECKS(location_type l)3513 make_LEASE_CHECKS (location_type l) 3514 { 3515 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l)); 3516 } 3517 #else 3518 static 3519 symbol_type make_LEASE_CHECKS(const location_type & l)3520 make_LEASE_CHECKS (const location_type& l) 3521 { 3522 return symbol_type (token::TOKEN_LEASE_CHECKS, l); 3523 } 3524 #endif 3525 #if 201103L <= YY_CPLUSPLUS 3526 static 3527 symbol_type make_CLIENT_CLASSES(location_type l)3528 make_CLIENT_CLASSES (location_type l) 3529 { 3530 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l)); 3531 } 3532 #else 3533 static 3534 symbol_type make_CLIENT_CLASSES(const location_type & l)3535 make_CLIENT_CLASSES (const location_type& l) 3536 { 3537 return symbol_type (token::TOKEN_CLIENT_CLASSES, l); 3538 } 3539 #endif 3540 #if 201103L <= YY_CPLUSPLUS 3541 static 3542 symbol_type make_REQUIRE_CLIENT_CLASSES(location_type l)3543 make_REQUIRE_CLIENT_CLASSES (location_type l) 3544 { 3545 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l)); 3546 } 3547 #else 3548 static 3549 symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type & l)3550 make_REQUIRE_CLIENT_CLASSES (const location_type& l) 3551 { 3552 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l); 3553 } 3554 #endif 3555 #if 201103L <= YY_CPLUSPLUS 3556 static 3557 symbol_type make_TEST(location_type l)3558 make_TEST (location_type l) 3559 { 3560 return symbol_type (token::TOKEN_TEST, std::move (l)); 3561 } 3562 #else 3563 static 3564 symbol_type make_TEST(const location_type & l)3565 make_TEST (const location_type& l) 3566 { 3567 return symbol_type (token::TOKEN_TEST, l); 3568 } 3569 #endif 3570 #if 201103L <= YY_CPLUSPLUS 3571 static 3572 symbol_type make_ONLY_IF_REQUIRED(location_type l)3573 make_ONLY_IF_REQUIRED (location_type l) 3574 { 3575 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l)); 3576 } 3577 #else 3578 static 3579 symbol_type make_ONLY_IF_REQUIRED(const location_type & l)3580 make_ONLY_IF_REQUIRED (const location_type& l) 3581 { 3582 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l); 3583 } 3584 #endif 3585 #if 201103L <= YY_CPLUSPLUS 3586 static 3587 symbol_type make_CLIENT_CLASS(location_type l)3588 make_CLIENT_CLASS (location_type l) 3589 { 3590 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l)); 3591 } 3592 #else 3593 static 3594 symbol_type make_CLIENT_CLASS(const location_type & l)3595 make_CLIENT_CLASS (const location_type& l) 3596 { 3597 return symbol_type (token::TOKEN_CLIENT_CLASS, l); 3598 } 3599 #endif 3600 #if 201103L <= YY_CPLUSPLUS 3601 static 3602 symbol_type make_RESERVATIONS(location_type l)3603 make_RESERVATIONS (location_type l) 3604 { 3605 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l)); 3606 } 3607 #else 3608 static 3609 symbol_type make_RESERVATIONS(const location_type & l)3610 make_RESERVATIONS (const location_type& l) 3611 { 3612 return symbol_type (token::TOKEN_RESERVATIONS, l); 3613 } 3614 #endif 3615 #if 201103L <= YY_CPLUSPLUS 3616 static 3617 symbol_type make_IP_ADDRESSES(location_type l)3618 make_IP_ADDRESSES (location_type l) 3619 { 3620 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l)); 3621 } 3622 #else 3623 static 3624 symbol_type make_IP_ADDRESSES(const location_type & l)3625 make_IP_ADDRESSES (const location_type& l) 3626 { 3627 return symbol_type (token::TOKEN_IP_ADDRESSES, l); 3628 } 3629 #endif 3630 #if 201103L <= YY_CPLUSPLUS 3631 static 3632 symbol_type make_PREFIXES(location_type l)3633 make_PREFIXES (location_type l) 3634 { 3635 return symbol_type (token::TOKEN_PREFIXES, std::move (l)); 3636 } 3637 #else 3638 static 3639 symbol_type make_PREFIXES(const location_type & l)3640 make_PREFIXES (const location_type& l) 3641 { 3642 return symbol_type (token::TOKEN_PREFIXES, l); 3643 } 3644 #endif 3645 #if 201103L <= YY_CPLUSPLUS 3646 static 3647 symbol_type make_DUID(location_type l)3648 make_DUID (location_type l) 3649 { 3650 return symbol_type (token::TOKEN_DUID, std::move (l)); 3651 } 3652 #else 3653 static 3654 symbol_type make_DUID(const location_type & l)3655 make_DUID (const location_type& l) 3656 { 3657 return symbol_type (token::TOKEN_DUID, l); 3658 } 3659 #endif 3660 #if 201103L <= YY_CPLUSPLUS 3661 static 3662 symbol_type make_HW_ADDRESS(location_type l)3663 make_HW_ADDRESS (location_type l) 3664 { 3665 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l)); 3666 } 3667 #else 3668 static 3669 symbol_type make_HW_ADDRESS(const location_type & l)3670 make_HW_ADDRESS (const location_type& l) 3671 { 3672 return symbol_type (token::TOKEN_HW_ADDRESS, l); 3673 } 3674 #endif 3675 #if 201103L <= YY_CPLUSPLUS 3676 static 3677 symbol_type make_HOSTNAME(location_type l)3678 make_HOSTNAME (location_type l) 3679 { 3680 return symbol_type (token::TOKEN_HOSTNAME, std::move (l)); 3681 } 3682 #else 3683 static 3684 symbol_type make_HOSTNAME(const location_type & l)3685 make_HOSTNAME (const location_type& l) 3686 { 3687 return symbol_type (token::TOKEN_HOSTNAME, l); 3688 } 3689 #endif 3690 #if 201103L <= YY_CPLUSPLUS 3691 static 3692 symbol_type make_FLEX_ID(location_type l)3693 make_FLEX_ID (location_type l) 3694 { 3695 return symbol_type (token::TOKEN_FLEX_ID, std::move (l)); 3696 } 3697 #else 3698 static 3699 symbol_type make_FLEX_ID(const location_type & l)3700 make_FLEX_ID (const location_type& l) 3701 { 3702 return symbol_type (token::TOKEN_FLEX_ID, l); 3703 } 3704 #endif 3705 #if 201103L <= YY_CPLUSPLUS 3706 static 3707 symbol_type make_RELAY(location_type l)3708 make_RELAY (location_type l) 3709 { 3710 return symbol_type (token::TOKEN_RELAY, std::move (l)); 3711 } 3712 #else 3713 static 3714 symbol_type make_RELAY(const location_type & l)3715 make_RELAY (const location_type& l) 3716 { 3717 return symbol_type (token::TOKEN_RELAY, l); 3718 } 3719 #endif 3720 #if 201103L <= YY_CPLUSPLUS 3721 static 3722 symbol_type make_IP_ADDRESS(location_type l)3723 make_IP_ADDRESS (location_type l) 3724 { 3725 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l)); 3726 } 3727 #else 3728 static 3729 symbol_type make_IP_ADDRESS(const location_type & l)3730 make_IP_ADDRESS (const location_type& l) 3731 { 3732 return symbol_type (token::TOKEN_IP_ADDRESS, l); 3733 } 3734 #endif 3735 #if 201103L <= YY_CPLUSPLUS 3736 static 3737 symbol_type make_HOOKS_LIBRARIES(location_type l)3738 make_HOOKS_LIBRARIES (location_type l) 3739 { 3740 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l)); 3741 } 3742 #else 3743 static 3744 symbol_type make_HOOKS_LIBRARIES(const location_type & l)3745 make_HOOKS_LIBRARIES (const location_type& l) 3746 { 3747 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l); 3748 } 3749 #endif 3750 #if 201103L <= YY_CPLUSPLUS 3751 static 3752 symbol_type make_LIBRARY(location_type l)3753 make_LIBRARY (location_type l) 3754 { 3755 return symbol_type (token::TOKEN_LIBRARY, std::move (l)); 3756 } 3757 #else 3758 static 3759 symbol_type make_LIBRARY(const location_type & l)3760 make_LIBRARY (const location_type& l) 3761 { 3762 return symbol_type (token::TOKEN_LIBRARY, l); 3763 } 3764 #endif 3765 #if 201103L <= YY_CPLUSPLUS 3766 static 3767 symbol_type make_PARAMETERS(location_type l)3768 make_PARAMETERS (location_type l) 3769 { 3770 return symbol_type (token::TOKEN_PARAMETERS, std::move (l)); 3771 } 3772 #else 3773 static 3774 symbol_type make_PARAMETERS(const location_type & l)3775 make_PARAMETERS (const location_type& l) 3776 { 3777 return symbol_type (token::TOKEN_PARAMETERS, l); 3778 } 3779 #endif 3780 #if 201103L <= YY_CPLUSPLUS 3781 static 3782 symbol_type make_EXPIRED_LEASES_PROCESSING(location_type l)3783 make_EXPIRED_LEASES_PROCESSING (location_type l) 3784 { 3785 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l)); 3786 } 3787 #else 3788 static 3789 symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type & l)3790 make_EXPIRED_LEASES_PROCESSING (const location_type& l) 3791 { 3792 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l); 3793 } 3794 #endif 3795 #if 201103L <= YY_CPLUSPLUS 3796 static 3797 symbol_type make_RECLAIM_TIMER_WAIT_TIME(location_type l)3798 make_RECLAIM_TIMER_WAIT_TIME (location_type l) 3799 { 3800 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l)); 3801 } 3802 #else 3803 static 3804 symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type & l)3805 make_RECLAIM_TIMER_WAIT_TIME (const location_type& l) 3806 { 3807 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l); 3808 } 3809 #endif 3810 #if 201103L <= YY_CPLUSPLUS 3811 static 3812 symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(location_type l)3813 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l) 3814 { 3815 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l)); 3816 } 3817 #else 3818 static 3819 symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type & l)3820 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (const location_type& l) 3821 { 3822 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l); 3823 } 3824 #endif 3825 #if 201103L <= YY_CPLUSPLUS 3826 static 3827 symbol_type make_HOLD_RECLAIMED_TIME(location_type l)3828 make_HOLD_RECLAIMED_TIME (location_type l) 3829 { 3830 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l)); 3831 } 3832 #else 3833 static 3834 symbol_type make_HOLD_RECLAIMED_TIME(const location_type & l)3835 make_HOLD_RECLAIMED_TIME (const location_type& l) 3836 { 3837 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l); 3838 } 3839 #endif 3840 #if 201103L <= YY_CPLUSPLUS 3841 static 3842 symbol_type make_MAX_RECLAIM_LEASES(location_type l)3843 make_MAX_RECLAIM_LEASES (location_type l) 3844 { 3845 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l)); 3846 } 3847 #else 3848 static 3849 symbol_type make_MAX_RECLAIM_LEASES(const location_type & l)3850 make_MAX_RECLAIM_LEASES (const location_type& l) 3851 { 3852 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l); 3853 } 3854 #endif 3855 #if 201103L <= YY_CPLUSPLUS 3856 static 3857 symbol_type make_MAX_RECLAIM_TIME(location_type l)3858 make_MAX_RECLAIM_TIME (location_type l) 3859 { 3860 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l)); 3861 } 3862 #else 3863 static 3864 symbol_type make_MAX_RECLAIM_TIME(const location_type & l)3865 make_MAX_RECLAIM_TIME (const location_type& l) 3866 { 3867 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l); 3868 } 3869 #endif 3870 #if 201103L <= YY_CPLUSPLUS 3871 static 3872 symbol_type make_UNWARNED_RECLAIM_CYCLES(location_type l)3873 make_UNWARNED_RECLAIM_CYCLES (location_type l) 3874 { 3875 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l)); 3876 } 3877 #else 3878 static 3879 symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type & l)3880 make_UNWARNED_RECLAIM_CYCLES (const location_type& l) 3881 { 3882 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l); 3883 } 3884 #endif 3885 #if 201103L <= YY_CPLUSPLUS 3886 static 3887 symbol_type make_SERVER_ID(location_type l)3888 make_SERVER_ID (location_type l) 3889 { 3890 return symbol_type (token::TOKEN_SERVER_ID, std::move (l)); 3891 } 3892 #else 3893 static 3894 symbol_type make_SERVER_ID(const location_type & l)3895 make_SERVER_ID (const location_type& l) 3896 { 3897 return symbol_type (token::TOKEN_SERVER_ID, l); 3898 } 3899 #endif 3900 #if 201103L <= YY_CPLUSPLUS 3901 static 3902 symbol_type make_LLT(location_type l)3903 make_LLT (location_type l) 3904 { 3905 return symbol_type (token::TOKEN_LLT, std::move (l)); 3906 } 3907 #else 3908 static 3909 symbol_type make_LLT(const location_type & l)3910 make_LLT (const location_type& l) 3911 { 3912 return symbol_type (token::TOKEN_LLT, l); 3913 } 3914 #endif 3915 #if 201103L <= YY_CPLUSPLUS 3916 static 3917 symbol_type make_EN(location_type l)3918 make_EN (location_type l) 3919 { 3920 return symbol_type (token::TOKEN_EN, std::move (l)); 3921 } 3922 #else 3923 static 3924 symbol_type make_EN(const location_type & l)3925 make_EN (const location_type& l) 3926 { 3927 return symbol_type (token::TOKEN_EN, l); 3928 } 3929 #endif 3930 #if 201103L <= YY_CPLUSPLUS 3931 static 3932 symbol_type make_LL(location_type l)3933 make_LL (location_type l) 3934 { 3935 return symbol_type (token::TOKEN_LL, std::move (l)); 3936 } 3937 #else 3938 static 3939 symbol_type make_LL(const location_type & l)3940 make_LL (const location_type& l) 3941 { 3942 return symbol_type (token::TOKEN_LL, l); 3943 } 3944 #endif 3945 #if 201103L <= YY_CPLUSPLUS 3946 static 3947 symbol_type make_IDENTIFIER(location_type l)3948 make_IDENTIFIER (location_type l) 3949 { 3950 return symbol_type (token::TOKEN_IDENTIFIER, std::move (l)); 3951 } 3952 #else 3953 static 3954 symbol_type make_IDENTIFIER(const location_type & l)3955 make_IDENTIFIER (const location_type& l) 3956 { 3957 return symbol_type (token::TOKEN_IDENTIFIER, l); 3958 } 3959 #endif 3960 #if 201103L <= YY_CPLUSPLUS 3961 static 3962 symbol_type make_HTYPE(location_type l)3963 make_HTYPE (location_type l) 3964 { 3965 return symbol_type (token::TOKEN_HTYPE, std::move (l)); 3966 } 3967 #else 3968 static 3969 symbol_type make_HTYPE(const location_type & l)3970 make_HTYPE (const location_type& l) 3971 { 3972 return symbol_type (token::TOKEN_HTYPE, l); 3973 } 3974 #endif 3975 #if 201103L <= YY_CPLUSPLUS 3976 static 3977 symbol_type make_TIME(location_type l)3978 make_TIME (location_type l) 3979 { 3980 return symbol_type (token::TOKEN_TIME, std::move (l)); 3981 } 3982 #else 3983 static 3984 symbol_type make_TIME(const location_type & l)3985 make_TIME (const location_type& l) 3986 { 3987 return symbol_type (token::TOKEN_TIME, l); 3988 } 3989 #endif 3990 #if 201103L <= YY_CPLUSPLUS 3991 static 3992 symbol_type make_ENTERPRISE_ID(location_type l)3993 make_ENTERPRISE_ID (location_type l) 3994 { 3995 return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l)); 3996 } 3997 #else 3998 static 3999 symbol_type make_ENTERPRISE_ID(const location_type & l)4000 make_ENTERPRISE_ID (const location_type& l) 4001 { 4002 return symbol_type (token::TOKEN_ENTERPRISE_ID, l); 4003 } 4004 #endif 4005 #if 201103L <= YY_CPLUSPLUS 4006 static 4007 symbol_type make_DHCP4O6_PORT(location_type l)4008 make_DHCP4O6_PORT (location_type l) 4009 { 4010 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l)); 4011 } 4012 #else 4013 static 4014 symbol_type make_DHCP4O6_PORT(const location_type & l)4015 make_DHCP4O6_PORT (const location_type& l) 4016 { 4017 return symbol_type (token::TOKEN_DHCP4O6_PORT, l); 4018 } 4019 #endif 4020 #if 201103L <= YY_CPLUSPLUS 4021 static 4022 symbol_type make_DHCP_MULTI_THREADING(location_type l)4023 make_DHCP_MULTI_THREADING (location_type l) 4024 { 4025 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l)); 4026 } 4027 #else 4028 static 4029 symbol_type make_DHCP_MULTI_THREADING(const location_type & l)4030 make_DHCP_MULTI_THREADING (const location_type& l) 4031 { 4032 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l); 4033 } 4034 #endif 4035 #if 201103L <= YY_CPLUSPLUS 4036 static 4037 symbol_type make_ENABLE_MULTI_THREADING(location_type l)4038 make_ENABLE_MULTI_THREADING (location_type l) 4039 { 4040 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l)); 4041 } 4042 #else 4043 static 4044 symbol_type make_ENABLE_MULTI_THREADING(const location_type & l)4045 make_ENABLE_MULTI_THREADING (const location_type& l) 4046 { 4047 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l); 4048 } 4049 #endif 4050 #if 201103L <= YY_CPLUSPLUS 4051 static 4052 symbol_type make_THREAD_POOL_SIZE(location_type l)4053 make_THREAD_POOL_SIZE (location_type l) 4054 { 4055 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l)); 4056 } 4057 #else 4058 static 4059 symbol_type make_THREAD_POOL_SIZE(const location_type & l)4060 make_THREAD_POOL_SIZE (const location_type& l) 4061 { 4062 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l); 4063 } 4064 #endif 4065 #if 201103L <= YY_CPLUSPLUS 4066 static 4067 symbol_type make_PACKET_QUEUE_SIZE(location_type l)4068 make_PACKET_QUEUE_SIZE (location_type l) 4069 { 4070 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l)); 4071 } 4072 #else 4073 static 4074 symbol_type make_PACKET_QUEUE_SIZE(const location_type & l)4075 make_PACKET_QUEUE_SIZE (const location_type& l) 4076 { 4077 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l); 4078 } 4079 #endif 4080 #if 201103L <= YY_CPLUSPLUS 4081 static 4082 symbol_type make_CONTROL_SOCKET(location_type l)4083 make_CONTROL_SOCKET (location_type l) 4084 { 4085 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l)); 4086 } 4087 #else 4088 static 4089 symbol_type make_CONTROL_SOCKET(const location_type & l)4090 make_CONTROL_SOCKET (const location_type& l) 4091 { 4092 return symbol_type (token::TOKEN_CONTROL_SOCKET, l); 4093 } 4094 #endif 4095 #if 201103L <= YY_CPLUSPLUS 4096 static 4097 symbol_type make_SOCKET_TYPE(location_type l)4098 make_SOCKET_TYPE (location_type l) 4099 { 4100 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l)); 4101 } 4102 #else 4103 static 4104 symbol_type make_SOCKET_TYPE(const location_type & l)4105 make_SOCKET_TYPE (const location_type& l) 4106 { 4107 return symbol_type (token::TOKEN_SOCKET_TYPE, l); 4108 } 4109 #endif 4110 #if 201103L <= YY_CPLUSPLUS 4111 static 4112 symbol_type make_SOCKET_NAME(location_type l)4113 make_SOCKET_NAME (location_type l) 4114 { 4115 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l)); 4116 } 4117 #else 4118 static 4119 symbol_type make_SOCKET_NAME(const location_type & l)4120 make_SOCKET_NAME (const location_type& l) 4121 { 4122 return symbol_type (token::TOKEN_SOCKET_NAME, l); 4123 } 4124 #endif 4125 #if 201103L <= YY_CPLUSPLUS 4126 static 4127 symbol_type make_DHCP_QUEUE_CONTROL(location_type l)4128 make_DHCP_QUEUE_CONTROL (location_type l) 4129 { 4130 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l)); 4131 } 4132 #else 4133 static 4134 symbol_type make_DHCP_QUEUE_CONTROL(const location_type & l)4135 make_DHCP_QUEUE_CONTROL (const location_type& l) 4136 { 4137 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l); 4138 } 4139 #endif 4140 #if 201103L <= YY_CPLUSPLUS 4141 static 4142 symbol_type make_ENABLE_QUEUE(location_type l)4143 make_ENABLE_QUEUE (location_type l) 4144 { 4145 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l)); 4146 } 4147 #else 4148 static 4149 symbol_type make_ENABLE_QUEUE(const location_type & l)4150 make_ENABLE_QUEUE (const location_type& l) 4151 { 4152 return symbol_type (token::TOKEN_ENABLE_QUEUE, l); 4153 } 4154 #endif 4155 #if 201103L <= YY_CPLUSPLUS 4156 static 4157 symbol_type make_QUEUE_TYPE(location_type l)4158 make_QUEUE_TYPE (location_type l) 4159 { 4160 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l)); 4161 } 4162 #else 4163 static 4164 symbol_type make_QUEUE_TYPE(const location_type & l)4165 make_QUEUE_TYPE (const location_type& l) 4166 { 4167 return symbol_type (token::TOKEN_QUEUE_TYPE, l); 4168 } 4169 #endif 4170 #if 201103L <= YY_CPLUSPLUS 4171 static 4172 symbol_type make_CAPACITY(location_type l)4173 make_CAPACITY (location_type l) 4174 { 4175 return symbol_type (token::TOKEN_CAPACITY, std::move (l)); 4176 } 4177 #else 4178 static 4179 symbol_type make_CAPACITY(const location_type & l)4180 make_CAPACITY (const location_type& l) 4181 { 4182 return symbol_type (token::TOKEN_CAPACITY, l); 4183 } 4184 #endif 4185 #if 201103L <= YY_CPLUSPLUS 4186 static 4187 symbol_type make_DHCP_DDNS(location_type l)4188 make_DHCP_DDNS (location_type l) 4189 { 4190 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l)); 4191 } 4192 #else 4193 static 4194 symbol_type make_DHCP_DDNS(const location_type & l)4195 make_DHCP_DDNS (const location_type& l) 4196 { 4197 return symbol_type (token::TOKEN_DHCP_DDNS, l); 4198 } 4199 #endif 4200 #if 201103L <= YY_CPLUSPLUS 4201 static 4202 symbol_type make_ENABLE_UPDATES(location_type l)4203 make_ENABLE_UPDATES (location_type l) 4204 { 4205 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l)); 4206 } 4207 #else 4208 static 4209 symbol_type make_ENABLE_UPDATES(const location_type & l)4210 make_ENABLE_UPDATES (const location_type& l) 4211 { 4212 return symbol_type (token::TOKEN_ENABLE_UPDATES, l); 4213 } 4214 #endif 4215 #if 201103L <= YY_CPLUSPLUS 4216 static 4217 symbol_type make_QUALIFYING_SUFFIX(location_type l)4218 make_QUALIFYING_SUFFIX (location_type l) 4219 { 4220 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l)); 4221 } 4222 #else 4223 static 4224 symbol_type make_QUALIFYING_SUFFIX(const location_type & l)4225 make_QUALIFYING_SUFFIX (const location_type& l) 4226 { 4227 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l); 4228 } 4229 #endif 4230 #if 201103L <= YY_CPLUSPLUS 4231 static 4232 symbol_type make_SERVER_IP(location_type l)4233 make_SERVER_IP (location_type l) 4234 { 4235 return symbol_type (token::TOKEN_SERVER_IP, std::move (l)); 4236 } 4237 #else 4238 static 4239 symbol_type make_SERVER_IP(const location_type & l)4240 make_SERVER_IP (const location_type& l) 4241 { 4242 return symbol_type (token::TOKEN_SERVER_IP, l); 4243 } 4244 #endif 4245 #if 201103L <= YY_CPLUSPLUS 4246 static 4247 symbol_type make_SERVER_PORT(location_type l)4248 make_SERVER_PORT (location_type l) 4249 { 4250 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l)); 4251 } 4252 #else 4253 static 4254 symbol_type make_SERVER_PORT(const location_type & l)4255 make_SERVER_PORT (const location_type& l) 4256 { 4257 return symbol_type (token::TOKEN_SERVER_PORT, l); 4258 } 4259 #endif 4260 #if 201103L <= YY_CPLUSPLUS 4261 static 4262 symbol_type make_SENDER_IP(location_type l)4263 make_SENDER_IP (location_type l) 4264 { 4265 return symbol_type (token::TOKEN_SENDER_IP, std::move (l)); 4266 } 4267 #else 4268 static 4269 symbol_type make_SENDER_IP(const location_type & l)4270 make_SENDER_IP (const location_type& l) 4271 { 4272 return symbol_type (token::TOKEN_SENDER_IP, l); 4273 } 4274 #endif 4275 #if 201103L <= YY_CPLUSPLUS 4276 static 4277 symbol_type make_SENDER_PORT(location_type l)4278 make_SENDER_PORT (location_type l) 4279 { 4280 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l)); 4281 } 4282 #else 4283 static 4284 symbol_type make_SENDER_PORT(const location_type & l)4285 make_SENDER_PORT (const location_type& l) 4286 { 4287 return symbol_type (token::TOKEN_SENDER_PORT, l); 4288 } 4289 #endif 4290 #if 201103L <= YY_CPLUSPLUS 4291 static 4292 symbol_type make_MAX_QUEUE_SIZE(location_type l)4293 make_MAX_QUEUE_SIZE (location_type l) 4294 { 4295 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l)); 4296 } 4297 #else 4298 static 4299 symbol_type make_MAX_QUEUE_SIZE(const location_type & l)4300 make_MAX_QUEUE_SIZE (const location_type& l) 4301 { 4302 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l); 4303 } 4304 #endif 4305 #if 201103L <= YY_CPLUSPLUS 4306 static 4307 symbol_type make_NCR_PROTOCOL(location_type l)4308 make_NCR_PROTOCOL (location_type l) 4309 { 4310 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l)); 4311 } 4312 #else 4313 static 4314 symbol_type make_NCR_PROTOCOL(const location_type & l)4315 make_NCR_PROTOCOL (const location_type& l) 4316 { 4317 return symbol_type (token::TOKEN_NCR_PROTOCOL, l); 4318 } 4319 #endif 4320 #if 201103L <= YY_CPLUSPLUS 4321 static 4322 symbol_type make_NCR_FORMAT(location_type l)4323 make_NCR_FORMAT (location_type l) 4324 { 4325 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l)); 4326 } 4327 #else 4328 static 4329 symbol_type make_NCR_FORMAT(const location_type & l)4330 make_NCR_FORMAT (const location_type& l) 4331 { 4332 return symbol_type (token::TOKEN_NCR_FORMAT, l); 4333 } 4334 #endif 4335 #if 201103L <= YY_CPLUSPLUS 4336 static 4337 symbol_type make_OVERRIDE_NO_UPDATE(location_type l)4338 make_OVERRIDE_NO_UPDATE (location_type l) 4339 { 4340 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l)); 4341 } 4342 #else 4343 static 4344 symbol_type make_OVERRIDE_NO_UPDATE(const location_type & l)4345 make_OVERRIDE_NO_UPDATE (const location_type& l) 4346 { 4347 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l); 4348 } 4349 #endif 4350 #if 201103L <= YY_CPLUSPLUS 4351 static 4352 symbol_type make_OVERRIDE_CLIENT_UPDATE(location_type l)4353 make_OVERRIDE_CLIENT_UPDATE (location_type l) 4354 { 4355 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l)); 4356 } 4357 #else 4358 static 4359 symbol_type make_OVERRIDE_CLIENT_UPDATE(const location_type & l)4360 make_OVERRIDE_CLIENT_UPDATE (const location_type& l) 4361 { 4362 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l); 4363 } 4364 #endif 4365 #if 201103L <= YY_CPLUSPLUS 4366 static 4367 symbol_type make_REPLACE_CLIENT_NAME(location_type l)4368 make_REPLACE_CLIENT_NAME (location_type l) 4369 { 4370 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l)); 4371 } 4372 #else 4373 static 4374 symbol_type make_REPLACE_CLIENT_NAME(const location_type & l)4375 make_REPLACE_CLIENT_NAME (const location_type& l) 4376 { 4377 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l); 4378 } 4379 #endif 4380 #if 201103L <= YY_CPLUSPLUS 4381 static 4382 symbol_type make_GENERATED_PREFIX(location_type l)4383 make_GENERATED_PREFIX (location_type l) 4384 { 4385 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l)); 4386 } 4387 #else 4388 static 4389 symbol_type make_GENERATED_PREFIX(const location_type & l)4390 make_GENERATED_PREFIX (const location_type& l) 4391 { 4392 return symbol_type (token::TOKEN_GENERATED_PREFIX, l); 4393 } 4394 #endif 4395 #if 201103L <= YY_CPLUSPLUS 4396 static 4397 symbol_type make_UDP(location_type l)4398 make_UDP (location_type l) 4399 { 4400 return symbol_type (token::TOKEN_UDP, std::move (l)); 4401 } 4402 #else 4403 static 4404 symbol_type make_UDP(const location_type & l)4405 make_UDP (const location_type& l) 4406 { 4407 return symbol_type (token::TOKEN_UDP, l); 4408 } 4409 #endif 4410 #if 201103L <= YY_CPLUSPLUS 4411 static 4412 symbol_type make_TCP(location_type l)4413 make_TCP (location_type l) 4414 { 4415 return symbol_type (token::TOKEN_TCP, std::move (l)); 4416 } 4417 #else 4418 static 4419 symbol_type make_TCP(const location_type & l)4420 make_TCP (const location_type& l) 4421 { 4422 return symbol_type (token::TOKEN_TCP, l); 4423 } 4424 #endif 4425 #if 201103L <= YY_CPLUSPLUS 4426 static 4427 symbol_type make_JSON(location_type l)4428 make_JSON (location_type l) 4429 { 4430 return symbol_type (token::TOKEN_JSON, std::move (l)); 4431 } 4432 #else 4433 static 4434 symbol_type make_JSON(const location_type & l)4435 make_JSON (const location_type& l) 4436 { 4437 return symbol_type (token::TOKEN_JSON, l); 4438 } 4439 #endif 4440 #if 201103L <= YY_CPLUSPLUS 4441 static 4442 symbol_type make_WHEN_PRESENT(location_type l)4443 make_WHEN_PRESENT (location_type l) 4444 { 4445 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l)); 4446 } 4447 #else 4448 static 4449 symbol_type make_WHEN_PRESENT(const location_type & l)4450 make_WHEN_PRESENT (const location_type& l) 4451 { 4452 return symbol_type (token::TOKEN_WHEN_PRESENT, l); 4453 } 4454 #endif 4455 #if 201103L <= YY_CPLUSPLUS 4456 static 4457 symbol_type make_NEVER(location_type l)4458 make_NEVER (location_type l) 4459 { 4460 return symbol_type (token::TOKEN_NEVER, std::move (l)); 4461 } 4462 #else 4463 static 4464 symbol_type make_NEVER(const location_type & l)4465 make_NEVER (const location_type& l) 4466 { 4467 return symbol_type (token::TOKEN_NEVER, l); 4468 } 4469 #endif 4470 #if 201103L <= YY_CPLUSPLUS 4471 static 4472 symbol_type make_ALWAYS(location_type l)4473 make_ALWAYS (location_type l) 4474 { 4475 return symbol_type (token::TOKEN_ALWAYS, std::move (l)); 4476 } 4477 #else 4478 static 4479 symbol_type make_ALWAYS(const location_type & l)4480 make_ALWAYS (const location_type& l) 4481 { 4482 return symbol_type (token::TOKEN_ALWAYS, l); 4483 } 4484 #endif 4485 #if 201103L <= YY_CPLUSPLUS 4486 static 4487 symbol_type make_WHEN_NOT_PRESENT(location_type l)4488 make_WHEN_NOT_PRESENT (location_type l) 4489 { 4490 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l)); 4491 } 4492 #else 4493 static 4494 symbol_type make_WHEN_NOT_PRESENT(const location_type & l)4495 make_WHEN_NOT_PRESENT (const location_type& l) 4496 { 4497 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l); 4498 } 4499 #endif 4500 #if 201103L <= YY_CPLUSPLUS 4501 static 4502 symbol_type make_HOSTNAME_CHAR_SET(location_type l)4503 make_HOSTNAME_CHAR_SET (location_type l) 4504 { 4505 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l)); 4506 } 4507 #else 4508 static 4509 symbol_type make_HOSTNAME_CHAR_SET(const location_type & l)4510 make_HOSTNAME_CHAR_SET (const location_type& l) 4511 { 4512 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l); 4513 } 4514 #endif 4515 #if 201103L <= YY_CPLUSPLUS 4516 static 4517 symbol_type make_HOSTNAME_CHAR_REPLACEMENT(location_type l)4518 make_HOSTNAME_CHAR_REPLACEMENT (location_type l) 4519 { 4520 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l)); 4521 } 4522 #else 4523 static 4524 symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type & l)4525 make_HOSTNAME_CHAR_REPLACEMENT (const location_type& l) 4526 { 4527 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l); 4528 } 4529 #endif 4530 #if 201103L <= YY_CPLUSPLUS 4531 static 4532 symbol_type make_IP_RESERVATIONS_UNIQUE(location_type l)4533 make_IP_RESERVATIONS_UNIQUE (location_type l) 4534 { 4535 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l)); 4536 } 4537 #else 4538 static 4539 symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type & l)4540 make_IP_RESERVATIONS_UNIQUE (const location_type& l) 4541 { 4542 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l); 4543 } 4544 #endif 4545 #if 201103L <= YY_CPLUSPLUS 4546 static 4547 symbol_type make_LOGGERS(location_type l)4548 make_LOGGERS (location_type l) 4549 { 4550 return symbol_type (token::TOKEN_LOGGERS, std::move (l)); 4551 } 4552 #else 4553 static 4554 symbol_type make_LOGGERS(const location_type & l)4555 make_LOGGERS (const location_type& l) 4556 { 4557 return symbol_type (token::TOKEN_LOGGERS, l); 4558 } 4559 #endif 4560 #if 201103L <= YY_CPLUSPLUS 4561 static 4562 symbol_type make_OUTPUT_OPTIONS(location_type l)4563 make_OUTPUT_OPTIONS (location_type l) 4564 { 4565 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l)); 4566 } 4567 #else 4568 static 4569 symbol_type make_OUTPUT_OPTIONS(const location_type & l)4570 make_OUTPUT_OPTIONS (const location_type& l) 4571 { 4572 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l); 4573 } 4574 #endif 4575 #if 201103L <= YY_CPLUSPLUS 4576 static 4577 symbol_type make_OUTPUT(location_type l)4578 make_OUTPUT (location_type l) 4579 { 4580 return symbol_type (token::TOKEN_OUTPUT, std::move (l)); 4581 } 4582 #else 4583 static 4584 symbol_type make_OUTPUT(const location_type & l)4585 make_OUTPUT (const location_type& l) 4586 { 4587 return symbol_type (token::TOKEN_OUTPUT, l); 4588 } 4589 #endif 4590 #if 201103L <= YY_CPLUSPLUS 4591 static 4592 symbol_type make_DEBUGLEVEL(location_type l)4593 make_DEBUGLEVEL (location_type l) 4594 { 4595 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l)); 4596 } 4597 #else 4598 static 4599 symbol_type make_DEBUGLEVEL(const location_type & l)4600 make_DEBUGLEVEL (const location_type& l) 4601 { 4602 return symbol_type (token::TOKEN_DEBUGLEVEL, l); 4603 } 4604 #endif 4605 #if 201103L <= YY_CPLUSPLUS 4606 static 4607 symbol_type make_SEVERITY(location_type l)4608 make_SEVERITY (location_type l) 4609 { 4610 return symbol_type (token::TOKEN_SEVERITY, std::move (l)); 4611 } 4612 #else 4613 static 4614 symbol_type make_SEVERITY(const location_type & l)4615 make_SEVERITY (const location_type& l) 4616 { 4617 return symbol_type (token::TOKEN_SEVERITY, l); 4618 } 4619 #endif 4620 #if 201103L <= YY_CPLUSPLUS 4621 static 4622 symbol_type make_FLUSH(location_type l)4623 make_FLUSH (location_type l) 4624 { 4625 return symbol_type (token::TOKEN_FLUSH, std::move (l)); 4626 } 4627 #else 4628 static 4629 symbol_type make_FLUSH(const location_type & l)4630 make_FLUSH (const location_type& l) 4631 { 4632 return symbol_type (token::TOKEN_FLUSH, l); 4633 } 4634 #endif 4635 #if 201103L <= YY_CPLUSPLUS 4636 static 4637 symbol_type make_MAXSIZE(location_type l)4638 make_MAXSIZE (location_type l) 4639 { 4640 return symbol_type (token::TOKEN_MAXSIZE, std::move (l)); 4641 } 4642 #else 4643 static 4644 symbol_type make_MAXSIZE(const location_type & l)4645 make_MAXSIZE (const location_type& l) 4646 { 4647 return symbol_type (token::TOKEN_MAXSIZE, l); 4648 } 4649 #endif 4650 #if 201103L <= YY_CPLUSPLUS 4651 static 4652 symbol_type make_MAXVER(location_type l)4653 make_MAXVER (location_type l) 4654 { 4655 return symbol_type (token::TOKEN_MAXVER, std::move (l)); 4656 } 4657 #else 4658 static 4659 symbol_type make_MAXVER(const location_type & l)4660 make_MAXVER (const location_type& l) 4661 { 4662 return symbol_type (token::TOKEN_MAXVER, l); 4663 } 4664 #endif 4665 #if 201103L <= YY_CPLUSPLUS 4666 static 4667 symbol_type make_PATTERN(location_type l)4668 make_PATTERN (location_type l) 4669 { 4670 return symbol_type (token::TOKEN_PATTERN, std::move (l)); 4671 } 4672 #else 4673 static 4674 symbol_type make_PATTERN(const location_type & l)4675 make_PATTERN (const location_type& l) 4676 { 4677 return symbol_type (token::TOKEN_PATTERN, l); 4678 } 4679 #endif 4680 #if 201103L <= YY_CPLUSPLUS 4681 static 4682 symbol_type make_COMPATIBILITY(location_type l)4683 make_COMPATIBILITY (location_type l) 4684 { 4685 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l)); 4686 } 4687 #else 4688 static 4689 symbol_type make_COMPATIBILITY(const location_type & l)4690 make_COMPATIBILITY (const location_type& l) 4691 { 4692 return symbol_type (token::TOKEN_COMPATIBILITY, l); 4693 } 4694 #endif 4695 #if 201103L <= YY_CPLUSPLUS 4696 static 4697 symbol_type make_LENIENT_OPTION_PARSING(location_type l)4698 make_LENIENT_OPTION_PARSING (location_type l) 4699 { 4700 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l)); 4701 } 4702 #else 4703 static 4704 symbol_type make_LENIENT_OPTION_PARSING(const location_type & l)4705 make_LENIENT_OPTION_PARSING (const location_type& l) 4706 { 4707 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, l); 4708 } 4709 #endif 4710 #if 201103L <= YY_CPLUSPLUS 4711 static 4712 symbol_type make_TOPLEVEL_JSON(location_type l)4713 make_TOPLEVEL_JSON (location_type l) 4714 { 4715 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l)); 4716 } 4717 #else 4718 static 4719 symbol_type make_TOPLEVEL_JSON(const location_type & l)4720 make_TOPLEVEL_JSON (const location_type& l) 4721 { 4722 return symbol_type (token::TOKEN_TOPLEVEL_JSON, l); 4723 } 4724 #endif 4725 #if 201103L <= YY_CPLUSPLUS 4726 static 4727 symbol_type make_TOPLEVEL_DHCP6(location_type l)4728 make_TOPLEVEL_DHCP6 (location_type l) 4729 { 4730 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l)); 4731 } 4732 #else 4733 static 4734 symbol_type make_TOPLEVEL_DHCP6(const location_type & l)4735 make_TOPLEVEL_DHCP6 (const location_type& l) 4736 { 4737 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, l); 4738 } 4739 #endif 4740 #if 201103L <= YY_CPLUSPLUS 4741 static 4742 symbol_type make_SUB_DHCP6(location_type l)4743 make_SUB_DHCP6 (location_type l) 4744 { 4745 return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l)); 4746 } 4747 #else 4748 static 4749 symbol_type make_SUB_DHCP6(const location_type & l)4750 make_SUB_DHCP6 (const location_type& l) 4751 { 4752 return symbol_type (token::TOKEN_SUB_DHCP6, l); 4753 } 4754 #endif 4755 #if 201103L <= YY_CPLUSPLUS 4756 static 4757 symbol_type make_SUB_INTERFACES6(location_type l)4758 make_SUB_INTERFACES6 (location_type l) 4759 { 4760 return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l)); 4761 } 4762 #else 4763 static 4764 symbol_type make_SUB_INTERFACES6(const location_type & l)4765 make_SUB_INTERFACES6 (const location_type& l) 4766 { 4767 return symbol_type (token::TOKEN_SUB_INTERFACES6, l); 4768 } 4769 #endif 4770 #if 201103L <= YY_CPLUSPLUS 4771 static 4772 symbol_type make_SUB_SUBNET6(location_type l)4773 make_SUB_SUBNET6 (location_type l) 4774 { 4775 return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l)); 4776 } 4777 #else 4778 static 4779 symbol_type make_SUB_SUBNET6(const location_type & l)4780 make_SUB_SUBNET6 (const location_type& l) 4781 { 4782 return symbol_type (token::TOKEN_SUB_SUBNET6, l); 4783 } 4784 #endif 4785 #if 201103L <= YY_CPLUSPLUS 4786 static 4787 symbol_type make_SUB_POOL6(location_type l)4788 make_SUB_POOL6 (location_type l) 4789 { 4790 return symbol_type (token::TOKEN_SUB_POOL6, std::move (l)); 4791 } 4792 #else 4793 static 4794 symbol_type make_SUB_POOL6(const location_type & l)4795 make_SUB_POOL6 (const location_type& l) 4796 { 4797 return symbol_type (token::TOKEN_SUB_POOL6, l); 4798 } 4799 #endif 4800 #if 201103L <= YY_CPLUSPLUS 4801 static 4802 symbol_type make_SUB_PD_POOL(location_type l)4803 make_SUB_PD_POOL (location_type l) 4804 { 4805 return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l)); 4806 } 4807 #else 4808 static 4809 symbol_type make_SUB_PD_POOL(const location_type & l)4810 make_SUB_PD_POOL (const location_type& l) 4811 { 4812 return symbol_type (token::TOKEN_SUB_PD_POOL, l); 4813 } 4814 #endif 4815 #if 201103L <= YY_CPLUSPLUS 4816 static 4817 symbol_type make_SUB_RESERVATION(location_type l)4818 make_SUB_RESERVATION (location_type l) 4819 { 4820 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l)); 4821 } 4822 #else 4823 static 4824 symbol_type make_SUB_RESERVATION(const location_type & l)4825 make_SUB_RESERVATION (const location_type& l) 4826 { 4827 return symbol_type (token::TOKEN_SUB_RESERVATION, l); 4828 } 4829 #endif 4830 #if 201103L <= YY_CPLUSPLUS 4831 static 4832 symbol_type make_SUB_OPTION_DEFS(location_type l)4833 make_SUB_OPTION_DEFS (location_type l) 4834 { 4835 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l)); 4836 } 4837 #else 4838 static 4839 symbol_type make_SUB_OPTION_DEFS(const location_type & l)4840 make_SUB_OPTION_DEFS (const location_type& l) 4841 { 4842 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l); 4843 } 4844 #endif 4845 #if 201103L <= YY_CPLUSPLUS 4846 static 4847 symbol_type make_SUB_OPTION_DEF(location_type l)4848 make_SUB_OPTION_DEF (location_type l) 4849 { 4850 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l)); 4851 } 4852 #else 4853 static 4854 symbol_type make_SUB_OPTION_DEF(const location_type & l)4855 make_SUB_OPTION_DEF (const location_type& l) 4856 { 4857 return symbol_type (token::TOKEN_SUB_OPTION_DEF, l); 4858 } 4859 #endif 4860 #if 201103L <= YY_CPLUSPLUS 4861 static 4862 symbol_type make_SUB_OPTION_DATA(location_type l)4863 make_SUB_OPTION_DATA (location_type l) 4864 { 4865 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l)); 4866 } 4867 #else 4868 static 4869 symbol_type make_SUB_OPTION_DATA(const location_type & l)4870 make_SUB_OPTION_DATA (const location_type& l) 4871 { 4872 return symbol_type (token::TOKEN_SUB_OPTION_DATA, l); 4873 } 4874 #endif 4875 #if 201103L <= YY_CPLUSPLUS 4876 static 4877 symbol_type make_SUB_HOOKS_LIBRARY(location_type l)4878 make_SUB_HOOKS_LIBRARY (location_type l) 4879 { 4880 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l)); 4881 } 4882 #else 4883 static 4884 symbol_type make_SUB_HOOKS_LIBRARY(const location_type & l)4885 make_SUB_HOOKS_LIBRARY (const location_type& l) 4886 { 4887 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l); 4888 } 4889 #endif 4890 #if 201103L <= YY_CPLUSPLUS 4891 static 4892 symbol_type make_SUB_DHCP_DDNS(location_type l)4893 make_SUB_DHCP_DDNS (location_type l) 4894 { 4895 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l)); 4896 } 4897 #else 4898 static 4899 symbol_type make_SUB_DHCP_DDNS(const location_type & l)4900 make_SUB_DHCP_DDNS (const location_type& l) 4901 { 4902 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l); 4903 } 4904 #endif 4905 #if 201103L <= YY_CPLUSPLUS 4906 static 4907 symbol_type make_SUB_CONFIG_CONTROL(location_type l)4908 make_SUB_CONFIG_CONTROL (location_type l) 4909 { 4910 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l)); 4911 } 4912 #else 4913 static 4914 symbol_type make_SUB_CONFIG_CONTROL(const location_type & l)4915 make_SUB_CONFIG_CONTROL (const location_type& l) 4916 { 4917 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l); 4918 } 4919 #endif 4920 #if 201103L <= YY_CPLUSPLUS 4921 static 4922 symbol_type make_STRING(std::string v,location_type l)4923 make_STRING (std::string v, location_type l) 4924 { 4925 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l)); 4926 } 4927 #else 4928 static 4929 symbol_type make_STRING(const std::string & v,const location_type & l)4930 make_STRING (const std::string& v, const location_type& l) 4931 { 4932 return symbol_type (token::TOKEN_STRING, v, l); 4933 } 4934 #endif 4935 #if 201103L <= YY_CPLUSPLUS 4936 static 4937 symbol_type make_INTEGER(int64_t v,location_type l)4938 make_INTEGER (int64_t v, location_type l) 4939 { 4940 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l)); 4941 } 4942 #else 4943 static 4944 symbol_type make_INTEGER(const int64_t & v,const location_type & l)4945 make_INTEGER (const int64_t& v, const location_type& l) 4946 { 4947 return symbol_type (token::TOKEN_INTEGER, v, l); 4948 } 4949 #endif 4950 #if 201103L <= YY_CPLUSPLUS 4951 static 4952 symbol_type make_FLOAT(double v,location_type l)4953 make_FLOAT (double v, location_type l) 4954 { 4955 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l)); 4956 } 4957 #else 4958 static 4959 symbol_type make_FLOAT(const double & v,const location_type & l)4960 make_FLOAT (const double& v, const location_type& l) 4961 { 4962 return symbol_type (token::TOKEN_FLOAT, v, l); 4963 } 4964 #endif 4965 #if 201103L <= YY_CPLUSPLUS 4966 static 4967 symbol_type make_BOOLEAN(bool v,location_type l)4968 make_BOOLEAN (bool v, location_type l) 4969 { 4970 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l)); 4971 } 4972 #else 4973 static 4974 symbol_type make_BOOLEAN(const bool & v,const location_type & l)4975 make_BOOLEAN (const bool& v, const location_type& l) 4976 { 4977 return symbol_type (token::TOKEN_BOOLEAN, v, l); 4978 } 4979 #endif 4980 4981 4982 class context 4983 { 4984 public: 4985 context (const Dhcp6Parser& yyparser, const symbol_type& yyla); lookahead()4986 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; } token()4987 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); } location()4988 const location_type& location () const YY_NOEXCEPT { return yyla_.location; } 4989 4990 /// Put in YYARG at most YYARGN of the expected tokens, and return the 4991 /// number of tokens stored in YYARG. If YYARG is null, return the 4992 /// number of expected tokens (guaranteed to be less than YYNTOKENS). 4993 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const; 4994 4995 private: 4996 const Dhcp6Parser& yyparser_; 4997 const symbol_type& yyla_; 4998 }; 4999 5000 private: 5001 #if YY_CPLUSPLUS < 201103L 5002 /// Non copyable. 5003 Dhcp6Parser (const Dhcp6Parser&); 5004 /// Non copyable. 5005 Dhcp6Parser& operator= (const Dhcp6Parser&); 5006 #endif 5007 5008 5009 /// Stored state numbers (used for stacks). 5010 typedef short state_type; 5011 5012 /// The arguments of the error message. 5013 int yy_syntax_error_arguments_ (const context& yyctx, 5014 symbol_kind_type yyarg[], int yyargn) const; 5015 5016 /// Generate an error message. 5017 /// \param yyctx the context in which the error occurred. 5018 virtual std::string yysyntax_error_ (const context& yyctx) const; 5019 /// Compute post-reduction state. 5020 /// \param yystate the current state 5021 /// \param yysym the nonterminal to push on the stack 5022 static state_type yy_lr_goto_state_ (state_type yystate, int yysym); 5023 5024 /// Whether the given \c yypact_ value indicates a defaulted state. 5025 /// \param yyvalue the value to check 5026 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT; 5027 5028 /// Whether the given \c yytable_ value indicates a syntax error. 5029 /// \param yyvalue the value to check 5030 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT; 5031 5032 static const short yypact_ninf_; 5033 static const signed char yytable_ninf_; 5034 5035 /// Convert a scanner token kind \a t to a symbol kind. 5036 /// In theory \a t should be a token_kind_type, but character literals 5037 /// are valid, yet not members of the token_kind_type enum. 5038 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT; 5039 5040 /// Convert the symbol name \a n to a form suitable for a diagnostic. 5041 static std::string yytnamerr_ (const char *yystr); 5042 5043 /// For a symbol, its name in clear. 5044 static const char* const yytname_[]; 5045 5046 5047 // Tables. 5048 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 5049 // STATE-NUM. 5050 static const short yypact_[]; 5051 5052 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. 5053 // Performed when YYTABLE does not specify something else to do. Zero 5054 // means the default is an error. 5055 static const short yydefact_[]; 5056 5057 // YYPGOTO[NTERM-NUM]. 5058 static const short yypgoto_[]; 5059 5060 // YYDEFGOTO[NTERM-NUM]. 5061 static const short yydefgoto_[]; 5062 5063 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If 5064 // positive, shift that token. If negative, reduce the rule whose 5065 // number is the opposite. If YYTABLE_NINF, syntax error. 5066 static const short yytable_[]; 5067 5068 static const short yycheck_[]; 5069 5070 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of 5071 // state STATE-NUM. 5072 static const short yystos_[]; 5073 5074 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. 5075 static const short yyr1_[]; 5076 5077 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. 5078 static const signed char yyr2_[]; 5079 5080 5081 #if PARSER6_DEBUG 5082 // YYRLINE[YYN] -- Source line where rule number YYN was defined. 5083 static const short yyrline_[]; 5084 /// Report on the debug stream that the rule \a r is going to be reduced. 5085 virtual void yy_reduce_print_ (int r) const; 5086 /// Print the state stack on the debug stream. 5087 virtual void yy_stack_print_ () const; 5088 5089 /// Debugging level. 5090 int yydebug_; 5091 /// Debug stream. 5092 std::ostream* yycdebug_; 5093 5094 /// \brief Display a symbol kind, value and location. 5095 /// \param yyo The output stream. 5096 /// \param yysym The symbol. 5097 template <typename Base> 5098 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const; 5099 #endif 5100 5101 /// \brief Reclaim the memory associated to a symbol. 5102 /// \param yymsg Why this token is reclaimed. 5103 /// If null, print nothing. 5104 /// \param yysym The symbol. 5105 template <typename Base> 5106 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const; 5107 5108 private: 5109 /// Type access provider for state based symbols. 5110 struct by_state 5111 { 5112 /// Default constructor. 5113 by_state () YY_NOEXCEPT; 5114 5115 /// The symbol kind as needed by the constructor. 5116 typedef state_type kind_type; 5117 5118 /// Constructor. 5119 by_state (kind_type s) YY_NOEXCEPT; 5120 5121 /// Copy constructor. 5122 by_state (const by_state& that) YY_NOEXCEPT; 5123 5124 /// Record that this symbol is empty. 5125 void clear () YY_NOEXCEPT; 5126 5127 /// Steal the symbol kind from \a that. 5128 void move (by_state& that); 5129 5130 /// The symbol kind (corresponding to \a state). 5131 /// \a symbol_kind::S_YYEMPTY when empty. 5132 symbol_kind_type kind () const YY_NOEXCEPT; 5133 5134 /// The state number used to denote an empty symbol. 5135 /// We use the initial state, as it does not have a value. 5136 enum { empty_state = 0 }; 5137 5138 /// The state. 5139 /// \a empty when empty. 5140 state_type state; 5141 }; 5142 5143 /// "Internal" symbol: element of the stack. 5144 struct stack_symbol_type : basic_symbol<by_state> 5145 { 5146 /// Superclass. 5147 typedef basic_symbol<by_state> super_type; 5148 /// Construct an empty symbol. 5149 stack_symbol_type (); 5150 /// Move or copy construction. 5151 stack_symbol_type (YY_RVREF (stack_symbol_type) that); 5152 /// Steal the contents from \a sym to build this. 5153 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym); 5154 #if YY_CPLUSPLUS < 201103L 5155 /// Assignment, needed by push_back by some old implementations. 5156 /// Moves the contents of that. 5157 stack_symbol_type& operator= (stack_symbol_type& that); 5158 5159 /// Assignment, needed by push_back by other implementations. 5160 /// Needed by some other old implementations. 5161 stack_symbol_type& operator= (const stack_symbol_type& that); 5162 #endif 5163 }; 5164 5165 /// A stack with random access from its top. 5166 template <typename T, typename S = std::vector<T> > 5167 class stack 5168 { 5169 public: 5170 // Hide our reversed order. 5171 typedef typename S::iterator iterator; 5172 typedef typename S::const_iterator const_iterator; 5173 typedef typename S::size_type size_type; 5174 typedef typename std::ptrdiff_t index_type; 5175 5176 stack (size_type n = 200) YY_NOEXCEPT seq_(n)5177 : seq_ (n) 5178 {} 5179 5180 #if 201103L <= YY_CPLUSPLUS 5181 /// Non copyable. 5182 stack (const stack&) = delete; 5183 /// Non copyable. 5184 stack& operator= (const stack&) = delete; 5185 #endif 5186 5187 /// Random access. 5188 /// 5189 /// Index 0 returns the topmost element. 5190 const T& 5191 operator[] (index_type i) const 5192 { 5193 return seq_[size_type (size () - 1 - i)]; 5194 } 5195 5196 /// Random access. 5197 /// 5198 /// Index 0 returns the topmost element. 5199 T& 5200 operator[] (index_type i) 5201 { 5202 return seq_[size_type (size () - 1 - i)]; 5203 } 5204 5205 /// Steal the contents of \a t. 5206 /// 5207 /// Close to move-semantics. 5208 void push(YY_MOVE_REF (T)t)5209 push (YY_MOVE_REF (T) t) 5210 { 5211 seq_.push_back (T ()); 5212 operator[] (0).move (t); 5213 } 5214 5215 /// Pop elements from the stack. 5216 void 5217 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT 5218 { 5219 for (; 0 < n; --n) 5220 seq_.pop_back (); 5221 } 5222 5223 /// Pop all elements from the stack. 5224 void clear()5225 clear () YY_NOEXCEPT 5226 { 5227 seq_.clear (); 5228 } 5229 5230 /// Number of elements on the stack. 5231 index_type size()5232 size () const YY_NOEXCEPT 5233 { 5234 return index_type (seq_.size ()); 5235 } 5236 5237 /// Iterator on top of the stack (going downwards). 5238 const_iterator begin()5239 begin () const YY_NOEXCEPT 5240 { 5241 return seq_.begin (); 5242 } 5243 5244 /// Bottom of the stack. 5245 const_iterator end()5246 end () const YY_NOEXCEPT 5247 { 5248 return seq_.end (); 5249 } 5250 5251 /// Present a slice of the top of a stack. 5252 class slice 5253 { 5254 public: slice(const stack & stack,index_type range)5255 slice (const stack& stack, index_type range) YY_NOEXCEPT 5256 : stack_ (stack) 5257 , range_ (range) 5258 {} 5259 5260 const T& 5261 operator[] (index_type i) const 5262 { 5263 return stack_[range_ - i]; 5264 } 5265 5266 private: 5267 const stack& stack_; 5268 index_type range_; 5269 }; 5270 5271 private: 5272 #if YY_CPLUSPLUS < 201103L 5273 /// Non copyable. 5274 stack (const stack&); 5275 /// Non copyable. 5276 stack& operator= (const stack&); 5277 #endif 5278 /// The wrapped container. 5279 S seq_; 5280 }; 5281 5282 5283 /// Stack type. 5284 typedef stack<stack_symbol_type> stack_type; 5285 5286 /// The stack. 5287 stack_type yystack_; 5288 5289 /// Push a new state on the stack. 5290 /// \param m a debug message to display 5291 /// if null, no trace is output. 5292 /// \param sym the symbol 5293 /// \warning the contents of \a s.value is stolen. 5294 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym); 5295 5296 /// Push a new look ahead token on the state on the stack. 5297 /// \param m a debug message to display 5298 /// if null, no trace is output. 5299 /// \param s the state 5300 /// \param sym the symbol (for its value and location). 5301 /// \warning the contents of \a sym.value is stolen. 5302 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym); 5303 5304 /// Pop \a n symbols from the stack. 5305 void yypop_ (int n = 1) YY_NOEXCEPT; 5306 5307 /// Constants. 5308 enum 5309 { 5310 yylast_ = 1318, ///< Last index in yytable_. 5311 yynnts_ = 439, ///< Number of nonterminal symbols. 5312 yyfinal_ = 30 ///< Termination state number. 5313 }; 5314 5315 5316 // User arguments. 5317 isc::dhcp::Parser6Context& ctx; 5318 5319 }; 5320 5321 inline 5322 Dhcp6Parser::symbol_kind_type yytranslate_(int t)5323 Dhcp6Parser::yytranslate_ (int t) YY_NOEXCEPT 5324 { 5325 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to 5326 // TOKEN-NUM as returned by yylex. 5327 static 5328 const unsigned char 5329 translate_table[] = 5330 { 5331 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5356 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5357 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 5358 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 5359 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 5360 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 5361 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 5362 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 5363 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 5364 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 5365 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 5366 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 5367 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 5368 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 5369 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 5370 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 5371 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 5372 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 5373 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 5374 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 5375 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 5376 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 5377 205, 206, 207, 208, 209, 210, 211, 212 5378 }; 5379 // Last valid token kind. 5380 const int code_max = 467; 5381 5382 if (t <= 0) 5383 return symbol_kind::S_YYEOF; 5384 else if (t <= code_max) 5385 return static_cast <symbol_kind_type> (translate_table[t]); 5386 else 5387 return symbol_kind::S_YYUNDEF; 5388 } 5389 5390 // basic_symbol. 5391 template <typename Base> basic_symbol(const basic_symbol & that)5392 Dhcp6Parser::basic_symbol<Base>::basic_symbol (const basic_symbol& that) 5393 : Base (that) 5394 , value () 5395 , location (that.location) 5396 { 5397 switch (this->kind ()) 5398 { 5399 case symbol_kind::S_value: // value 5400 case symbol_kind::S_map_value: // map_value 5401 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value 5402 case symbol_kind::S_db_type: // db_type 5403 case symbol_kind::S_on_fail_mode: // on_fail_mode 5404 case symbol_kind::S_hr_mode: // hr_mode 5405 case symbol_kind::S_duid_type: // duid_type 5406 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value 5407 value.copy< ElementPtr > (YY_MOVE (that.value)); 5408 break; 5409 5410 case symbol_kind::S_BOOLEAN: // "boolean" 5411 value.copy< bool > (YY_MOVE (that.value)); 5412 break; 5413 5414 case symbol_kind::S_FLOAT: // "floating point" 5415 value.copy< double > (YY_MOVE (that.value)); 5416 break; 5417 5418 case symbol_kind::S_INTEGER: // "integer" 5419 value.copy< int64_t > (YY_MOVE (that.value)); 5420 break; 5421 5422 case symbol_kind::S_STRING: // "constant string" 5423 value.copy< std::string > (YY_MOVE (that.value)); 5424 break; 5425 5426 default: 5427 break; 5428 } 5429 5430 } 5431 5432 5433 5434 5435 template <typename Base> 5436 Dhcp6Parser::symbol_kind_type type_get()5437 Dhcp6Parser::basic_symbol<Base>::type_get () const YY_NOEXCEPT 5438 { 5439 return this->kind (); 5440 } 5441 5442 5443 template <typename Base> 5444 bool empty()5445 Dhcp6Parser::basic_symbol<Base>::empty () const YY_NOEXCEPT 5446 { 5447 return this->kind () == symbol_kind::S_YYEMPTY; 5448 } 5449 5450 template <typename Base> 5451 void move(basic_symbol & s)5452 Dhcp6Parser::basic_symbol<Base>::move (basic_symbol& s) 5453 { 5454 super_type::move (s); 5455 switch (this->kind ()) 5456 { 5457 case symbol_kind::S_value: // value 5458 case symbol_kind::S_map_value: // map_value 5459 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value 5460 case symbol_kind::S_db_type: // db_type 5461 case symbol_kind::S_on_fail_mode: // on_fail_mode 5462 case symbol_kind::S_hr_mode: // hr_mode 5463 case symbol_kind::S_duid_type: // duid_type 5464 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value 5465 value.move< ElementPtr > (YY_MOVE (s.value)); 5466 break; 5467 5468 case symbol_kind::S_BOOLEAN: // "boolean" 5469 value.move< bool > (YY_MOVE (s.value)); 5470 break; 5471 5472 case symbol_kind::S_FLOAT: // "floating point" 5473 value.move< double > (YY_MOVE (s.value)); 5474 break; 5475 5476 case symbol_kind::S_INTEGER: // "integer" 5477 value.move< int64_t > (YY_MOVE (s.value)); 5478 break; 5479 5480 case symbol_kind::S_STRING: // "constant string" 5481 value.move< std::string > (YY_MOVE (s.value)); 5482 break; 5483 5484 default: 5485 break; 5486 } 5487 5488 location = YY_MOVE (s.location); 5489 } 5490 5491 // by_kind. 5492 inline by_kind()5493 Dhcp6Parser::by_kind::by_kind () YY_NOEXCEPT 5494 : kind_ (symbol_kind::S_YYEMPTY) 5495 {} 5496 5497 #if 201103L <= YY_CPLUSPLUS 5498 inline by_kind(by_kind && that)5499 Dhcp6Parser::by_kind::by_kind (by_kind&& that) YY_NOEXCEPT 5500 : kind_ (that.kind_) 5501 { 5502 that.clear (); 5503 } 5504 #endif 5505 5506 inline by_kind(const by_kind & that)5507 Dhcp6Parser::by_kind::by_kind (const by_kind& that) YY_NOEXCEPT 5508 : kind_ (that.kind_) 5509 {} 5510 5511 inline by_kind(token_kind_type t)5512 Dhcp6Parser::by_kind::by_kind (token_kind_type t) YY_NOEXCEPT 5513 : kind_ (yytranslate_ (t)) 5514 {} 5515 5516 5517 5518 inline 5519 void clear()5520 Dhcp6Parser::by_kind::clear () YY_NOEXCEPT 5521 { 5522 kind_ = symbol_kind::S_YYEMPTY; 5523 } 5524 5525 inline 5526 void move(by_kind & that)5527 Dhcp6Parser::by_kind::move (by_kind& that) 5528 { 5529 kind_ = that.kind_; 5530 that.clear (); 5531 } 5532 5533 inline 5534 Dhcp6Parser::symbol_kind_type kind()5535 Dhcp6Parser::by_kind::kind () const YY_NOEXCEPT 5536 { 5537 return kind_; 5538 } 5539 5540 5541 inline 5542 Dhcp6Parser::symbol_kind_type type_get()5543 Dhcp6Parser::by_kind::type_get () const YY_NOEXCEPT 5544 { 5545 return this->kind (); 5546 } 5547 5548 5549 #line 14 "dhcp6_parser.yy" 5550 } } // isc::dhcp 5551 #line 5552 "dhcp6_parser.h" 5552 5553 5554 5555 5556 #endif // !YY_PARSER6_DHCP6_PARSER_H_INCLUDED 5557