Kea 2.7.6
dhcp4_parser.h
Go to the documentation of this file.
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
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_PARSER4_DHCP4_PARSER_H_INCLUDED
46# define YY_PARSER4_DHCP4_PARSER_H_INCLUDED
47// "%code requires" blocks.
48#line 17 "dhcp4_parser.yy"
49
50#include <string>
51#include <cc/data.h>
52#include <dhcp/option.h>
53#include <boost/lexical_cast.hpp>
55
56using namespace isc::dhcp;
57using namespace isc::data;
58using namespace std;
59
60#line 61 "dhcp4_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 PARSER4__ASSERT
108# include <cassert>
109# define PARSER4__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 PARSER4_DEBUG
196# if defined YYDEBUG
197#if YYDEBUG
198# define PARSER4_DEBUG 1
199# else
200# define PARSER4_DEBUG 0
201# endif
202# else /* ! defined YYDEBUG */
203# define PARSER4_DEBUG 1
204# endif /* ! defined YYDEBUG */
205#endif /* ! defined PARSER4_DEBUG */
206
207#line 14 "dhcp4_parser.yy"
208namespace isc { namespace dhcp {
209#line 210 "dhcp4_parser.h"
210
211
212
213
216 {
217 public:
218#ifdef PARSER4_STYPE
219# ifdef __GNUC__
220# pragma GCC message "bison: do not #define PARSER4_STYPE in C++, use %define api.value.type"
221# endif
222 typedef PARSER4_STYPE value_type;
223#else
230 {
231 public:
234
237 : yyraw_ ()
238 , yytypeid_ (YY_NULLPTR)
239 {}
240
242 template <typename T>
244 : yytypeid_ (&typeid (T))
245 {
246 PARSER4__ASSERT (sizeof (T) <= size);
247 new (yyas_<T> ()) T (YY_MOVE (t));
248 }
249
250#if 201103L <= YY_CPLUSPLUS
252 value_type (const self_type&) = delete;
254 self_type& operator= (const self_type&) = delete;
255#endif
256
259 {
260 PARSER4__ASSERT (!yytypeid_);
261 }
262
263# if 201103L <= YY_CPLUSPLUS
265 template <typename T, typename... U>
266 T&
267 emplace (U&&... u)
268 {
269 PARSER4__ASSERT (!yytypeid_);
270 PARSER4__ASSERT (sizeof (T) <= size);
271 yytypeid_ = & typeid (T);
272 return *new (yyas_<T> ()) T (std::forward <U>(u)...);
273 }
274# else
276 template <typename T>
277 T&
279 {
280 PARSER4__ASSERT (!yytypeid_);
281 PARSER4__ASSERT (sizeof (T) <= size);
282 yytypeid_ = & typeid (T);
283 return *new (yyas_<T> ()) T ();
284 }
285
287 template <typename T>
288 T&
289 emplace (const T& t)
290 {
291 PARSER4__ASSERT (!yytypeid_);
292 PARSER4__ASSERT (sizeof (T) <= size);
293 yytypeid_ = & typeid (T);
294 return *new (yyas_<T> ()) T (t);
295 }
296# endif
297
300 template <typename T>
301 T&
303 {
304 return emplace<T> ();
305 }
306
309 template <typename T>
310 T&
311 build (const T& t)
312 {
313 return emplace<T> (t);
314 }
315
317 template <typename T>
318 T&
320 {
321 PARSER4__ASSERT (yytypeid_);
322 PARSER4__ASSERT (*yytypeid_ == typeid (T));
323 PARSER4__ASSERT (sizeof (T) <= size);
324 return *yyas_<T> ();
325 }
326
328 template <typename T>
329 const T&
331 {
332 PARSER4__ASSERT (yytypeid_);
333 PARSER4__ASSERT (*yytypeid_ == typeid (T));
334 PARSER4__ASSERT (sizeof (T) <= size);
335 return *yyas_<T> ();
336 }
337
346 template <typename T>
347 void
349 {
350 PARSER4__ASSERT (yytypeid_);
351 PARSER4__ASSERT (*yytypeid_ == *that.yytypeid_);
352 std::swap (as<T> (), that.as<T> ());
353 }
354
358 template <typename T>
359 void
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
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
383 template <typename T>
384 void
385 copy (const self_type& that)
386 {
387 emplace<T> (that.as<T> ());
388 }
389
391 template <typename T>
392 void
394 {
395 as<T> ().~T ();
396 yytypeid_ = YY_NULLPTR;
397 }
398
399 private:
400#if YY_CPLUSPLUS < 201103L
402 value_type (const self_type&);
404 self_type& operator= (const self_type&);
405#endif
406
408 template <typename T>
409 T*
410 yyas_ () YY_NOEXCEPT
411 {
412 void *yyp = yyraw_;
413 return static_cast<T*> (yyp);
414 }
415
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
426 union union_type
427 {
428 // value
429 // map_value
430 // ddns_replace_client_name_value
431 // ddns_conflict_resolution_mode_value
432 // socket_type
433 // outbound_interface_value
434 // on_fail_mode
435 // control_socket_type_value
436 // auth_type_value
437 // ncr_protocol_value
438 char dummy1[sizeof (ElementPtr)];
439
440 // "boolean"
441 char dummy2[sizeof (bool)];
442
443 // "floating point"
444 char dummy3[sizeof (double)];
445
446 // "integer"
447 char dummy4[sizeof (int64_t)];
448
449 // "constant string"
450 char dummy5[sizeof (std::string)];
451 };
452
454 enum { size = sizeof (union_type) };
455
457 union
458 {
460 long double yyalign_me_;
462 char yyraw_[size];
463 };
464
466 const std::type_info *yytypeid_;
467 };
468
469#endif
472
474 typedef location location_type;
475
477 struct syntax_error : std::runtime_error
478 {
479 syntax_error (const location_type& l, const std::string& m)
480 : std::runtime_error (m)
481 , location (l)
482 {}
483
485 : std::runtime_error (s.what ())
486 , location (s.location)
487 {}
488
490
492 };
493
495 struct token
496 {
498 {
499 TOKEN_PARSER4_EMPTY = -2,
500 TOKEN_END = 0, // "end of file"
501 TOKEN_PARSER4_error = 256, // error
502 TOKEN_PARSER4_UNDEF = 257, // "invalid token"
503 TOKEN_COMMA = 258, // ","
504 TOKEN_COLON = 259, // ":"
505 TOKEN_LSQUARE_BRACKET = 260, // "["
506 TOKEN_RSQUARE_BRACKET = 261, // "]"
507 TOKEN_LCURLY_BRACKET = 262, // "{"
508 TOKEN_RCURLY_BRACKET = 263, // "}"
509 TOKEN_NULL_TYPE = 264, // "null"
510 TOKEN_DHCP4 = 265, // "Dhcp4"
511 TOKEN_CONFIG_CONTROL = 266, // "config-control"
512 TOKEN_CONFIG_DATABASES = 267, // "config-databases"
513 TOKEN_CONFIG_FETCH_WAIT_TIME = 268, // "config-fetch-wait-time"
514 TOKEN_INTERFACES_CONFIG = 269, // "interfaces-config"
515 TOKEN_INTERFACES = 270, // "interfaces"
516 TOKEN_DHCP_SOCKET_TYPE = 271, // "dhcp-socket-type"
517 TOKEN_RAW = 272, // "raw"
518 TOKEN_UDP = 273, // "udp"
519 TOKEN_OUTBOUND_INTERFACE = 274, // "outbound-interface"
520 TOKEN_SAME_AS_INBOUND = 275, // "same-as-inbound"
521 TOKEN_USE_ROUTING = 276, // "use-routing"
522 TOKEN_RE_DETECT = 277, // "re-detect"
523 TOKEN_SERVICE_SOCKETS_REQUIRE_ALL = 278, // "service-sockets-require-all"
524 TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME = 279, // "service-sockets-retry-wait-time"
525 TOKEN_SERVICE_SOCKETS_MAX_RETRIES = 280, // "service-sockets-max-retries"
526 TOKEN_SANITY_CHECKS = 281, // "sanity-checks"
527 TOKEN_LEASE_CHECKS = 282, // "lease-checks"
528 TOKEN_EXTENDED_INFO_CHECKS = 283, // "extended-info-checks"
529 TOKEN_ECHO_CLIENT_ID = 284, // "echo-client-id"
530 TOKEN_MATCH_CLIENT_ID = 285, // "match-client-id"
531 TOKEN_AUTHORITATIVE = 286, // "authoritative"
532 TOKEN_NEXT_SERVER = 287, // "next-server"
533 TOKEN_SERVER_HOSTNAME = 288, // "server-hostname"
534 TOKEN_BOOT_FILE_NAME = 289, // "boot-file-name"
535 TOKEN_OFFER_LFT = 290, // "offer-lifetime"
536 TOKEN_STASH_AGENT_OPTIONS = 291, // "stash-agent-options"
537 TOKEN_LEASE_DATABASE = 292, // "lease-database"
538 TOKEN_HOSTS_DATABASE = 293, // "hosts-database"
539 TOKEN_HOSTS_DATABASES = 294, // "hosts-databases"
540 TOKEN_TYPE = 295, // "type"
541 TOKEN_USER = 296, // "user"
542 TOKEN_PASSWORD = 297, // "password"
543 TOKEN_HOST = 298, // "host"
544 TOKEN_PORT = 299, // "port"
545 TOKEN_PERSIST = 300, // "persist"
546 TOKEN_LFC_INTERVAL = 301, // "lfc-interval"
547 TOKEN_READONLY = 302, // "readonly"
548 TOKEN_CONNECT_TIMEOUT = 303, // "connect-timeout"
549 TOKEN_READ_TIMEOUT = 304, // "read-timeout"
550 TOKEN_WRITE_TIMEOUT = 305, // "write-timeout"
551 TOKEN_TCP_USER_TIMEOUT = 306, // "tcp-user-timeout"
552 TOKEN_MAX_RECONNECT_TRIES = 307, // "max-reconnect-tries"
553 TOKEN_RECONNECT_WAIT_TIME = 308, // "reconnect-wait-time"
554 TOKEN_ON_FAIL = 309, // "on-fail"
555 TOKEN_STOP_RETRY_EXIT = 310, // "stop-retry-exit"
556 TOKEN_SERVE_RETRY_EXIT = 311, // "serve-retry-exit"
557 TOKEN_SERVE_RETRY_CONTINUE = 312, // "serve-retry-continue"
558 TOKEN_RETRY_ON_STARTUP = 313, // "retry-on-startup"
559 TOKEN_MAX_ROW_ERRORS = 314, // "max-row-errors"
560 TOKEN_TRUST_ANCHOR = 315, // "trust-anchor"
561 TOKEN_CERT_FILE = 316, // "cert-file"
562 TOKEN_KEY_FILE = 317, // "key-file"
563 TOKEN_CIPHER_LIST = 318, // "cipher-list"
564 TOKEN_VALID_LIFETIME = 319, // "valid-lifetime"
565 TOKEN_MIN_VALID_LIFETIME = 320, // "min-valid-lifetime"
566 TOKEN_MAX_VALID_LIFETIME = 321, // "max-valid-lifetime"
567 TOKEN_RENEW_TIMER = 322, // "renew-timer"
568 TOKEN_REBIND_TIMER = 323, // "rebind-timer"
569 TOKEN_CALCULATE_TEE_TIMES = 324, // "calculate-tee-times"
570 TOKEN_T1_PERCENT = 325, // "t1-percent"
571 TOKEN_T2_PERCENT = 326, // "t2-percent"
572 TOKEN_CACHE_THRESHOLD = 327, // "cache-threshold"
573 TOKEN_CACHE_MAX_AGE = 328, // "cache-max-age"
574 TOKEN_DECLINE_PROBATION_PERIOD = 329, // "decline-probation-period"
575 TOKEN_SERVER_TAG = 330, // "server-tag"
576 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 331, // "statistic-default-sample-count"
577 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 332, // "statistic-default-sample-age"
578 TOKEN_DDNS_SEND_UPDATES = 333, // "ddns-send-updates"
579 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 334, // "ddns-override-no-update"
580 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 335, // "ddns-override-client-update"
581 TOKEN_DDNS_REPLACE_CLIENT_NAME = 336, // "ddns-replace-client-name"
582 TOKEN_DDNS_GENERATED_PREFIX = 337, // "ddns-generated-prefix"
583 TOKEN_DDNS_QUALIFYING_SUFFIX = 338, // "ddns-qualifying-suffix"
584 TOKEN_DDNS_UPDATE_ON_RENEW = 339, // "ddns-update-on-renew"
585 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 340, // "ddns-use-conflict-resolution"
586 TOKEN_DDNS_TTL_PERCENT = 341, // "ddns-ttl-percent"
587 TOKEN_DDNS_TTL = 342, // "ddns-ttl"
588 TOKEN_DDNS_TTL_MIN = 343, // "ddns-ttl-min"
589 TOKEN_DDNS_TTL_MAX = 344, // "ddns-ttl-mix"
590 TOKEN_STORE_EXTENDED_INFO = 345, // "store-extended-info"
591 TOKEN_SUBNET4 = 346, // "subnet4"
592 TOKEN_SUBNET_4O6_INTERFACE = 347, // "4o6-interface"
593 TOKEN_SUBNET_4O6_INTERFACE_ID = 348, // "4o6-interface-id"
594 TOKEN_SUBNET_4O6_SUBNET = 349, // "4o6-subnet"
595 TOKEN_OPTION_DEF = 350, // "option-def"
596 TOKEN_OPTION_DATA = 351, // "option-data"
597 TOKEN_NAME = 352, // "name"
598 TOKEN_DATA = 353, // "data"
599 TOKEN_CODE = 354, // "code"
600 TOKEN_SPACE = 355, // "space"
601 TOKEN_CSV_FORMAT = 356, // "csv-format"
602 TOKEN_ALWAYS_SEND = 357, // "always-send"
603 TOKEN_NEVER_SEND = 358, // "never-send"
604 TOKEN_RECORD_TYPES = 359, // "record-types"
605 TOKEN_ENCAPSULATE = 360, // "encapsulate"
606 TOKEN_ARRAY = 361, // "array"
607 TOKEN_PARKED_PACKET_LIMIT = 362, // "parked-packet-limit"
608 TOKEN_ALLOCATOR = 363, // "allocator"
609 TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 364, // "ddns-conflict-resolution-mode"
610 TOKEN_CHECK_WITH_DHCID = 365, // "check-with-dhcid"
611 TOKEN_NO_CHECK_WITH_DHCID = 366, // "no-check-with-dhcid"
612 TOKEN_CHECK_EXISTS_WITH_DHCID = 367, // "check-exists-with-dhcid"
613 TOKEN_NO_CHECK_WITHOUT_DHCID = 368, // "no-check-without-dhcid"
614 TOKEN_SHARED_NETWORKS = 369, // "shared-networks"
615 TOKEN_POOLS = 370, // "pools"
616 TOKEN_POOL = 371, // "pool"
617 TOKEN_USER_CONTEXT = 372, // "user-context"
618 TOKEN_COMMENT = 373, // "comment"
619 TOKEN_SUBNET = 374, // "subnet"
620 TOKEN_INTERFACE = 375, // "interface"
621 TOKEN_ID = 376, // "id"
622 TOKEN_RESERVATIONS_GLOBAL = 377, // "reservations-global"
623 TOKEN_RESERVATIONS_IN_SUBNET = 378, // "reservations-in-subnet"
624 TOKEN_RESERVATIONS_OUT_OF_POOL = 379, // "reservations-out-of-pool"
625 TOKEN_HOST_RESERVATION_IDENTIFIERS = 380, // "host-reservation-identifiers"
626 TOKEN_CLIENT_CLASSES = 381, // "client-classes"
627 TOKEN_REQUIRE_CLIENT_CLASSES = 382, // "require-client-classes"
628 TOKEN_EVALUATE_ADDITIONAL_CLASSES = 383, // "evaluate-additional-classes"
629 TOKEN_TEST = 384, // "test"
630 TOKEN_TEMPLATE_TEST = 385, // "template-test"
631 TOKEN_ONLY_IF_REQUIRED = 386, // "only-if-required"
632 TOKEN_ONLY_IN_ADDITIONAL_LIST = 387, // "only-in-additional-list"
633 TOKEN_CLIENT_CLASS = 388, // "client-class"
634 TOKEN_POOL_ID = 389, // "pool-id"
635 TOKEN_RESERVATIONS = 390, // "reservations"
636 TOKEN_IP_ADDRESS = 391, // "ip-address"
637 TOKEN_DUID = 392, // "duid"
638 TOKEN_HW_ADDRESS = 393, // "hw-address"
639 TOKEN_CIRCUIT_ID = 394, // "circuit-id"
640 TOKEN_CLIENT_ID = 395, // "client-id"
641 TOKEN_HOSTNAME = 396, // "hostname"
642 TOKEN_FLEX_ID = 397, // "flex-id"
643 TOKEN_RELAY = 398, // "relay"
644 TOKEN_IP_ADDRESSES = 399, // "ip-addresses"
645 TOKEN_HOOKS_LIBRARIES = 400, // "hooks-libraries"
646 TOKEN_LIBRARY = 401, // "library"
647 TOKEN_PARAMETERS = 402, // "parameters"
648 TOKEN_EXPIRED_LEASES_PROCESSING = 403, // "expired-leases-processing"
649 TOKEN_RECLAIM_TIMER_WAIT_TIME = 404, // "reclaim-timer-wait-time"
650 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 405, // "flush-reclaimed-timer-wait-time"
651 TOKEN_HOLD_RECLAIMED_TIME = 406, // "hold-reclaimed-time"
652 TOKEN_MAX_RECLAIM_LEASES = 407, // "max-reclaim-leases"
653 TOKEN_MAX_RECLAIM_TIME = 408, // "max-reclaim-time"
654 TOKEN_UNWARNED_RECLAIM_CYCLES = 409, // "unwarned-reclaim-cycles"
655 TOKEN_DHCP4O6_PORT = 410, // "dhcp4o6-port"
656 TOKEN_DHCP_MULTI_THREADING = 411, // "multi-threading"
657 TOKEN_ENABLE_MULTI_THREADING = 412, // "enable-multi-threading"
658 TOKEN_THREAD_POOL_SIZE = 413, // "thread-pool-size"
659 TOKEN_PACKET_QUEUE_SIZE = 414, // "packet-queue-size"
660 TOKEN_CONTROL_SOCKET = 415, // "control-socket"
661 TOKEN_CONTROL_SOCKETS = 416, // "control-sockets"
662 TOKEN_SOCKET_TYPE = 417, // "socket-type"
663 TOKEN_UNIX = 418, // "unix"
664 TOKEN_HTTP = 419, // "http"
665 TOKEN_HTTPS = 420, // "https"
666 TOKEN_SOCKET_NAME = 421, // "socket-name"
667 TOKEN_SOCKET_ADDRESS = 422, // "socket-address"
668 TOKEN_SOCKET_PORT = 423, // "socket-port"
669 TOKEN_AUTHENTICATION = 424, // "authentication"
670 TOKEN_BASIC = 425, // "basic"
671 TOKEN_REALM = 426, // "realm"
672 TOKEN_DIRECTORY = 427, // "directory"
673 TOKEN_CLIENTS = 428, // "clients"
674 TOKEN_USER_FILE = 429, // "user-file"
675 TOKEN_PASSWORD_FILE = 430, // "password-file"
676 TOKEN_CERT_REQUIRED = 431, // "cert-required"
677 TOKEN_HTTP_HEADERS = 432, // "http-headers"
678 TOKEN_VALUE = 433, // "value"
679 TOKEN_DHCP_QUEUE_CONTROL = 434, // "dhcp-queue-control"
680 TOKEN_ENABLE_QUEUE = 435, // "enable-queue"
681 TOKEN_QUEUE_TYPE = 436, // "queue-type"
682 TOKEN_CAPACITY = 437, // "capacity"
683 TOKEN_DHCP_DDNS = 438, // "dhcp-ddns"
684 TOKEN_ENABLE_UPDATES = 439, // "enable-updates"
685 TOKEN_SERVER_IP = 440, // "server-ip"
686 TOKEN_SERVER_PORT = 441, // "server-port"
687 TOKEN_SENDER_IP = 442, // "sender-ip"
688 TOKEN_SENDER_PORT = 443, // "sender-port"
689 TOKEN_MAX_QUEUE_SIZE = 444, // "max-queue-size"
690 TOKEN_NCR_PROTOCOL = 445, // "ncr-protocol"
691 TOKEN_NCR_FORMAT = 446, // "ncr-format"
692 TOKEN_TCP = 447, // "tcp"
693 TOKEN_JSON = 448, // "JSON"
694 TOKEN_WHEN_PRESENT = 449, // "when-present"
695 TOKEN_NEVER = 450, // "never"
696 TOKEN_ALWAYS = 451, // "always"
697 TOKEN_WHEN_NOT_PRESENT = 452, // "when-not-present"
698 TOKEN_HOSTNAME_CHAR_SET = 453, // "hostname-char-set"
699 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 454, // "hostname-char-replacement"
700 TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 455, // "early-global-reservations-lookup"
701 TOKEN_IP_RESERVATIONS_UNIQUE = 456, // "ip-reservations-unique"
702 TOKEN_RESERVATIONS_LOOKUP_FIRST = 457, // "reservations-lookup-first"
703 TOKEN_LOGGERS = 458, // "loggers"
704 TOKEN_OUTPUT_OPTIONS = 459, // "output-options"
705 TOKEN_OUTPUT = 460, // "output"
706 TOKEN_DEBUGLEVEL = 461, // "debuglevel"
707 TOKEN_SEVERITY = 462, // "severity"
708 TOKEN_FLUSH = 463, // "flush"
709 TOKEN_MAXSIZE = 464, // "maxsize"
710 TOKEN_MAXVER = 465, // "maxver"
711 TOKEN_PATTERN = 466, // "pattern"
712 TOKEN_COMPATIBILITY = 467, // "compatibility"
713 TOKEN_LENIENT_OPTION_PARSING = 468, // "lenient-option-parsing"
714 TOKEN_IGNORE_DHCP_SERVER_ID = 469, // "ignore-dhcp-server-identifier"
715 TOKEN_IGNORE_RAI_LINK_SEL = 470, // "ignore-rai-link-selection"
716 TOKEN_EXCLUDE_FIRST_LAST_24 = 471, // "exclude-first-last-24"
717 TOKEN_TOPLEVEL_JSON = 472, // TOPLEVEL_JSON
718 TOKEN_TOPLEVEL_DHCP4 = 473, // TOPLEVEL_DHCP4
719 TOKEN_SUB_DHCP4 = 474, // SUB_DHCP4
720 TOKEN_SUB_INTERFACES4 = 475, // SUB_INTERFACES4
721 TOKEN_SUB_SUBNET4 = 476, // SUB_SUBNET4
722 TOKEN_SUB_POOL4 = 477, // SUB_POOL4
723 TOKEN_SUB_RESERVATION = 478, // SUB_RESERVATION
724 TOKEN_SUB_OPTION_DEFS = 479, // SUB_OPTION_DEFS
725 TOKEN_SUB_OPTION_DEF = 480, // SUB_OPTION_DEF
726 TOKEN_SUB_OPTION_DATA = 481, // SUB_OPTION_DATA
727 TOKEN_SUB_HOOKS_LIBRARY = 482, // SUB_HOOKS_LIBRARY
728 TOKEN_SUB_DHCP_DDNS = 483, // SUB_DHCP_DDNS
729 TOKEN_SUB_CONFIG_CONTROL = 484, // SUB_CONFIG_CONTROL
730 TOKEN_STRING = 485, // "constant string"
731 TOKEN_INTEGER = 486, // "integer"
732 TOKEN_FLOAT = 487, // "floating point"
733 TOKEN_BOOLEAN = 488 // "boolean"
734 };
737 };
738
741
744
747 {
749 {
750 YYNTOKENS = 234,
751 S_YYEMPTY = -2,
752 S_YYEOF = 0, // "end of file"
753 S_YYerror = 1, // error
754 S_YYUNDEF = 2, // "invalid token"
755 S_COMMA = 3, // ","
756 S_COLON = 4, // ":"
757 S_LSQUARE_BRACKET = 5, // "["
758 S_RSQUARE_BRACKET = 6, // "]"
759 S_LCURLY_BRACKET = 7, // "{"
760 S_RCURLY_BRACKET = 8, // "}"
761 S_NULL_TYPE = 9, // "null"
762 S_DHCP4 = 10, // "Dhcp4"
763 S_CONFIG_CONTROL = 11, // "config-control"
764 S_CONFIG_DATABASES = 12, // "config-databases"
765 S_CONFIG_FETCH_WAIT_TIME = 13, // "config-fetch-wait-time"
766 S_INTERFACES_CONFIG = 14, // "interfaces-config"
767 S_INTERFACES = 15, // "interfaces"
768 S_DHCP_SOCKET_TYPE = 16, // "dhcp-socket-type"
769 S_RAW = 17, // "raw"
770 S_UDP = 18, // "udp"
771 S_OUTBOUND_INTERFACE = 19, // "outbound-interface"
772 S_SAME_AS_INBOUND = 20, // "same-as-inbound"
773 S_USE_ROUTING = 21, // "use-routing"
774 S_RE_DETECT = 22, // "re-detect"
775 S_SERVICE_SOCKETS_REQUIRE_ALL = 23, // "service-sockets-require-all"
776 S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 24, // "service-sockets-retry-wait-time"
777 S_SERVICE_SOCKETS_MAX_RETRIES = 25, // "service-sockets-max-retries"
778 S_SANITY_CHECKS = 26, // "sanity-checks"
779 S_LEASE_CHECKS = 27, // "lease-checks"
780 S_EXTENDED_INFO_CHECKS = 28, // "extended-info-checks"
781 S_ECHO_CLIENT_ID = 29, // "echo-client-id"
782 S_MATCH_CLIENT_ID = 30, // "match-client-id"
783 S_AUTHORITATIVE = 31, // "authoritative"
784 S_NEXT_SERVER = 32, // "next-server"
785 S_SERVER_HOSTNAME = 33, // "server-hostname"
786 S_BOOT_FILE_NAME = 34, // "boot-file-name"
787 S_OFFER_LFT = 35, // "offer-lifetime"
788 S_STASH_AGENT_OPTIONS = 36, // "stash-agent-options"
789 S_LEASE_DATABASE = 37, // "lease-database"
790 S_HOSTS_DATABASE = 38, // "hosts-database"
791 S_HOSTS_DATABASES = 39, // "hosts-databases"
792 S_TYPE = 40, // "type"
793 S_USER = 41, // "user"
794 S_PASSWORD = 42, // "password"
795 S_HOST = 43, // "host"
796 S_PORT = 44, // "port"
797 S_PERSIST = 45, // "persist"
798 S_LFC_INTERVAL = 46, // "lfc-interval"
799 S_READONLY = 47, // "readonly"
800 S_CONNECT_TIMEOUT = 48, // "connect-timeout"
801 S_READ_TIMEOUT = 49, // "read-timeout"
802 S_WRITE_TIMEOUT = 50, // "write-timeout"
803 S_TCP_USER_TIMEOUT = 51, // "tcp-user-timeout"
804 S_MAX_RECONNECT_TRIES = 52, // "max-reconnect-tries"
805 S_RECONNECT_WAIT_TIME = 53, // "reconnect-wait-time"
806 S_ON_FAIL = 54, // "on-fail"
807 S_STOP_RETRY_EXIT = 55, // "stop-retry-exit"
808 S_SERVE_RETRY_EXIT = 56, // "serve-retry-exit"
809 S_SERVE_RETRY_CONTINUE = 57, // "serve-retry-continue"
810 S_RETRY_ON_STARTUP = 58, // "retry-on-startup"
811 S_MAX_ROW_ERRORS = 59, // "max-row-errors"
812 S_TRUST_ANCHOR = 60, // "trust-anchor"
813 S_CERT_FILE = 61, // "cert-file"
814 S_KEY_FILE = 62, // "key-file"
815 S_CIPHER_LIST = 63, // "cipher-list"
816 S_VALID_LIFETIME = 64, // "valid-lifetime"
817 S_MIN_VALID_LIFETIME = 65, // "min-valid-lifetime"
818 S_MAX_VALID_LIFETIME = 66, // "max-valid-lifetime"
819 S_RENEW_TIMER = 67, // "renew-timer"
820 S_REBIND_TIMER = 68, // "rebind-timer"
821 S_CALCULATE_TEE_TIMES = 69, // "calculate-tee-times"
822 S_T1_PERCENT = 70, // "t1-percent"
823 S_T2_PERCENT = 71, // "t2-percent"
824 S_CACHE_THRESHOLD = 72, // "cache-threshold"
825 S_CACHE_MAX_AGE = 73, // "cache-max-age"
826 S_DECLINE_PROBATION_PERIOD = 74, // "decline-probation-period"
827 S_SERVER_TAG = 75, // "server-tag"
828 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 76, // "statistic-default-sample-count"
829 S_STATISTIC_DEFAULT_SAMPLE_AGE = 77, // "statistic-default-sample-age"
830 S_DDNS_SEND_UPDATES = 78, // "ddns-send-updates"
831 S_DDNS_OVERRIDE_NO_UPDATE = 79, // "ddns-override-no-update"
832 S_DDNS_OVERRIDE_CLIENT_UPDATE = 80, // "ddns-override-client-update"
833 S_DDNS_REPLACE_CLIENT_NAME = 81, // "ddns-replace-client-name"
834 S_DDNS_GENERATED_PREFIX = 82, // "ddns-generated-prefix"
835 S_DDNS_QUALIFYING_SUFFIX = 83, // "ddns-qualifying-suffix"
836 S_DDNS_UPDATE_ON_RENEW = 84, // "ddns-update-on-renew"
837 S_DDNS_USE_CONFLICT_RESOLUTION = 85, // "ddns-use-conflict-resolution"
838 S_DDNS_TTL_PERCENT = 86, // "ddns-ttl-percent"
839 S_DDNS_TTL = 87, // "ddns-ttl"
840 S_DDNS_TTL_MIN = 88, // "ddns-ttl-min"
841 S_DDNS_TTL_MAX = 89, // "ddns-ttl-mix"
842 S_STORE_EXTENDED_INFO = 90, // "store-extended-info"
843 S_SUBNET4 = 91, // "subnet4"
844 S_SUBNET_4O6_INTERFACE = 92, // "4o6-interface"
845 S_SUBNET_4O6_INTERFACE_ID = 93, // "4o6-interface-id"
846 S_SUBNET_4O6_SUBNET = 94, // "4o6-subnet"
847 S_OPTION_DEF = 95, // "option-def"
848 S_OPTION_DATA = 96, // "option-data"
849 S_NAME = 97, // "name"
850 S_DATA = 98, // "data"
851 S_CODE = 99, // "code"
852 S_SPACE = 100, // "space"
853 S_CSV_FORMAT = 101, // "csv-format"
854 S_ALWAYS_SEND = 102, // "always-send"
855 S_NEVER_SEND = 103, // "never-send"
856 S_RECORD_TYPES = 104, // "record-types"
857 S_ENCAPSULATE = 105, // "encapsulate"
858 S_ARRAY = 106, // "array"
859 S_PARKED_PACKET_LIMIT = 107, // "parked-packet-limit"
860 S_ALLOCATOR = 108, // "allocator"
861 S_DDNS_CONFLICT_RESOLUTION_MODE = 109, // "ddns-conflict-resolution-mode"
862 S_CHECK_WITH_DHCID = 110, // "check-with-dhcid"
863 S_NO_CHECK_WITH_DHCID = 111, // "no-check-with-dhcid"
864 S_CHECK_EXISTS_WITH_DHCID = 112, // "check-exists-with-dhcid"
865 S_NO_CHECK_WITHOUT_DHCID = 113, // "no-check-without-dhcid"
866 S_SHARED_NETWORKS = 114, // "shared-networks"
867 S_POOLS = 115, // "pools"
868 S_POOL = 116, // "pool"
869 S_USER_CONTEXT = 117, // "user-context"
870 S_COMMENT = 118, // "comment"
871 S_SUBNET = 119, // "subnet"
872 S_INTERFACE = 120, // "interface"
873 S_ID = 121, // "id"
874 S_RESERVATIONS_GLOBAL = 122, // "reservations-global"
875 S_RESERVATIONS_IN_SUBNET = 123, // "reservations-in-subnet"
876 S_RESERVATIONS_OUT_OF_POOL = 124, // "reservations-out-of-pool"
877 S_HOST_RESERVATION_IDENTIFIERS = 125, // "host-reservation-identifiers"
878 S_CLIENT_CLASSES = 126, // "client-classes"
879 S_REQUIRE_CLIENT_CLASSES = 127, // "require-client-classes"
880 S_EVALUATE_ADDITIONAL_CLASSES = 128, // "evaluate-additional-classes"
881 S_TEST = 129, // "test"
882 S_TEMPLATE_TEST = 130, // "template-test"
883 S_ONLY_IF_REQUIRED = 131, // "only-if-required"
884 S_ONLY_IN_ADDITIONAL_LIST = 132, // "only-in-additional-list"
885 S_CLIENT_CLASS = 133, // "client-class"
886 S_POOL_ID = 134, // "pool-id"
887 S_RESERVATIONS = 135, // "reservations"
888 S_IP_ADDRESS = 136, // "ip-address"
889 S_DUID = 137, // "duid"
890 S_HW_ADDRESS = 138, // "hw-address"
891 S_CIRCUIT_ID = 139, // "circuit-id"
892 S_CLIENT_ID = 140, // "client-id"
893 S_HOSTNAME = 141, // "hostname"
894 S_FLEX_ID = 142, // "flex-id"
895 S_RELAY = 143, // "relay"
896 S_IP_ADDRESSES = 144, // "ip-addresses"
897 S_HOOKS_LIBRARIES = 145, // "hooks-libraries"
898 S_LIBRARY = 146, // "library"
899 S_PARAMETERS = 147, // "parameters"
900 S_EXPIRED_LEASES_PROCESSING = 148, // "expired-leases-processing"
901 S_RECLAIM_TIMER_WAIT_TIME = 149, // "reclaim-timer-wait-time"
902 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 150, // "flush-reclaimed-timer-wait-time"
903 S_HOLD_RECLAIMED_TIME = 151, // "hold-reclaimed-time"
904 S_MAX_RECLAIM_LEASES = 152, // "max-reclaim-leases"
905 S_MAX_RECLAIM_TIME = 153, // "max-reclaim-time"
906 S_UNWARNED_RECLAIM_CYCLES = 154, // "unwarned-reclaim-cycles"
907 S_DHCP4O6_PORT = 155, // "dhcp4o6-port"
908 S_DHCP_MULTI_THREADING = 156, // "multi-threading"
909 S_ENABLE_MULTI_THREADING = 157, // "enable-multi-threading"
910 S_THREAD_POOL_SIZE = 158, // "thread-pool-size"
911 S_PACKET_QUEUE_SIZE = 159, // "packet-queue-size"
912 S_CONTROL_SOCKET = 160, // "control-socket"
913 S_CONTROL_SOCKETS = 161, // "control-sockets"
914 S_SOCKET_TYPE = 162, // "socket-type"
915 S_UNIX = 163, // "unix"
916 S_HTTP = 164, // "http"
917 S_HTTPS = 165, // "https"
918 S_SOCKET_NAME = 166, // "socket-name"
919 S_SOCKET_ADDRESS = 167, // "socket-address"
920 S_SOCKET_PORT = 168, // "socket-port"
921 S_AUTHENTICATION = 169, // "authentication"
922 S_BASIC = 170, // "basic"
923 S_REALM = 171, // "realm"
924 S_DIRECTORY = 172, // "directory"
925 S_CLIENTS = 173, // "clients"
926 S_USER_FILE = 174, // "user-file"
927 S_PASSWORD_FILE = 175, // "password-file"
928 S_CERT_REQUIRED = 176, // "cert-required"
929 S_HTTP_HEADERS = 177, // "http-headers"
930 S_VALUE = 178, // "value"
931 S_DHCP_QUEUE_CONTROL = 179, // "dhcp-queue-control"
932 S_ENABLE_QUEUE = 180, // "enable-queue"
933 S_QUEUE_TYPE = 181, // "queue-type"
934 S_CAPACITY = 182, // "capacity"
935 S_DHCP_DDNS = 183, // "dhcp-ddns"
936 S_ENABLE_UPDATES = 184, // "enable-updates"
937 S_SERVER_IP = 185, // "server-ip"
938 S_SERVER_PORT = 186, // "server-port"
939 S_SENDER_IP = 187, // "sender-ip"
940 S_SENDER_PORT = 188, // "sender-port"
941 S_MAX_QUEUE_SIZE = 189, // "max-queue-size"
942 S_NCR_PROTOCOL = 190, // "ncr-protocol"
943 S_NCR_FORMAT = 191, // "ncr-format"
944 S_TCP = 192, // "tcp"
945 S_JSON = 193, // "JSON"
946 S_WHEN_PRESENT = 194, // "when-present"
947 S_NEVER = 195, // "never"
948 S_ALWAYS = 196, // "always"
949 S_WHEN_NOT_PRESENT = 197, // "when-not-present"
950 S_HOSTNAME_CHAR_SET = 198, // "hostname-char-set"
951 S_HOSTNAME_CHAR_REPLACEMENT = 199, // "hostname-char-replacement"
952 S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 200, // "early-global-reservations-lookup"
953 S_IP_RESERVATIONS_UNIQUE = 201, // "ip-reservations-unique"
954 S_RESERVATIONS_LOOKUP_FIRST = 202, // "reservations-lookup-first"
955 S_LOGGERS = 203, // "loggers"
956 S_OUTPUT_OPTIONS = 204, // "output-options"
957 S_OUTPUT = 205, // "output"
958 S_DEBUGLEVEL = 206, // "debuglevel"
959 S_SEVERITY = 207, // "severity"
960 S_FLUSH = 208, // "flush"
961 S_MAXSIZE = 209, // "maxsize"
962 S_MAXVER = 210, // "maxver"
963 S_PATTERN = 211, // "pattern"
964 S_COMPATIBILITY = 212, // "compatibility"
965 S_LENIENT_OPTION_PARSING = 213, // "lenient-option-parsing"
966 S_IGNORE_DHCP_SERVER_ID = 214, // "ignore-dhcp-server-identifier"
967 S_IGNORE_RAI_LINK_SEL = 215, // "ignore-rai-link-selection"
968 S_EXCLUDE_FIRST_LAST_24 = 216, // "exclude-first-last-24"
969 S_TOPLEVEL_JSON = 217, // TOPLEVEL_JSON
970 S_TOPLEVEL_DHCP4 = 218, // TOPLEVEL_DHCP4
971 S_SUB_DHCP4 = 219, // SUB_DHCP4
972 S_SUB_INTERFACES4 = 220, // SUB_INTERFACES4
973 S_SUB_SUBNET4 = 221, // SUB_SUBNET4
974 S_SUB_POOL4 = 222, // SUB_POOL4
975 S_SUB_RESERVATION = 223, // SUB_RESERVATION
976 S_SUB_OPTION_DEFS = 224, // SUB_OPTION_DEFS
977 S_SUB_OPTION_DEF = 225, // SUB_OPTION_DEF
978 S_SUB_OPTION_DATA = 226, // SUB_OPTION_DATA
979 S_SUB_HOOKS_LIBRARY = 227, // SUB_HOOKS_LIBRARY
980 S_SUB_DHCP_DDNS = 228, // SUB_DHCP_DDNS
981 S_SUB_CONFIG_CONTROL = 229, // SUB_CONFIG_CONTROL
982 S_STRING = 230, // "constant string"
983 S_INTEGER = 231, // "integer"
984 S_FLOAT = 232, // "floating point"
985 S_BOOLEAN = 233, // "boolean"
986 S_YYACCEPT = 234, // $accept
987 S_start = 235, // start
988 S_236_1 = 236, // $@1
989 S_237_2 = 237, // $@2
990 S_238_3 = 238, // $@3
991 S_239_4 = 239, // $@4
992 S_240_5 = 240, // $@5
993 S_241_6 = 241, // $@6
994 S_242_7 = 242, // $@7
995 S_243_8 = 243, // $@8
996 S_244_9 = 244, // $@9
997 S_245_10 = 245, // $@10
998 S_246_11 = 246, // $@11
999 S_247_12 = 247, // $@12
1000 S_248_13 = 248, // $@13
1001 S_value = 249, // value
1002 S_sub_json = 250, // sub_json
1003 S_map2 = 251, // map2
1004 S_252_14 = 252, // $@14
1005 S_map_value = 253, // map_value
1006 S_map_content = 254, // map_content
1007 S_not_empty_map = 255, // not_empty_map
1008 S_list_generic = 256, // list_generic
1009 S_257_15 = 257, // $@15
1010 S_list_content = 258, // list_content
1011 S_not_empty_list = 259, // not_empty_list
1012 S_list_strings = 260, // list_strings
1013 S_261_16 = 261, // $@16
1014 S_list_strings_content = 262, // list_strings_content
1015 S_not_empty_list_strings = 263, // not_empty_list_strings
1016 S_unknown_map_entry = 264, // unknown_map_entry
1017 S_syntax_map = 265, // syntax_map
1018 S_266_17 = 266, // $@17
1019 S_global_object = 267, // global_object
1020 S_268_18 = 268, // $@18
1021 S_global_object_comma = 269, // global_object_comma
1022 S_sub_dhcp4 = 270, // sub_dhcp4
1023 S_271_19 = 271, // $@19
1024 S_global_params = 272, // global_params
1025 S_global_param = 273, // global_param
1026 S_valid_lifetime = 274, // valid_lifetime
1027 S_min_valid_lifetime = 275, // min_valid_lifetime
1028 S_max_valid_lifetime = 276, // max_valid_lifetime
1029 S_renew_timer = 277, // renew_timer
1030 S_rebind_timer = 278, // rebind_timer
1031 S_calculate_tee_times = 279, // calculate_tee_times
1032 S_t1_percent = 280, // t1_percent
1033 S_t2_percent = 281, // t2_percent
1034 S_cache_threshold = 282, // cache_threshold
1035 S_cache_max_age = 283, // cache_max_age
1036 S_decline_probation_period = 284, // decline_probation_period
1037 S_server_tag = 285, // server_tag
1038 S_286_20 = 286, // $@20
1039 S_parked_packet_limit = 287, // parked_packet_limit
1040 S_allocator = 288, // allocator
1041 S_289_21 = 289, // $@21
1042 S_echo_client_id = 290, // echo_client_id
1043 S_match_client_id = 291, // match_client_id
1044 S_authoritative = 292, // authoritative
1045 S_ddns_send_updates = 293, // ddns_send_updates
1046 S_ddns_override_no_update = 294, // ddns_override_no_update
1047 S_ddns_override_client_update = 295, // ddns_override_client_update
1048 S_ddns_replace_client_name = 296, // ddns_replace_client_name
1049 S_297_22 = 297, // $@22
1050 S_ddns_replace_client_name_value = 298, // ddns_replace_client_name_value
1051 S_ddns_generated_prefix = 299, // ddns_generated_prefix
1052 S_300_23 = 300, // $@23
1053 S_ddns_qualifying_suffix = 301, // ddns_qualifying_suffix
1054 S_302_24 = 302, // $@24
1055 S_ddns_update_on_renew = 303, // ddns_update_on_renew
1056 S_ddns_use_conflict_resolution = 304, // ddns_use_conflict_resolution
1057 S_ddns_conflict_resolution_mode = 305, // ddns_conflict_resolution_mode
1058 S_306_25 = 306, // $@25
1059 S_ddns_conflict_resolution_mode_value = 307, // ddns_conflict_resolution_mode_value
1060 S_ddns_ttl_percent = 308, // ddns_ttl_percent
1061 S_ddns_ttl = 309, // ddns_ttl
1062 S_ddns_ttl_min = 310, // ddns_ttl_min
1063 S_ddns_ttl_max = 311, // ddns_ttl_max
1064 S_hostname_char_set = 312, // hostname_char_set
1065 S_313_26 = 313, // $@26
1066 S_hostname_char_replacement = 314, // hostname_char_replacement
1067 S_315_27 = 315, // $@27
1068 S_store_extended_info = 316, // store_extended_info
1069 S_statistic_default_sample_count = 317, // statistic_default_sample_count
1070 S_statistic_default_sample_age = 318, // statistic_default_sample_age
1071 S_early_global_reservations_lookup = 319, // early_global_reservations_lookup
1072 S_ip_reservations_unique = 320, // ip_reservations_unique
1073 S_reservations_lookup_first = 321, // reservations_lookup_first
1074 S_offer_lifetime = 322, // offer_lifetime
1075 S_stash_agent_options = 323, // stash_agent_options
1076 S_interfaces_config = 324, // interfaces_config
1077 S_325_28 = 325, // $@28
1078 S_interfaces_config_params = 326, // interfaces_config_params
1079 S_interfaces_config_param = 327, // interfaces_config_param
1080 S_sub_interfaces4 = 328, // sub_interfaces4
1081 S_329_29 = 329, // $@29
1082 S_interfaces_list = 330, // interfaces_list
1083 S_331_30 = 331, // $@30
1084 S_dhcp_socket_type = 332, // dhcp_socket_type
1085 S_333_31 = 333, // $@31
1086 S_socket_type = 334, // socket_type
1087 S_outbound_interface = 335, // outbound_interface
1088 S_336_32 = 336, // $@32
1089 S_outbound_interface_value = 337, // outbound_interface_value
1090 S_re_detect = 338, // re_detect
1091 S_service_sockets_require_all = 339, // service_sockets_require_all
1092 S_service_sockets_retry_wait_time = 340, // service_sockets_retry_wait_time
1093 S_service_sockets_max_retries = 341, // service_sockets_max_retries
1094 S_lease_database = 342, // lease_database
1095 S_343_33 = 343, // $@33
1096 S_sanity_checks = 344, // sanity_checks
1097 S_345_34 = 345, // $@34
1098 S_sanity_checks_params = 346, // sanity_checks_params
1099 S_sanity_checks_param = 347, // sanity_checks_param
1100 S_lease_checks = 348, // lease_checks
1101 S_349_35 = 349, // $@35
1102 S_extended_info_checks = 350, // extended_info_checks
1103 S_351_36 = 351, // $@36
1104 S_hosts_database = 352, // hosts_database
1105 S_353_37 = 353, // $@37
1106 S_hosts_databases = 354, // hosts_databases
1107 S_355_38 = 355, // $@38
1108 S_database_list = 356, // database_list
1109 S_not_empty_database_list = 357, // not_empty_database_list
1110 S_database = 358, // database
1111 S_359_39 = 359, // $@39
1112 S_database_map_params = 360, // database_map_params
1113 S_database_map_param = 361, // database_map_param
1114 S_database_type = 362, // database_type
1115 S_363_40 = 363, // $@40
1116 S_user = 364, // user
1117 S_365_41 = 365, // $@41
1118 S_password = 366, // password
1119 S_367_42 = 367, // $@42
1120 S_host = 368, // host
1121 S_369_43 = 369, // $@43
1122 S_port = 370, // port
1123 S_name = 371, // name
1124 S_372_44 = 372, // $@44
1125 S_persist = 373, // persist
1126 S_lfc_interval = 374, // lfc_interval
1127 S_readonly = 375, // readonly
1128 S_connect_timeout = 376, // connect_timeout
1129 S_read_timeout = 377, // read_timeout
1130 S_write_timeout = 378, // write_timeout
1131 S_tcp_user_timeout = 379, // tcp_user_timeout
1132 S_max_reconnect_tries = 380, // max_reconnect_tries
1133 S_reconnect_wait_time = 381, // reconnect_wait_time
1134 S_on_fail = 382, // on_fail
1135 S_383_45 = 383, // $@45
1136 S_on_fail_mode = 384, // on_fail_mode
1137 S_retry_on_startup = 385, // retry_on_startup
1138 S_max_row_errors = 386, // max_row_errors
1139 S_trust_anchor = 387, // trust_anchor
1140 S_388_46 = 388, // $@46
1141 S_cert_file = 389, // cert_file
1142 S_390_47 = 390, // $@47
1143 S_key_file = 391, // key_file
1144 S_392_48 = 392, // $@48
1145 S_cipher_list = 393, // cipher_list
1146 S_394_49 = 394, // $@49
1147 S_host_reservation_identifiers = 395, // host_reservation_identifiers
1148 S_396_50 = 396, // $@50
1149 S_host_reservation_identifiers_list = 397, // host_reservation_identifiers_list
1150 S_host_reservation_identifier = 398, // host_reservation_identifier
1151 S_duid_id = 399, // duid_id
1152 S_hw_address_id = 400, // hw_address_id
1153 S_circuit_id = 401, // circuit_id
1154 S_client_id = 402, // client_id
1155 S_flex_id = 403, // flex_id
1156 S_dhcp_multi_threading = 404, // dhcp_multi_threading
1157 S_405_51 = 405, // $@51
1158 S_multi_threading_params = 406, // multi_threading_params
1159 S_multi_threading_param = 407, // multi_threading_param
1160 S_enable_multi_threading = 408, // enable_multi_threading
1161 S_thread_pool_size = 409, // thread_pool_size
1162 S_packet_queue_size = 410, // packet_queue_size
1163 S_hooks_libraries = 411, // hooks_libraries
1164 S_412_52 = 412, // $@52
1165 S_hooks_libraries_list = 413, // hooks_libraries_list
1166 S_not_empty_hooks_libraries_list = 414, // not_empty_hooks_libraries_list
1167 S_hooks_library = 415, // hooks_library
1168 S_416_53 = 416, // $@53
1169 S_sub_hooks_library = 417, // sub_hooks_library
1170 S_418_54 = 418, // $@54
1171 S_hooks_params = 419, // hooks_params
1172 S_hooks_param = 420, // hooks_param
1173 S_library = 421, // library
1174 S_422_55 = 422, // $@55
1175 S_parameters = 423, // parameters
1176 S_424_56 = 424, // $@56
1177 S_expired_leases_processing = 425, // expired_leases_processing
1178 S_426_57 = 426, // $@57
1179 S_expired_leases_params = 427, // expired_leases_params
1180 S_expired_leases_param = 428, // expired_leases_param
1181 S_reclaim_timer_wait_time = 429, // reclaim_timer_wait_time
1182 S_flush_reclaimed_timer_wait_time = 430, // flush_reclaimed_timer_wait_time
1183 S_hold_reclaimed_time = 431, // hold_reclaimed_time
1184 S_max_reclaim_leases = 432, // max_reclaim_leases
1185 S_max_reclaim_time = 433, // max_reclaim_time
1186 S_unwarned_reclaim_cycles = 434, // unwarned_reclaim_cycles
1187 S_subnet4_list = 435, // subnet4_list
1188 S_436_58 = 436, // $@58
1189 S_subnet4_list_content = 437, // subnet4_list_content
1190 S_not_empty_subnet4_list = 438, // not_empty_subnet4_list
1191 S_subnet4 = 439, // subnet4
1192 S_440_59 = 440, // $@59
1193 S_sub_subnet4 = 441, // sub_subnet4
1194 S_442_60 = 442, // $@60
1195 S_subnet4_params = 443, // subnet4_params
1196 S_subnet4_param = 444, // subnet4_param
1197 S_subnet = 445, // subnet
1198 S_446_61 = 446, // $@61
1199 S_subnet_4o6_interface = 447, // subnet_4o6_interface
1200 S_448_62 = 448, // $@62
1201 S_subnet_4o6_interface_id = 449, // subnet_4o6_interface_id
1202 S_450_63 = 450, // $@63
1203 S_subnet_4o6_subnet = 451, // subnet_4o6_subnet
1204 S_452_64 = 452, // $@64
1205 S_interface = 453, // interface
1206 S_454_65 = 454, // $@65
1207 S_client_class = 455, // client_class
1208 S_456_66 = 456, // $@66
1209 S_network_client_classes = 457, // network_client_classes
1210 S_458_67 = 458, // $@67
1211 S_require_client_classes = 459, // require_client_classes
1212 S_460_68 = 460, // $@68
1213 S_evaluate_additional_classes = 461, // evaluate_additional_classes
1214 S_462_69 = 462, // $@69
1215 S_reservations_global = 463, // reservations_global
1216 S_reservations_in_subnet = 464, // reservations_in_subnet
1217 S_reservations_out_of_pool = 465, // reservations_out_of_pool
1218 S_id = 466, // id
1219 S_shared_networks = 467, // shared_networks
1220 S_468_70 = 468, // $@70
1221 S_shared_networks_content = 469, // shared_networks_content
1222 S_shared_networks_list = 470, // shared_networks_list
1223 S_shared_network = 471, // shared_network
1224 S_472_71 = 472, // $@71
1225 S_shared_network_params = 473, // shared_network_params
1226 S_shared_network_param = 474, // shared_network_param
1227 S_option_def_list = 475, // option_def_list
1228 S_476_72 = 476, // $@72
1229 S_sub_option_def_list = 477, // sub_option_def_list
1230 S_478_73 = 478, // $@73
1231 S_option_def_list_content = 479, // option_def_list_content
1232 S_not_empty_option_def_list = 480, // not_empty_option_def_list
1233 S_option_def_entry = 481, // option_def_entry
1234 S_482_74 = 482, // $@74
1235 S_sub_option_def = 483, // sub_option_def
1236 S_484_75 = 484, // $@75
1237 S_option_def_params = 485, // option_def_params
1238 S_not_empty_option_def_params = 486, // not_empty_option_def_params
1239 S_option_def_param = 487, // option_def_param
1240 S_option_def_name = 488, // option_def_name
1241 S_code = 489, // code
1242 S_option_def_code = 490, // option_def_code
1243 S_option_def_type = 491, // option_def_type
1244 S_492_76 = 492, // $@76
1245 S_option_def_record_types = 493, // option_def_record_types
1246 S_494_77 = 494, // $@77
1247 S_space = 495, // space
1248 S_496_78 = 496, // $@78
1249 S_option_def_space = 497, // option_def_space
1250 S_option_def_encapsulate = 498, // option_def_encapsulate
1251 S_499_79 = 499, // $@79
1252 S_option_def_array = 500, // option_def_array
1253 S_option_data_list = 501, // option_data_list
1254 S_502_80 = 502, // $@80
1255 S_option_data_list_content = 503, // option_data_list_content
1256 S_not_empty_option_data_list = 504, // not_empty_option_data_list
1257 S_option_data_entry = 505, // option_data_entry
1258 S_506_81 = 506, // $@81
1259 S_sub_option_data = 507, // sub_option_data
1260 S_508_82 = 508, // $@82
1261 S_option_data_params = 509, // option_data_params
1262 S_not_empty_option_data_params = 510, // not_empty_option_data_params
1263 S_option_data_param = 511, // option_data_param
1264 S_option_data_name = 512, // option_data_name
1265 S_option_data_data = 513, // option_data_data
1266 S_514_83 = 514, // $@83
1267 S_option_data_code = 515, // option_data_code
1268 S_option_data_space = 516, // option_data_space
1269 S_option_data_csv_format = 517, // option_data_csv_format
1270 S_option_data_always_send = 518, // option_data_always_send
1271 S_option_data_never_send = 519, // option_data_never_send
1272 S_option_data_client_classes = 520, // option_data_client_classes
1273 S_521_84 = 521, // $@84
1274 S_pools_list = 522, // pools_list
1275 S_523_85 = 523, // $@85
1276 S_pools_list_content = 524, // pools_list_content
1277 S_not_empty_pools_list = 525, // not_empty_pools_list
1278 S_pool_list_entry = 526, // pool_list_entry
1279 S_527_86 = 527, // $@86
1280 S_sub_pool4 = 528, // sub_pool4
1281 S_529_87 = 529, // $@87
1282 S_pool_params = 530, // pool_params
1283 S_pool_param = 531, // pool_param
1284 S_pool_entry = 532, // pool_entry
1285 S_533_88 = 533, // $@88
1286 S_pool_id = 534, // pool_id
1287 S_user_context = 535, // user_context
1288 S_536_89 = 536, // $@89
1289 S_comment = 537, // comment
1290 S_538_90 = 538, // $@90
1291 S_reservations = 539, // reservations
1292 S_540_91 = 540, // $@91
1293 S_reservations_list = 541, // reservations_list
1294 S_not_empty_reservations_list = 542, // not_empty_reservations_list
1295 S_reservation = 543, // reservation
1296 S_544_92 = 544, // $@92
1297 S_sub_reservation = 545, // sub_reservation
1298 S_546_93 = 546, // $@93
1299 S_reservation_params = 547, // reservation_params
1300 S_not_empty_reservation_params = 548, // not_empty_reservation_params
1301 S_reservation_param = 549, // reservation_param
1302 S_next_server = 550, // next_server
1303 S_551_94 = 551, // $@94
1304 S_server_hostname = 552, // server_hostname
1305 S_553_95 = 553, // $@95
1306 S_boot_file_name = 554, // boot_file_name
1307 S_555_96 = 555, // $@96
1308 S_ip_address = 556, // ip_address
1309 S_557_97 = 557, // $@97
1310 S_duid = 558, // duid
1311 S_559_98 = 559, // $@98
1312 S_hw_address = 560, // hw_address
1313 S_561_99 = 561, // $@99
1314 S_client_id_value = 562, // client_id_value
1315 S_563_100 = 563, // $@100
1316 S_circuit_id_value = 564, // circuit_id_value
1317 S_565_101 = 565, // $@101
1318 S_flex_id_value = 566, // flex_id_value
1319 S_567_102 = 567, // $@102
1320 S_hostname = 568, // hostname
1321 S_569_103 = 569, // $@103
1322 S_reservation_client_classes = 570, // reservation_client_classes
1323 S_571_104 = 571, // $@104
1324 S_relay = 572, // relay
1325 S_573_105 = 573, // $@105
1326 S_relay_map = 574, // relay_map
1327 S_ip_addresses = 575, // ip_addresses
1328 S_576_106 = 576, // $@106
1329 S_client_classes = 577, // client_classes
1330 S_578_107 = 578, // $@107
1331 S_client_classes_list = 579, // client_classes_list
1332 S_client_class_entry = 580, // client_class_entry
1333 S_581_108 = 581, // $@108
1334 S_client_class_params = 582, // client_class_params
1335 S_not_empty_client_class_params = 583, // not_empty_client_class_params
1336 S_client_class_param = 584, // client_class_param
1337 S_client_class_name = 585, // client_class_name
1338 S_client_class_test = 586, // client_class_test
1339 S_587_109 = 587, // $@109
1340 S_client_class_template_test = 588, // client_class_template_test
1341 S_589_110 = 589, // $@110
1342 S_only_if_required = 590, // only_if_required
1343 S_only_in_additional_list = 591, // only_in_additional_list
1344 S_dhcp4o6_port = 592, // dhcp4o6_port
1345 S_control_socket = 593, // control_socket
1346 S_594_111 = 594, // $@111
1347 S_control_sockets = 595, // control_sockets
1348 S_596_112 = 596, // $@112
1349 S_control_socket_list = 597, // control_socket_list
1350 S_not_empty_control_socket_list = 598, // not_empty_control_socket_list
1351 S_control_socket_entry = 599, // control_socket_entry
1352 S_600_113 = 600, // $@113
1353 S_control_socket_params = 601, // control_socket_params
1354 S_control_socket_param = 602, // control_socket_param
1355 S_control_socket_type = 603, // control_socket_type
1356 S_604_114 = 604, // $@114
1357 S_control_socket_type_value = 605, // control_socket_type_value
1358 S_control_socket_name = 606, // control_socket_name
1359 S_607_115 = 607, // $@115
1360 S_control_socket_address = 608, // control_socket_address
1361 S_609_116 = 609, // $@116
1362 S_control_socket_port = 610, // control_socket_port
1363 S_cert_required = 611, // cert_required
1364 S_http_headers = 612, // http_headers
1365 S_613_117 = 613, // $@117
1366 S_http_header_list = 614, // http_header_list
1367 S_not_empty_http_header_list = 615, // not_empty_http_header_list
1368 S_http_header = 616, // http_header
1369 S_617_118 = 617, // $@118
1370 S_http_header_params = 618, // http_header_params
1371 S_http_header_param = 619, // http_header_param
1372 S_header_value = 620, // header_value
1373 S_621_119 = 621, // $@119
1374 S_authentication = 622, // authentication
1375 S_623_120 = 623, // $@120
1376 S_auth_params = 624, // auth_params
1377 S_auth_param = 625, // auth_param
1378 S_auth_type = 626, // auth_type
1379 S_627_121 = 627, // $@121
1380 S_auth_type_value = 628, // auth_type_value
1381 S_realm = 629, // realm
1382 S_630_122 = 630, // $@122
1383 S_directory = 631, // directory
1384 S_632_123 = 632, // $@123
1385 S_clients = 633, // clients
1386 S_634_124 = 634, // $@124
1387 S_clients_list = 635, // clients_list
1388 S_not_empty_clients_list = 636, // not_empty_clients_list
1389 S_basic_auth = 637, // basic_auth
1390 S_638_125 = 638, // $@125
1391 S_clients_params = 639, // clients_params
1392 S_clients_param = 640, // clients_param
1393 S_user_file = 641, // user_file
1394 S_642_126 = 642, // $@126
1395 S_password_file = 643, // password_file
1396 S_644_127 = 644, // $@127
1397 S_dhcp_queue_control = 645, // dhcp_queue_control
1398 S_646_128 = 646, // $@128
1399 S_queue_control_params = 647, // queue_control_params
1400 S_queue_control_param = 648, // queue_control_param
1401 S_enable_queue = 649, // enable_queue
1402 S_queue_type = 650, // queue_type
1403 S_651_129 = 651, // $@129
1404 S_capacity = 652, // capacity
1405 S_arbitrary_map_entry = 653, // arbitrary_map_entry
1406 S_654_130 = 654, // $@130
1407 S_dhcp_ddns = 655, // dhcp_ddns
1408 S_656_131 = 656, // $@131
1409 S_sub_dhcp_ddns = 657, // sub_dhcp_ddns
1410 S_658_132 = 658, // $@132
1411 S_dhcp_ddns_params = 659, // dhcp_ddns_params
1412 S_dhcp_ddns_param = 660, // dhcp_ddns_param
1413 S_enable_updates = 661, // enable_updates
1414 S_server_ip = 662, // server_ip
1415 S_663_133 = 663, // $@133
1416 S_server_port = 664, // server_port
1417 S_sender_ip = 665, // sender_ip
1418 S_666_134 = 666, // $@134
1419 S_sender_port = 667, // sender_port
1420 S_max_queue_size = 668, // max_queue_size
1421 S_ncr_protocol = 669, // ncr_protocol
1422 S_670_135 = 670, // $@135
1423 S_ncr_protocol_value = 671, // ncr_protocol_value
1424 S_ncr_format = 672, // ncr_format
1425 S_673_136 = 673, // $@136
1426 S_config_control = 674, // config_control
1427 S_675_137 = 675, // $@137
1428 S_sub_config_control = 676, // sub_config_control
1429 S_677_138 = 677, // $@138
1430 S_config_control_params = 678, // config_control_params
1431 S_config_control_param = 679, // config_control_param
1432 S_config_databases = 680, // config_databases
1433 S_681_139 = 681, // $@139
1434 S_config_fetch_wait_time = 682, // config_fetch_wait_time
1435 S_loggers = 683, // loggers
1436 S_684_140 = 684, // $@140
1437 S_loggers_entries = 685, // loggers_entries
1438 S_logger_entry = 686, // logger_entry
1439 S_687_141 = 687, // $@141
1440 S_logger_params = 688, // logger_params
1441 S_logger_param = 689, // logger_param
1442 S_debuglevel = 690, // debuglevel
1443 S_severity = 691, // severity
1444 S_692_142 = 692, // $@142
1445 S_output_options_list = 693, // output_options_list
1446 S_694_143 = 694, // $@143
1447 S_output_options_list_content = 695, // output_options_list_content
1448 S_output_entry = 696, // output_entry
1449 S_697_144 = 697, // $@144
1450 S_output_params_list = 698, // output_params_list
1451 S_output_params = 699, // output_params
1452 S_output = 700, // output
1453 S_701_145 = 701, // $@145
1454 S_flush = 702, // flush
1455 S_maxsize = 703, // maxsize
1456 S_maxver = 704, // maxver
1457 S_pattern = 705, // pattern
1458 S_706_146 = 706, // $@146
1459 S_compatibility = 707, // compatibility
1460 S_708_147 = 708, // $@147
1461 S_compatibility_params = 709, // compatibility_params
1462 S_compatibility_param = 710, // compatibility_param
1463 S_lenient_option_parsing = 711, // lenient_option_parsing
1464 S_ignore_dhcp_server_identifier = 712, // ignore_dhcp_server_identifier
1465 S_ignore_rai_link_selection = 713, // ignore_rai_link_selection
1466 S_exclude_first_last_24 = 714 // exclude_first_last_24
1468 };
1469
1472
1475
1482 template <typename Base>
1483 struct basic_symbol : Base
1484 {
1486 typedef Base super_type;
1487
1490 : value ()
1491 , location ()
1492 {}
1493
1494#if 201103L <= YY_CPLUSPLUS
1496 basic_symbol (basic_symbol&& that)
1497 : Base (std::move (that))
1498 , value ()
1499 , location (std::move (that.location))
1500 {
1501 switch (this->kind ())
1502 {
1503 case symbol_kind::S_value: // value
1504 case symbol_kind::S_map_value: // map_value
1505 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1506 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1507 case symbol_kind::S_socket_type: // socket_type
1508 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1509 case symbol_kind::S_on_fail_mode: // on_fail_mode
1510 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
1511 case symbol_kind::S_auth_type_value: // auth_type_value
1512 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1513 value.move< ElementPtr > (std::move (that.value));
1514 break;
1515
1516 case symbol_kind::S_BOOLEAN: // "boolean"
1517 value.move< bool > (std::move (that.value));
1518 break;
1519
1520 case symbol_kind::S_FLOAT: // "floating point"
1521 value.move< double > (std::move (that.value));
1522 break;
1523
1524 case symbol_kind::S_INTEGER: // "integer"
1525 value.move< int64_t > (std::move (that.value));
1526 break;
1527
1528 case symbol_kind::S_STRING: // "constant string"
1529 value.move< std::string > (std::move (that.value));
1530 break;
1531
1532 default:
1533 break;
1534 }
1535
1536 }
1537#endif
1538
1541
1543#if 201103L <= YY_CPLUSPLUS
1544 basic_symbol (typename Base::kind_type t, location_type&& l)
1545 : Base (t)
1546 , location (std::move (l))
1547 {}
1548#else
1549 basic_symbol (typename Base::kind_type t, const location_type& l)
1550 : Base (t)
1551 , location (l)
1552 {}
1553#endif
1554
1555#if 201103L <= YY_CPLUSPLUS
1556 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1557 : Base (t)
1558 , value (std::move (v))
1559 , location (std::move (l))
1560 {}
1561#else
1562 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1563 : Base (t)
1564 , value (v)
1565 , location (l)
1566 {}
1567#endif
1568
1569#if 201103L <= YY_CPLUSPLUS
1570 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1571 : Base (t)
1572 , value (std::move (v))
1573 , location (std::move (l))
1574 {}
1575#else
1576 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1577 : Base (t)
1578 , value (v)
1579 , location (l)
1580 {}
1581#endif
1582
1583#if 201103L <= YY_CPLUSPLUS
1584 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1585 : Base (t)
1586 , value (std::move (v))
1587 , location (std::move (l))
1588 {}
1589#else
1590 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1591 : Base (t)
1592 , value (v)
1593 , location (l)
1594 {}
1595#endif
1596
1597#if 201103L <= YY_CPLUSPLUS
1598 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1599 : Base (t)
1600 , value (std::move (v))
1601 , location (std::move (l))
1602 {}
1603#else
1604 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1605 : Base (t)
1606 , value (v)
1607 , location (l)
1608 {}
1609#endif
1610
1611#if 201103L <= YY_CPLUSPLUS
1612 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1613 : Base (t)
1614 , value (std::move (v))
1615 , location (std::move (l))
1616 {}
1617#else
1618 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1619 : Base (t)
1620 , value (v)
1621 , location (l)
1622 {}
1623#endif
1624
1627 {
1628 clear ();
1629 }
1630
1631
1632
1635 {
1636 // User destructor.
1637 symbol_kind_type yykind = this->kind ();
1638 basic_symbol<Base>& yysym = *this;
1639 (void) yysym;
1640 switch (yykind)
1641 {
1642 default:
1643 break;
1644 }
1645
1646 // Value type destructor.
1647switch (yykind)
1648 {
1649 case symbol_kind::S_value: // value
1650 case symbol_kind::S_map_value: // map_value
1651 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1652 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1653 case symbol_kind::S_socket_type: // socket_type
1654 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1655 case symbol_kind::S_on_fail_mode: // on_fail_mode
1656 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
1657 case symbol_kind::S_auth_type_value: // auth_type_value
1658 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1659 value.template destroy< ElementPtr > ();
1660 break;
1661
1662 case symbol_kind::S_BOOLEAN: // "boolean"
1663 value.template destroy< bool > ();
1664 break;
1665
1666 case symbol_kind::S_FLOAT: // "floating point"
1667 value.template destroy< double > ();
1668 break;
1669
1670 case symbol_kind::S_INTEGER: // "integer"
1671 value.template destroy< int64_t > ();
1672 break;
1673
1674 case symbol_kind::S_STRING: // "constant string"
1675 value.template destroy< std::string > ();
1676 break;
1677
1678 default:
1679 break;
1680 }
1681
1682 Base::clear ();
1683 }
1684
1686 std::string name () const YY_NOEXCEPT
1687 {
1688 return Dhcp4Parser::symbol_name (this->kind ());
1689 }
1690
1693
1695 bool empty () const YY_NOEXCEPT;
1696
1698 void move (basic_symbol& s);
1699
1702
1705
1706 private:
1707#if YY_CPLUSPLUS < 201103L
1709 basic_symbol& operator= (const basic_symbol& that);
1710#endif
1711 };
1712
1714 struct by_kind
1715 {
1718
1721
1722#if 201103L <= YY_CPLUSPLUS
1724 by_kind (by_kind&& that) YY_NOEXCEPT;
1725#endif
1726
1728 by_kind (const by_kind& that) YY_NOEXCEPT;
1729
1732
1733
1734
1736 void clear () YY_NOEXCEPT;
1737
1739 void move (by_kind& that);
1740
1743 symbol_kind_type kind () const YY_NOEXCEPT;
1744
1746 symbol_kind_type type_get () const YY_NOEXCEPT;
1747
1751 };
1752
1755
1758 {
1761
1764
1766#if 201103L <= YY_CPLUSPLUS
1767 symbol_type (int tok, location_type l)
1768 : super_type (token_kind_type (tok), std::move (l))
1769#else
1770 symbol_type (int tok, const location_type& l)
1771 : super_type (token_kind_type (tok), l)
1772#endif
1773 {
1774#if !defined _MSC_VER || defined __clang__
1775 PARSER4__ASSERT (tok == token::TOKEN_END
1776 || (token::TOKEN_PARSER4_error <= tok && tok <= token::TOKEN_SUB_CONFIG_CONTROL));
1777#endif
1778 }
1779#if 201103L <= YY_CPLUSPLUS
1780 symbol_type (int tok, bool v, location_type l)
1781 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1782#else
1783 symbol_type (int tok, const bool& v, const location_type& l)
1784 : super_type (token_kind_type (tok), v, l)
1785#endif
1786 {
1787#if !defined _MSC_VER || defined __clang__
1788 PARSER4__ASSERT (tok == token::TOKEN_BOOLEAN);
1789#endif
1790 }
1791#if 201103L <= YY_CPLUSPLUS
1792 symbol_type (int tok, double v, location_type l)
1793 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1794#else
1795 symbol_type (int tok, const double& v, const location_type& l)
1796 : super_type (token_kind_type (tok), v, l)
1797#endif
1798 {
1799#if !defined _MSC_VER || defined __clang__
1800 PARSER4__ASSERT (tok == token::TOKEN_FLOAT);
1801#endif
1802 }
1803#if 201103L <= YY_CPLUSPLUS
1804 symbol_type (int tok, int64_t v, location_type l)
1805 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1806#else
1807 symbol_type (int tok, const int64_t& v, const location_type& l)
1808 : super_type (token_kind_type (tok), v, l)
1809#endif
1810 {
1811#if !defined _MSC_VER || defined __clang__
1812 PARSER4__ASSERT (tok == token::TOKEN_INTEGER);
1813#endif
1814 }
1815#if 201103L <= YY_CPLUSPLUS
1816 symbol_type (int tok, std::string v, location_type l)
1817 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1818#else
1819 symbol_type (int tok, const std::string& v, const location_type& l)
1820 : super_type (token_kind_type (tok), v, l)
1821#endif
1822 {
1823#if !defined _MSC_VER || defined __clang__
1824 PARSER4__ASSERT (tok == token::TOKEN_STRING);
1825#endif
1826 }
1827 };
1828
1831 virtual ~Dhcp4Parser ();
1832
1833#if 201103L <= YY_CPLUSPLUS
1835 Dhcp4Parser (const Dhcp4Parser&) = delete;
1837 Dhcp4Parser& operator= (const Dhcp4Parser&) = delete;
1838#endif
1839
1842 int operator() ();
1843
1846 virtual int parse ();
1847
1848#if PARSER4_DEBUG
1850 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1852 void set_debug_stream (std::ostream &);
1853
1855 typedef int debug_level_type;
1857 debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
1859 void set_debug_level (debug_level_type l);
1860#endif
1861
1865 virtual void error (const location_type& loc, const std::string& msg);
1866
1868 void error (const syntax_error& err);
1869
1872 static std::string symbol_name (symbol_kind_type yysymbol);
1873
1874 // Implementation of make_symbol for each token kind.
1875#if 201103L <= YY_CPLUSPLUS
1876 static
1877 symbol_type
1878 make_END (location_type l)
1879 {
1880 return symbol_type (token::TOKEN_END, std::move (l));
1881 }
1882#else
1883 static
1884 symbol_type
1886 {
1887 return symbol_type (token::TOKEN_END, l);
1888 }
1889#endif
1890#if 201103L <= YY_CPLUSPLUS
1891 static
1892 symbol_type
1893 make_PARSER4_error (location_type l)
1894 {
1895 return symbol_type (token::TOKEN_PARSER4_error, std::move (l));
1896 }
1897#else
1898 static
1899 symbol_type
1901 {
1902 return symbol_type (token::TOKEN_PARSER4_error, l);
1903 }
1904#endif
1905#if 201103L <= YY_CPLUSPLUS
1906 static
1907 symbol_type
1908 make_PARSER4_UNDEF (location_type l)
1909 {
1910 return symbol_type (token::TOKEN_PARSER4_UNDEF, std::move (l));
1911 }
1912#else
1913 static
1914 symbol_type
1916 {
1917 return symbol_type (token::TOKEN_PARSER4_UNDEF, l);
1918 }
1919#endif
1920#if 201103L <= YY_CPLUSPLUS
1921 static
1922 symbol_type
1923 make_COMMA (location_type l)
1924 {
1925 return symbol_type (token::TOKEN_COMMA, std::move (l));
1926 }
1927#else
1928 static
1929 symbol_type
1931 {
1932 return symbol_type (token::TOKEN_COMMA, l);
1933 }
1934#endif
1935#if 201103L <= YY_CPLUSPLUS
1936 static
1937 symbol_type
1938 make_COLON (location_type l)
1939 {
1940 return symbol_type (token::TOKEN_COLON, std::move (l));
1941 }
1942#else
1943 static
1944 symbol_type
1946 {
1947 return symbol_type (token::TOKEN_COLON, l);
1948 }
1949#endif
1950#if 201103L <= YY_CPLUSPLUS
1951 static
1952 symbol_type
1953 make_LSQUARE_BRACKET (location_type l)
1954 {
1955 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1956 }
1957#else
1958 static
1959 symbol_type
1961 {
1962 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1963 }
1964#endif
1965#if 201103L <= YY_CPLUSPLUS
1966 static
1967 symbol_type
1968 make_RSQUARE_BRACKET (location_type l)
1969 {
1970 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1971 }
1972#else
1973 static
1974 symbol_type
1976 {
1977 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1978 }
1979#endif
1980#if 201103L <= YY_CPLUSPLUS
1981 static
1982 symbol_type
1983 make_LCURLY_BRACKET (location_type l)
1984 {
1985 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1986 }
1987#else
1988 static
1989 symbol_type
1991 {
1992 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1993 }
1994#endif
1995#if 201103L <= YY_CPLUSPLUS
1996 static
1997 symbol_type
1998 make_RCURLY_BRACKET (location_type l)
1999 {
2000 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
2001 }
2002#else
2003 static
2004 symbol_type
2006 {
2007 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
2008 }
2009#endif
2010#if 201103L <= YY_CPLUSPLUS
2011 static
2012 symbol_type
2013 make_NULL_TYPE (location_type l)
2014 {
2015 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
2016 }
2017#else
2018 static
2019 symbol_type
2021 {
2022 return symbol_type (token::TOKEN_NULL_TYPE, l);
2023 }
2024#endif
2025#if 201103L <= YY_CPLUSPLUS
2026 static
2027 symbol_type
2028 make_DHCP4 (location_type l)
2029 {
2030 return symbol_type (token::TOKEN_DHCP4, std::move (l));
2031 }
2032#else
2033 static
2034 symbol_type
2036 {
2037 return symbol_type (token::TOKEN_DHCP4, l);
2038 }
2039#endif
2040#if 201103L <= YY_CPLUSPLUS
2041 static
2042 symbol_type
2043 make_CONFIG_CONTROL (location_type l)
2044 {
2045 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
2046 }
2047#else
2048 static
2049 symbol_type
2051 {
2052 return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
2053 }
2054#endif
2055#if 201103L <= YY_CPLUSPLUS
2056 static
2057 symbol_type
2058 make_CONFIG_DATABASES (location_type l)
2059 {
2060 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
2061 }
2062#else
2063 static
2064 symbol_type
2066 {
2067 return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
2068 }
2069#endif
2070#if 201103L <= YY_CPLUSPLUS
2071 static
2072 symbol_type
2073 make_CONFIG_FETCH_WAIT_TIME (location_type l)
2074 {
2075 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2076 }
2077#else
2078 static
2079 symbol_type
2081 {
2082 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
2083 }
2084#endif
2085#if 201103L <= YY_CPLUSPLUS
2086 static
2087 symbol_type
2088 make_INTERFACES_CONFIG (location_type l)
2089 {
2090 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2091 }
2092#else
2093 static
2094 symbol_type
2096 {
2097 return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
2098 }
2099#endif
2100#if 201103L <= YY_CPLUSPLUS
2101 static
2102 symbol_type
2103 make_INTERFACES (location_type l)
2104 {
2105 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2106 }
2107#else
2108 static
2109 symbol_type
2111 {
2112 return symbol_type (token::TOKEN_INTERFACES, l);
2113 }
2114#endif
2115#if 201103L <= YY_CPLUSPLUS
2116 static
2117 symbol_type
2118 make_DHCP_SOCKET_TYPE (location_type l)
2119 {
2120 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, std::move (l));
2121 }
2122#else
2123 static
2124 symbol_type
2126 {
2127 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, l);
2128 }
2129#endif
2130#if 201103L <= YY_CPLUSPLUS
2131 static
2132 symbol_type
2133 make_RAW (location_type l)
2134 {
2135 return symbol_type (token::TOKEN_RAW, std::move (l));
2136 }
2137#else
2138 static
2139 symbol_type
2141 {
2142 return symbol_type (token::TOKEN_RAW, l);
2143 }
2144#endif
2145#if 201103L <= YY_CPLUSPLUS
2146 static
2147 symbol_type
2148 make_UDP (location_type l)
2149 {
2150 return symbol_type (token::TOKEN_UDP, std::move (l));
2151 }
2152#else
2153 static
2154 symbol_type
2156 {
2157 return symbol_type (token::TOKEN_UDP, l);
2158 }
2159#endif
2160#if 201103L <= YY_CPLUSPLUS
2161 static
2162 symbol_type
2163 make_OUTBOUND_INTERFACE (location_type l)
2164 {
2165 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, std::move (l));
2166 }
2167#else
2168 static
2169 symbol_type
2171 {
2172 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, l);
2173 }
2174#endif
2175#if 201103L <= YY_CPLUSPLUS
2176 static
2177 symbol_type
2178 make_SAME_AS_INBOUND (location_type l)
2179 {
2180 return symbol_type (token::TOKEN_SAME_AS_INBOUND, std::move (l));
2181 }
2182#else
2183 static
2184 symbol_type
2186 {
2187 return symbol_type (token::TOKEN_SAME_AS_INBOUND, l);
2188 }
2189#endif
2190#if 201103L <= YY_CPLUSPLUS
2191 static
2192 symbol_type
2193 make_USE_ROUTING (location_type l)
2194 {
2195 return symbol_type (token::TOKEN_USE_ROUTING, std::move (l));
2196 }
2197#else
2198 static
2199 symbol_type
2201 {
2202 return symbol_type (token::TOKEN_USE_ROUTING, l);
2203 }
2204#endif
2205#if 201103L <= YY_CPLUSPLUS
2206 static
2207 symbol_type
2208 make_RE_DETECT (location_type l)
2209 {
2210 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2211 }
2212#else
2213 static
2214 symbol_type
2216 {
2217 return symbol_type (token::TOKEN_RE_DETECT, l);
2218 }
2219#endif
2220#if 201103L <= YY_CPLUSPLUS
2221 static
2222 symbol_type
2223 make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2224 {
2225 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2226 }
2227#else
2228 static
2229 symbol_type
2231 {
2232 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, l);
2233 }
2234#endif
2235#if 201103L <= YY_CPLUSPLUS
2236 static
2237 symbol_type
2238 make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2239 {
2240 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2241 }
2242#else
2243 static
2244 symbol_type
2246 {
2247 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, l);
2248 }
2249#endif
2250#if 201103L <= YY_CPLUSPLUS
2251 static
2252 symbol_type
2253 make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2254 {
2255 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2256 }
2257#else
2258 static
2259 symbol_type
2261 {
2262 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, l);
2263 }
2264#endif
2265#if 201103L <= YY_CPLUSPLUS
2266 static
2267 symbol_type
2268 make_SANITY_CHECKS (location_type l)
2269 {
2270 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
2271 }
2272#else
2273 static
2274 symbol_type
2276 {
2277 return symbol_type (token::TOKEN_SANITY_CHECKS, l);
2278 }
2279#endif
2280#if 201103L <= YY_CPLUSPLUS
2281 static
2282 symbol_type
2283 make_LEASE_CHECKS (location_type l)
2284 {
2285 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
2286 }
2287#else
2288 static
2289 symbol_type
2291 {
2292 return symbol_type (token::TOKEN_LEASE_CHECKS, l);
2293 }
2294#endif
2295#if 201103L <= YY_CPLUSPLUS
2296 static
2297 symbol_type
2298 make_EXTENDED_INFO_CHECKS (location_type l)
2299 {
2300 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, std::move (l));
2301 }
2302#else
2303 static
2304 symbol_type
2306 {
2307 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, l);
2308 }
2309#endif
2310#if 201103L <= YY_CPLUSPLUS
2311 static
2312 symbol_type
2313 make_ECHO_CLIENT_ID (location_type l)
2314 {
2315 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, std::move (l));
2316 }
2317#else
2318 static
2319 symbol_type
2321 {
2322 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, l);
2323 }
2324#endif
2325#if 201103L <= YY_CPLUSPLUS
2326 static
2327 symbol_type
2328 make_MATCH_CLIENT_ID (location_type l)
2329 {
2330 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, std::move (l));
2331 }
2332#else
2333 static
2334 symbol_type
2336 {
2337 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, l);
2338 }
2339#endif
2340#if 201103L <= YY_CPLUSPLUS
2341 static
2342 symbol_type
2343 make_AUTHORITATIVE (location_type l)
2344 {
2345 return symbol_type (token::TOKEN_AUTHORITATIVE, std::move (l));
2346 }
2347#else
2348 static
2349 symbol_type
2351 {
2352 return symbol_type (token::TOKEN_AUTHORITATIVE, l);
2353 }
2354#endif
2355#if 201103L <= YY_CPLUSPLUS
2356 static
2357 symbol_type
2358 make_NEXT_SERVER (location_type l)
2359 {
2360 return symbol_type (token::TOKEN_NEXT_SERVER, std::move (l));
2361 }
2362#else
2363 static
2364 symbol_type
2366 {
2367 return symbol_type (token::TOKEN_NEXT_SERVER, l);
2368 }
2369#endif
2370#if 201103L <= YY_CPLUSPLUS
2371 static
2372 symbol_type
2373 make_SERVER_HOSTNAME (location_type l)
2374 {
2375 return symbol_type (token::TOKEN_SERVER_HOSTNAME, std::move (l));
2376 }
2377#else
2378 static
2379 symbol_type
2381 {
2382 return symbol_type (token::TOKEN_SERVER_HOSTNAME, l);
2383 }
2384#endif
2385#if 201103L <= YY_CPLUSPLUS
2386 static
2387 symbol_type
2388 make_BOOT_FILE_NAME (location_type l)
2389 {
2390 return symbol_type (token::TOKEN_BOOT_FILE_NAME, std::move (l));
2391 }
2392#else
2393 static
2394 symbol_type
2396 {
2397 return symbol_type (token::TOKEN_BOOT_FILE_NAME, l);
2398 }
2399#endif
2400#if 201103L <= YY_CPLUSPLUS
2401 static
2402 symbol_type
2403 make_OFFER_LFT (location_type l)
2404 {
2405 return symbol_type (token::TOKEN_OFFER_LFT, std::move (l));
2406 }
2407#else
2408 static
2409 symbol_type
2411 {
2412 return symbol_type (token::TOKEN_OFFER_LFT, l);
2413 }
2414#endif
2415#if 201103L <= YY_CPLUSPLUS
2416 static
2417 symbol_type
2418 make_STASH_AGENT_OPTIONS (location_type l)
2419 {
2420 return symbol_type (token::TOKEN_STASH_AGENT_OPTIONS, std::move (l));
2421 }
2422#else
2423 static
2424 symbol_type
2426 {
2427 return symbol_type (token::TOKEN_STASH_AGENT_OPTIONS, l);
2428 }
2429#endif
2430#if 201103L <= YY_CPLUSPLUS
2431 static
2432 symbol_type
2433 make_LEASE_DATABASE (location_type l)
2434 {
2435 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2436 }
2437#else
2438 static
2439 symbol_type
2441 {
2442 return symbol_type (token::TOKEN_LEASE_DATABASE, l);
2443 }
2444#endif
2445#if 201103L <= YY_CPLUSPLUS
2446 static
2447 symbol_type
2448 make_HOSTS_DATABASE (location_type l)
2449 {
2450 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2451 }
2452#else
2453 static
2454 symbol_type
2456 {
2457 return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
2458 }
2459#endif
2460#if 201103L <= YY_CPLUSPLUS
2461 static
2462 symbol_type
2463 make_HOSTS_DATABASES (location_type l)
2464 {
2465 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2466 }
2467#else
2468 static
2469 symbol_type
2471 {
2472 return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
2473 }
2474#endif
2475#if 201103L <= YY_CPLUSPLUS
2476 static
2477 symbol_type
2478 make_TYPE (location_type l)
2479 {
2480 return symbol_type (token::TOKEN_TYPE, std::move (l));
2481 }
2482#else
2483 static
2484 symbol_type
2486 {
2487 return symbol_type (token::TOKEN_TYPE, l);
2488 }
2489#endif
2490#if 201103L <= YY_CPLUSPLUS
2491 static
2492 symbol_type
2493 make_USER (location_type l)
2494 {
2495 return symbol_type (token::TOKEN_USER, std::move (l));
2496 }
2497#else
2498 static
2499 symbol_type
2501 {
2502 return symbol_type (token::TOKEN_USER, l);
2503 }
2504#endif
2505#if 201103L <= YY_CPLUSPLUS
2506 static
2507 symbol_type
2508 make_PASSWORD (location_type l)
2509 {
2510 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2511 }
2512#else
2513 static
2514 symbol_type
2516 {
2517 return symbol_type (token::TOKEN_PASSWORD, l);
2518 }
2519#endif
2520#if 201103L <= YY_CPLUSPLUS
2521 static
2522 symbol_type
2523 make_HOST (location_type l)
2524 {
2525 return symbol_type (token::TOKEN_HOST, std::move (l));
2526 }
2527#else
2528 static
2529 symbol_type
2531 {
2532 return symbol_type (token::TOKEN_HOST, l);
2533 }
2534#endif
2535#if 201103L <= YY_CPLUSPLUS
2536 static
2537 symbol_type
2538 make_PORT (location_type l)
2539 {
2540 return symbol_type (token::TOKEN_PORT, std::move (l));
2541 }
2542#else
2543 static
2544 symbol_type
2546 {
2547 return symbol_type (token::TOKEN_PORT, l);
2548 }
2549#endif
2550#if 201103L <= YY_CPLUSPLUS
2551 static
2552 symbol_type
2553 make_PERSIST (location_type l)
2554 {
2555 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2556 }
2557#else
2558 static
2559 symbol_type
2561 {
2562 return symbol_type (token::TOKEN_PERSIST, l);
2563 }
2564#endif
2565#if 201103L <= YY_CPLUSPLUS
2566 static
2567 symbol_type
2568 make_LFC_INTERVAL (location_type l)
2569 {
2570 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2571 }
2572#else
2573 static
2574 symbol_type
2576 {
2577 return symbol_type (token::TOKEN_LFC_INTERVAL, l);
2578 }
2579#endif
2580#if 201103L <= YY_CPLUSPLUS
2581 static
2582 symbol_type
2583 make_READONLY (location_type l)
2584 {
2585 return symbol_type (token::TOKEN_READONLY, std::move (l));
2586 }
2587#else
2588 static
2589 symbol_type
2591 {
2592 return symbol_type (token::TOKEN_READONLY, l);
2593 }
2594#endif
2595#if 201103L <= YY_CPLUSPLUS
2596 static
2597 symbol_type
2598 make_CONNECT_TIMEOUT (location_type l)
2599 {
2600 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2601 }
2602#else
2603 static
2604 symbol_type
2606 {
2607 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
2608 }
2609#endif
2610#if 201103L <= YY_CPLUSPLUS
2611 static
2612 symbol_type
2613 make_READ_TIMEOUT (location_type l)
2614 {
2615 return symbol_type (token::TOKEN_READ_TIMEOUT, std::move (l));
2616 }
2617#else
2618 static
2619 symbol_type
2621 {
2622 return symbol_type (token::TOKEN_READ_TIMEOUT, l);
2623 }
2624#endif
2625#if 201103L <= YY_CPLUSPLUS
2626 static
2627 symbol_type
2628 make_WRITE_TIMEOUT (location_type l)
2629 {
2630 return symbol_type (token::TOKEN_WRITE_TIMEOUT, std::move (l));
2631 }
2632#else
2633 static
2634 symbol_type
2636 {
2637 return symbol_type (token::TOKEN_WRITE_TIMEOUT, l);
2638 }
2639#endif
2640#if 201103L <= YY_CPLUSPLUS
2641 static
2642 symbol_type
2643 make_TCP_USER_TIMEOUT (location_type l)
2644 {
2645 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, std::move (l));
2646 }
2647#else
2648 static
2649 symbol_type
2651 {
2652 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, l);
2653 }
2654#endif
2655#if 201103L <= YY_CPLUSPLUS
2656 static
2657 symbol_type
2658 make_MAX_RECONNECT_TRIES (location_type l)
2659 {
2660 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2661 }
2662#else
2663 static
2664 symbol_type
2666 {
2667 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
2668 }
2669#endif
2670#if 201103L <= YY_CPLUSPLUS
2671 static
2672 symbol_type
2673 make_RECONNECT_WAIT_TIME (location_type l)
2674 {
2675 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2676 }
2677#else
2678 static
2679 symbol_type
2681 {
2682 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
2683 }
2684#endif
2685#if 201103L <= YY_CPLUSPLUS
2686 static
2687 symbol_type
2688 make_ON_FAIL (location_type l)
2689 {
2690 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2691 }
2692#else
2693 static
2694 symbol_type
2696 {
2697 return symbol_type (token::TOKEN_ON_FAIL, l);
2698 }
2699#endif
2700#if 201103L <= YY_CPLUSPLUS
2701 static
2702 symbol_type
2703 make_STOP_RETRY_EXIT (location_type l)
2704 {
2705 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2706 }
2707#else
2708 static
2709 symbol_type
2711 {
2712 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, l);
2713 }
2714#endif
2715#if 201103L <= YY_CPLUSPLUS
2716 static
2717 symbol_type
2718 make_SERVE_RETRY_EXIT (location_type l)
2719 {
2720 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2721 }
2722#else
2723 static
2724 symbol_type
2726 {
2727 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, l);
2728 }
2729#endif
2730#if 201103L <= YY_CPLUSPLUS
2731 static
2732 symbol_type
2733 make_SERVE_RETRY_CONTINUE (location_type l)
2734 {
2735 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2736 }
2737#else
2738 static
2739 symbol_type
2741 {
2742 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, l);
2743 }
2744#endif
2745#if 201103L <= YY_CPLUSPLUS
2746 static
2747 symbol_type
2748 make_RETRY_ON_STARTUP (location_type l)
2749 {
2750 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, std::move (l));
2751 }
2752#else
2753 static
2754 symbol_type
2756 {
2757 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, l);
2758 }
2759#endif
2760#if 201103L <= YY_CPLUSPLUS
2761 static
2762 symbol_type
2763 make_MAX_ROW_ERRORS (location_type l)
2764 {
2765 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2766 }
2767#else
2768 static
2769 symbol_type
2771 {
2772 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
2773 }
2774#endif
2775#if 201103L <= YY_CPLUSPLUS
2776 static
2777 symbol_type
2778 make_TRUST_ANCHOR (location_type l)
2779 {
2780 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2781 }
2782#else
2783 static
2784 symbol_type
2786 {
2787 return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
2788 }
2789#endif
2790#if 201103L <= YY_CPLUSPLUS
2791 static
2792 symbol_type
2793 make_CERT_FILE (location_type l)
2794 {
2795 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2796 }
2797#else
2798 static
2799 symbol_type
2801 {
2802 return symbol_type (token::TOKEN_CERT_FILE, l);
2803 }
2804#endif
2805#if 201103L <= YY_CPLUSPLUS
2806 static
2807 symbol_type
2808 make_KEY_FILE (location_type l)
2809 {
2810 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2811 }
2812#else
2813 static
2814 symbol_type
2816 {
2817 return symbol_type (token::TOKEN_KEY_FILE, l);
2818 }
2819#endif
2820#if 201103L <= YY_CPLUSPLUS
2821 static
2822 symbol_type
2823 make_CIPHER_LIST (location_type l)
2824 {
2825 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2826 }
2827#else
2828 static
2829 symbol_type
2831 {
2832 return symbol_type (token::TOKEN_CIPHER_LIST, l);
2833 }
2834#endif
2835#if 201103L <= YY_CPLUSPLUS
2836 static
2837 symbol_type
2838 make_VALID_LIFETIME (location_type l)
2839 {
2840 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2841 }
2842#else
2843 static
2844 symbol_type
2846 {
2847 return symbol_type (token::TOKEN_VALID_LIFETIME, l);
2848 }
2849#endif
2850#if 201103L <= YY_CPLUSPLUS
2851 static
2852 symbol_type
2853 make_MIN_VALID_LIFETIME (location_type l)
2854 {
2855 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2856 }
2857#else
2858 static
2859 symbol_type
2861 {
2862 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
2863 }
2864#endif
2865#if 201103L <= YY_CPLUSPLUS
2866 static
2867 symbol_type
2868 make_MAX_VALID_LIFETIME (location_type l)
2869 {
2870 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2871 }
2872#else
2873 static
2874 symbol_type
2876 {
2877 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
2878 }
2879#endif
2880#if 201103L <= YY_CPLUSPLUS
2881 static
2882 symbol_type
2883 make_RENEW_TIMER (location_type l)
2884 {
2885 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2886 }
2887#else
2888 static
2889 symbol_type
2891 {
2892 return symbol_type (token::TOKEN_RENEW_TIMER, l);
2893 }
2894#endif
2895#if 201103L <= YY_CPLUSPLUS
2896 static
2897 symbol_type
2898 make_REBIND_TIMER (location_type l)
2899 {
2900 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2901 }
2902#else
2903 static
2904 symbol_type
2906 {
2907 return symbol_type (token::TOKEN_REBIND_TIMER, l);
2908 }
2909#endif
2910#if 201103L <= YY_CPLUSPLUS
2911 static
2912 symbol_type
2913 make_CALCULATE_TEE_TIMES (location_type l)
2914 {
2915 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2916 }
2917#else
2918 static
2919 symbol_type
2921 {
2922 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
2923 }
2924#endif
2925#if 201103L <= YY_CPLUSPLUS
2926 static
2927 symbol_type
2928 make_T1_PERCENT (location_type l)
2929 {
2930 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2931 }
2932#else
2933 static
2934 symbol_type
2936 {
2937 return symbol_type (token::TOKEN_T1_PERCENT, l);
2938 }
2939#endif
2940#if 201103L <= YY_CPLUSPLUS
2941 static
2942 symbol_type
2943 make_T2_PERCENT (location_type l)
2944 {
2945 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2946 }
2947#else
2948 static
2949 symbol_type
2951 {
2952 return symbol_type (token::TOKEN_T2_PERCENT, l);
2953 }
2954#endif
2955#if 201103L <= YY_CPLUSPLUS
2956 static
2957 symbol_type
2958 make_CACHE_THRESHOLD (location_type l)
2959 {
2960 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2961 }
2962#else
2963 static
2964 symbol_type
2966 {
2967 return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
2968 }
2969#endif
2970#if 201103L <= YY_CPLUSPLUS
2971 static
2972 symbol_type
2973 make_CACHE_MAX_AGE (location_type l)
2974 {
2975 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2976 }
2977#else
2978 static
2979 symbol_type
2981 {
2982 return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
2983 }
2984#endif
2985#if 201103L <= YY_CPLUSPLUS
2986 static
2987 symbol_type
2988 make_DECLINE_PROBATION_PERIOD (location_type l)
2989 {
2990 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2991 }
2992#else
2993 static
2994 symbol_type
2996 {
2997 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
2998 }
2999#endif
3000#if 201103L <= YY_CPLUSPLUS
3001 static
3002 symbol_type
3003 make_SERVER_TAG (location_type l)
3004 {
3005 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
3006 }
3007#else
3008 static
3009 symbol_type
3011 {
3012 return symbol_type (token::TOKEN_SERVER_TAG, l);
3013 }
3014#endif
3015#if 201103L <= YY_CPLUSPLUS
3016 static
3017 symbol_type
3018 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
3019 {
3020 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
3021 }
3022#else
3023 static
3024 symbol_type
3026 {
3027 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
3028 }
3029#endif
3030#if 201103L <= YY_CPLUSPLUS
3031 static
3032 symbol_type
3033 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
3034 {
3035 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
3036 }
3037#else
3038 static
3039 symbol_type
3041 {
3042 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
3043 }
3044#endif
3045#if 201103L <= YY_CPLUSPLUS
3046 static
3047 symbol_type
3048 make_DDNS_SEND_UPDATES (location_type l)
3049 {
3050 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
3051 }
3052#else
3053 static
3054 symbol_type
3056 {
3057 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
3058 }
3059#endif
3060#if 201103L <= YY_CPLUSPLUS
3061 static
3062 symbol_type
3063 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
3064 {
3065 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
3066 }
3067#else
3068 static
3069 symbol_type
3071 {
3072 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
3073 }
3074#endif
3075#if 201103L <= YY_CPLUSPLUS
3076 static
3077 symbol_type
3078 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
3079 {
3080 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
3081 }
3082#else
3083 static
3084 symbol_type
3086 {
3087 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
3088 }
3089#endif
3090#if 201103L <= YY_CPLUSPLUS
3091 static
3092 symbol_type
3093 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
3094 {
3095 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
3096 }
3097#else
3098 static
3099 symbol_type
3101 {
3102 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
3103 }
3104#endif
3105#if 201103L <= YY_CPLUSPLUS
3106 static
3107 symbol_type
3108 make_DDNS_GENERATED_PREFIX (location_type l)
3109 {
3110 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
3111 }
3112#else
3113 static
3114 symbol_type
3116 {
3117 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
3118 }
3119#endif
3120#if 201103L <= YY_CPLUSPLUS
3121 static
3122 symbol_type
3123 make_DDNS_QUALIFYING_SUFFIX (location_type l)
3124 {
3125 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
3126 }
3127#else
3128 static
3129 symbol_type
3131 {
3132 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
3133 }
3134#endif
3135#if 201103L <= YY_CPLUSPLUS
3136 static
3137 symbol_type
3138 make_DDNS_UPDATE_ON_RENEW (location_type l)
3139 {
3140 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
3141 }
3142#else
3143 static
3144 symbol_type
3146 {
3147 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
3148 }
3149#endif
3150#if 201103L <= YY_CPLUSPLUS
3151 static
3152 symbol_type
3153 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
3154 {
3155 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
3156 }
3157#else
3158 static
3159 symbol_type
3161 {
3162 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
3163 }
3164#endif
3165#if 201103L <= YY_CPLUSPLUS
3166 static
3167 symbol_type
3168 make_DDNS_TTL_PERCENT (location_type l)
3169 {
3170 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, std::move (l));
3171 }
3172#else
3173 static
3174 symbol_type
3176 {
3177 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, l);
3178 }
3179#endif
3180#if 201103L <= YY_CPLUSPLUS
3181 static
3182 symbol_type
3183 make_DDNS_TTL (location_type l)
3184 {
3185 return symbol_type (token::TOKEN_DDNS_TTL, std::move (l));
3186 }
3187#else
3188 static
3189 symbol_type
3191 {
3192 return symbol_type (token::TOKEN_DDNS_TTL, l);
3193 }
3194#endif
3195#if 201103L <= YY_CPLUSPLUS
3196 static
3197 symbol_type
3198 make_DDNS_TTL_MIN (location_type l)
3199 {
3200 return symbol_type (token::TOKEN_DDNS_TTL_MIN, std::move (l));
3201 }
3202#else
3203 static
3204 symbol_type
3206 {
3207 return symbol_type (token::TOKEN_DDNS_TTL_MIN, l);
3208 }
3209#endif
3210#if 201103L <= YY_CPLUSPLUS
3211 static
3212 symbol_type
3213 make_DDNS_TTL_MAX (location_type l)
3214 {
3215 return symbol_type (token::TOKEN_DDNS_TTL_MAX, std::move (l));
3216 }
3217#else
3218 static
3219 symbol_type
3221 {
3222 return symbol_type (token::TOKEN_DDNS_TTL_MAX, l);
3223 }
3224#endif
3225#if 201103L <= YY_CPLUSPLUS
3226 static
3227 symbol_type
3228 make_STORE_EXTENDED_INFO (location_type l)
3229 {
3230 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
3231 }
3232#else
3233 static
3234 symbol_type
3236 {
3237 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
3238 }
3239#endif
3240#if 201103L <= YY_CPLUSPLUS
3241 static
3242 symbol_type
3243 make_SUBNET4 (location_type l)
3244 {
3245 return symbol_type (token::TOKEN_SUBNET4, std::move (l));
3246 }
3247#else
3248 static
3249 symbol_type
3251 {
3252 return symbol_type (token::TOKEN_SUBNET4, l);
3253 }
3254#endif
3255#if 201103L <= YY_CPLUSPLUS
3256 static
3257 symbol_type
3258 make_SUBNET_4O6_INTERFACE (location_type l)
3259 {
3260 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, std::move (l));
3261 }
3262#else
3263 static
3264 symbol_type
3266 {
3267 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, l);
3268 }
3269#endif
3270#if 201103L <= YY_CPLUSPLUS
3271 static
3272 symbol_type
3273 make_SUBNET_4O6_INTERFACE_ID (location_type l)
3274 {
3275 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, std::move (l));
3276 }
3277#else
3278 static
3279 symbol_type
3281 {
3282 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, l);
3283 }
3284#endif
3285#if 201103L <= YY_CPLUSPLUS
3286 static
3287 symbol_type
3288 make_SUBNET_4O6_SUBNET (location_type l)
3289 {
3290 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, std::move (l));
3291 }
3292#else
3293 static
3294 symbol_type
3296 {
3297 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, l);
3298 }
3299#endif
3300#if 201103L <= YY_CPLUSPLUS
3301 static
3302 symbol_type
3303 make_OPTION_DEF (location_type l)
3304 {
3305 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
3306 }
3307#else
3308 static
3309 symbol_type
3311 {
3312 return symbol_type (token::TOKEN_OPTION_DEF, l);
3313 }
3314#endif
3315#if 201103L <= YY_CPLUSPLUS
3316 static
3317 symbol_type
3318 make_OPTION_DATA (location_type l)
3319 {
3320 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
3321 }
3322#else
3323 static
3324 symbol_type
3326 {
3327 return symbol_type (token::TOKEN_OPTION_DATA, l);
3328 }
3329#endif
3330#if 201103L <= YY_CPLUSPLUS
3331 static
3332 symbol_type
3333 make_NAME (location_type l)
3334 {
3335 return symbol_type (token::TOKEN_NAME, std::move (l));
3336 }
3337#else
3338 static
3339 symbol_type
3341 {
3342 return symbol_type (token::TOKEN_NAME, l);
3343 }
3344#endif
3345#if 201103L <= YY_CPLUSPLUS
3346 static
3347 symbol_type
3348 make_DATA (location_type l)
3349 {
3350 return symbol_type (token::TOKEN_DATA, std::move (l));
3351 }
3352#else
3353 static
3354 symbol_type
3356 {
3357 return symbol_type (token::TOKEN_DATA, l);
3358 }
3359#endif
3360#if 201103L <= YY_CPLUSPLUS
3361 static
3362 symbol_type
3363 make_CODE (location_type l)
3364 {
3365 return symbol_type (token::TOKEN_CODE, std::move (l));
3366 }
3367#else
3368 static
3369 symbol_type
3371 {
3372 return symbol_type (token::TOKEN_CODE, l);
3373 }
3374#endif
3375#if 201103L <= YY_CPLUSPLUS
3376 static
3377 symbol_type
3378 make_SPACE (location_type l)
3379 {
3380 return symbol_type (token::TOKEN_SPACE, std::move (l));
3381 }
3382#else
3383 static
3384 symbol_type
3386 {
3387 return symbol_type (token::TOKEN_SPACE, l);
3388 }
3389#endif
3390#if 201103L <= YY_CPLUSPLUS
3391 static
3392 symbol_type
3393 make_CSV_FORMAT (location_type l)
3394 {
3395 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3396 }
3397#else
3398 static
3399 symbol_type
3401 {
3402 return symbol_type (token::TOKEN_CSV_FORMAT, l);
3403 }
3404#endif
3405#if 201103L <= YY_CPLUSPLUS
3406 static
3407 symbol_type
3408 make_ALWAYS_SEND (location_type l)
3409 {
3410 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3411 }
3412#else
3413 static
3414 symbol_type
3416 {
3417 return symbol_type (token::TOKEN_ALWAYS_SEND, l);
3418 }
3419#endif
3420#if 201103L <= YY_CPLUSPLUS
3421 static
3422 symbol_type
3423 make_NEVER_SEND (location_type l)
3424 {
3425 return symbol_type (token::TOKEN_NEVER_SEND, std::move (l));
3426 }
3427#else
3428 static
3429 symbol_type
3431 {
3432 return symbol_type (token::TOKEN_NEVER_SEND, l);
3433 }
3434#endif
3435#if 201103L <= YY_CPLUSPLUS
3436 static
3437 symbol_type
3438 make_RECORD_TYPES (location_type l)
3439 {
3440 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3441 }
3442#else
3443 static
3444 symbol_type
3446 {
3447 return symbol_type (token::TOKEN_RECORD_TYPES, l);
3448 }
3449#endif
3450#if 201103L <= YY_CPLUSPLUS
3451 static
3452 symbol_type
3453 make_ENCAPSULATE (location_type l)
3454 {
3455 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3456 }
3457#else
3458 static
3459 symbol_type
3461 {
3462 return symbol_type (token::TOKEN_ENCAPSULATE, l);
3463 }
3464#endif
3465#if 201103L <= YY_CPLUSPLUS
3466 static
3467 symbol_type
3468 make_ARRAY (location_type l)
3469 {
3470 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3471 }
3472#else
3473 static
3474 symbol_type
3476 {
3477 return symbol_type (token::TOKEN_ARRAY, l);
3478 }
3479#endif
3480#if 201103L <= YY_CPLUSPLUS
3481 static
3482 symbol_type
3483 make_PARKED_PACKET_LIMIT (location_type l)
3484 {
3485 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3486 }
3487#else
3488 static
3489 symbol_type
3491 {
3492 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, l);
3493 }
3494#endif
3495#if 201103L <= YY_CPLUSPLUS
3496 static
3497 symbol_type
3498 make_ALLOCATOR (location_type l)
3499 {
3500 return symbol_type (token::TOKEN_ALLOCATOR, std::move (l));
3501 }
3502#else
3503 static
3504 symbol_type
3506 {
3507 return symbol_type (token::TOKEN_ALLOCATOR, l);
3508 }
3509#endif
3510#if 201103L <= YY_CPLUSPLUS
3511 static
3512 symbol_type
3513 make_DDNS_CONFLICT_RESOLUTION_MODE (location_type l)
3514 {
3515 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, std::move (l));
3516 }
3517#else
3518 static
3519 symbol_type
3521 {
3522 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, l);
3523 }
3524#endif
3525#if 201103L <= YY_CPLUSPLUS
3526 static
3527 symbol_type
3528 make_CHECK_WITH_DHCID (location_type l)
3529 {
3530 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, std::move (l));
3531 }
3532#else
3533 static
3534 symbol_type
3536 {
3537 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, l);
3538 }
3539#endif
3540#if 201103L <= YY_CPLUSPLUS
3541 static
3542 symbol_type
3543 make_NO_CHECK_WITH_DHCID (location_type l)
3544 {
3545 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, std::move (l));
3546 }
3547#else
3548 static
3549 symbol_type
3551 {
3552 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, l);
3553 }
3554#endif
3555#if 201103L <= YY_CPLUSPLUS
3556 static
3557 symbol_type
3558 make_CHECK_EXISTS_WITH_DHCID (location_type l)
3559 {
3560 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, std::move (l));
3561 }
3562#else
3563 static
3564 symbol_type
3566 {
3567 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, l);
3568 }
3569#endif
3570#if 201103L <= YY_CPLUSPLUS
3571 static
3572 symbol_type
3573 make_NO_CHECK_WITHOUT_DHCID (location_type l)
3574 {
3575 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, std::move (l));
3576 }
3577#else
3578 static
3579 symbol_type
3581 {
3582 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, l);
3583 }
3584#endif
3585#if 201103L <= YY_CPLUSPLUS
3586 static
3587 symbol_type
3588 make_SHARED_NETWORKS (location_type l)
3589 {
3590 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3591 }
3592#else
3593 static
3594 symbol_type
3596 {
3597 return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
3598 }
3599#endif
3600#if 201103L <= YY_CPLUSPLUS
3601 static
3602 symbol_type
3603 make_POOLS (location_type l)
3604 {
3605 return symbol_type (token::TOKEN_POOLS, std::move (l));
3606 }
3607#else
3608 static
3609 symbol_type
3611 {
3612 return symbol_type (token::TOKEN_POOLS, l);
3613 }
3614#endif
3615#if 201103L <= YY_CPLUSPLUS
3616 static
3617 symbol_type
3618 make_POOL (location_type l)
3619 {
3620 return symbol_type (token::TOKEN_POOL, std::move (l));
3621 }
3622#else
3623 static
3624 symbol_type
3626 {
3627 return symbol_type (token::TOKEN_POOL, l);
3628 }
3629#endif
3630#if 201103L <= YY_CPLUSPLUS
3631 static
3632 symbol_type
3633 make_USER_CONTEXT (location_type l)
3634 {
3635 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3636 }
3637#else
3638 static
3639 symbol_type
3641 {
3642 return symbol_type (token::TOKEN_USER_CONTEXT, l);
3643 }
3644#endif
3645#if 201103L <= YY_CPLUSPLUS
3646 static
3647 symbol_type
3648 make_COMMENT (location_type l)
3649 {
3650 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3651 }
3652#else
3653 static
3654 symbol_type
3656 {
3657 return symbol_type (token::TOKEN_COMMENT, l);
3658 }
3659#endif
3660#if 201103L <= YY_CPLUSPLUS
3661 static
3662 symbol_type
3663 make_SUBNET (location_type l)
3664 {
3665 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3666 }
3667#else
3668 static
3669 symbol_type
3671 {
3672 return symbol_type (token::TOKEN_SUBNET, l);
3673 }
3674#endif
3675#if 201103L <= YY_CPLUSPLUS
3676 static
3677 symbol_type
3678 make_INTERFACE (location_type l)
3679 {
3680 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3681 }
3682#else
3683 static
3684 symbol_type
3686 {
3687 return symbol_type (token::TOKEN_INTERFACE, l);
3688 }
3689#endif
3690#if 201103L <= YY_CPLUSPLUS
3691 static
3692 symbol_type
3693 make_ID (location_type l)
3694 {
3695 return symbol_type (token::TOKEN_ID, std::move (l));
3696 }
3697#else
3698 static
3699 symbol_type
3701 {
3702 return symbol_type (token::TOKEN_ID, l);
3703 }
3704#endif
3705#if 201103L <= YY_CPLUSPLUS
3706 static
3707 symbol_type
3708 make_RESERVATIONS_GLOBAL (location_type l)
3709 {
3710 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3711 }
3712#else
3713 static
3714 symbol_type
3716 {
3717 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l);
3718 }
3719#endif
3720#if 201103L <= YY_CPLUSPLUS
3721 static
3722 symbol_type
3723 make_RESERVATIONS_IN_SUBNET (location_type l)
3724 {
3725 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3726 }
3727#else
3728 static
3729 symbol_type
3731 {
3732 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l);
3733 }
3734#endif
3735#if 201103L <= YY_CPLUSPLUS
3736 static
3737 symbol_type
3738 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3739 {
3740 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3741 }
3742#else
3743 static
3744 symbol_type
3746 {
3747 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l);
3748 }
3749#endif
3750#if 201103L <= YY_CPLUSPLUS
3751 static
3752 symbol_type
3753 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3754 {
3755 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3756 }
3757#else
3758 static
3759 symbol_type
3761 {
3762 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
3763 }
3764#endif
3765#if 201103L <= YY_CPLUSPLUS
3766 static
3767 symbol_type
3768 make_CLIENT_CLASSES (location_type l)
3769 {
3770 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3771 }
3772#else
3773 static
3774 symbol_type
3776 {
3777 return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
3778 }
3779#endif
3780#if 201103L <= YY_CPLUSPLUS
3781 static
3782 symbol_type
3783 make_REQUIRE_CLIENT_CLASSES (location_type l)
3784 {
3785 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3786 }
3787#else
3788 static
3789 symbol_type
3791 {
3792 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
3793 }
3794#endif
3795#if 201103L <= YY_CPLUSPLUS
3796 static
3797 symbol_type
3798 make_EVALUATE_ADDITIONAL_CLASSES (location_type l)
3799 {
3800 return symbol_type (token::TOKEN_EVALUATE_ADDITIONAL_CLASSES, std::move (l));
3801 }
3802#else
3803 static
3804 symbol_type
3806 {
3807 return symbol_type (token::TOKEN_EVALUATE_ADDITIONAL_CLASSES, l);
3808 }
3809#endif
3810#if 201103L <= YY_CPLUSPLUS
3811 static
3812 symbol_type
3813 make_TEST (location_type l)
3814 {
3815 return symbol_type (token::TOKEN_TEST, std::move (l));
3816 }
3817#else
3818 static
3819 symbol_type
3821 {
3822 return symbol_type (token::TOKEN_TEST, l);
3823 }
3824#endif
3825#if 201103L <= YY_CPLUSPLUS
3826 static
3827 symbol_type
3828 make_TEMPLATE_TEST (location_type l)
3829 {
3830 return symbol_type (token::TOKEN_TEMPLATE_TEST, std::move (l));
3831 }
3832#else
3833 static
3834 symbol_type
3836 {
3837 return symbol_type (token::TOKEN_TEMPLATE_TEST, l);
3838 }
3839#endif
3840#if 201103L <= YY_CPLUSPLUS
3841 static
3842 symbol_type
3843 make_ONLY_IF_REQUIRED (location_type l)
3844 {
3845 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3846 }
3847#else
3848 static
3849 symbol_type
3851 {
3852 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
3853 }
3854#endif
3855#if 201103L <= YY_CPLUSPLUS
3856 static
3857 symbol_type
3858 make_ONLY_IN_ADDITIONAL_LIST (location_type l)
3859 {
3860 return symbol_type (token::TOKEN_ONLY_IN_ADDITIONAL_LIST, std::move (l));
3861 }
3862#else
3863 static
3864 symbol_type
3866 {
3867 return symbol_type (token::TOKEN_ONLY_IN_ADDITIONAL_LIST, l);
3868 }
3869#endif
3870#if 201103L <= YY_CPLUSPLUS
3871 static
3872 symbol_type
3873 make_CLIENT_CLASS (location_type l)
3874 {
3875 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3876 }
3877#else
3878 static
3879 symbol_type
3881 {
3882 return symbol_type (token::TOKEN_CLIENT_CLASS, l);
3883 }
3884#endif
3885#if 201103L <= YY_CPLUSPLUS
3886 static
3887 symbol_type
3888 make_POOL_ID (location_type l)
3889 {
3890 return symbol_type (token::TOKEN_POOL_ID, std::move (l));
3891 }
3892#else
3893 static
3894 symbol_type
3896 {
3897 return symbol_type (token::TOKEN_POOL_ID, l);
3898 }
3899#endif
3900#if 201103L <= YY_CPLUSPLUS
3901 static
3902 symbol_type
3903 make_RESERVATIONS (location_type l)
3904 {
3905 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3906 }
3907#else
3908 static
3909 symbol_type
3911 {
3912 return symbol_type (token::TOKEN_RESERVATIONS, l);
3913 }
3914#endif
3915#if 201103L <= YY_CPLUSPLUS
3916 static
3917 symbol_type
3918 make_IP_ADDRESS (location_type l)
3919 {
3920 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3921 }
3922#else
3923 static
3924 symbol_type
3926 {
3927 return symbol_type (token::TOKEN_IP_ADDRESS, l);
3928 }
3929#endif
3930#if 201103L <= YY_CPLUSPLUS
3931 static
3932 symbol_type
3933 make_DUID (location_type l)
3934 {
3935 return symbol_type (token::TOKEN_DUID, std::move (l));
3936 }
3937#else
3938 static
3939 symbol_type
3941 {
3942 return symbol_type (token::TOKEN_DUID, l);
3943 }
3944#endif
3945#if 201103L <= YY_CPLUSPLUS
3946 static
3947 symbol_type
3948 make_HW_ADDRESS (location_type l)
3949 {
3950 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3951 }
3952#else
3953 static
3954 symbol_type
3956 {
3957 return symbol_type (token::TOKEN_HW_ADDRESS, l);
3958 }
3959#endif
3960#if 201103L <= YY_CPLUSPLUS
3961 static
3962 symbol_type
3963 make_CIRCUIT_ID (location_type l)
3964 {
3965 return symbol_type (token::TOKEN_CIRCUIT_ID, std::move (l));
3966 }
3967#else
3968 static
3969 symbol_type
3971 {
3972 return symbol_type (token::TOKEN_CIRCUIT_ID, l);
3973 }
3974#endif
3975#if 201103L <= YY_CPLUSPLUS
3976 static
3977 symbol_type
3978 make_CLIENT_ID (location_type l)
3979 {
3980 return symbol_type (token::TOKEN_CLIENT_ID, std::move (l));
3981 }
3982#else
3983 static
3984 symbol_type
3986 {
3987 return symbol_type (token::TOKEN_CLIENT_ID, l);
3988 }
3989#endif
3990#if 201103L <= YY_CPLUSPLUS
3991 static
3992 symbol_type
3993 make_HOSTNAME (location_type l)
3994 {
3995 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3996 }
3997#else
3998 static
3999 symbol_type
4001 {
4002 return symbol_type (token::TOKEN_HOSTNAME, l);
4003 }
4004#endif
4005#if 201103L <= YY_CPLUSPLUS
4006 static
4007 symbol_type
4008 make_FLEX_ID (location_type l)
4009 {
4010 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
4011 }
4012#else
4013 static
4014 symbol_type
4016 {
4017 return symbol_type (token::TOKEN_FLEX_ID, l);
4018 }
4019#endif
4020#if 201103L <= YY_CPLUSPLUS
4021 static
4022 symbol_type
4023 make_RELAY (location_type l)
4024 {
4025 return symbol_type (token::TOKEN_RELAY, std::move (l));
4026 }
4027#else
4028 static
4029 symbol_type
4031 {
4032 return symbol_type (token::TOKEN_RELAY, l);
4033 }
4034#endif
4035#if 201103L <= YY_CPLUSPLUS
4036 static
4037 symbol_type
4038 make_IP_ADDRESSES (location_type l)
4039 {
4040 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
4041 }
4042#else
4043 static
4044 symbol_type
4046 {
4047 return symbol_type (token::TOKEN_IP_ADDRESSES, l);
4048 }
4049#endif
4050#if 201103L <= YY_CPLUSPLUS
4051 static
4052 symbol_type
4053 make_HOOKS_LIBRARIES (location_type l)
4054 {
4055 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
4056 }
4057#else
4058 static
4059 symbol_type
4061 {
4062 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
4063 }
4064#endif
4065#if 201103L <= YY_CPLUSPLUS
4066 static
4067 symbol_type
4068 make_LIBRARY (location_type l)
4069 {
4070 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
4071 }
4072#else
4073 static
4074 symbol_type
4076 {
4077 return symbol_type (token::TOKEN_LIBRARY, l);
4078 }
4079#endif
4080#if 201103L <= YY_CPLUSPLUS
4081 static
4082 symbol_type
4083 make_PARAMETERS (location_type l)
4084 {
4085 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
4086 }
4087#else
4088 static
4089 symbol_type
4091 {
4092 return symbol_type (token::TOKEN_PARAMETERS, l);
4093 }
4094#endif
4095#if 201103L <= YY_CPLUSPLUS
4096 static
4097 symbol_type
4098 make_EXPIRED_LEASES_PROCESSING (location_type l)
4099 {
4100 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
4101 }
4102#else
4103 static
4104 symbol_type
4106 {
4107 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
4108 }
4109#endif
4110#if 201103L <= YY_CPLUSPLUS
4111 static
4112 symbol_type
4113 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
4114 {
4115 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
4116 }
4117#else
4118 static
4119 symbol_type
4121 {
4122 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
4123 }
4124#endif
4125#if 201103L <= YY_CPLUSPLUS
4126 static
4127 symbol_type
4128 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
4129 {
4130 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
4131 }
4132#else
4133 static
4134 symbol_type
4136 {
4137 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
4138 }
4139#endif
4140#if 201103L <= YY_CPLUSPLUS
4141 static
4142 symbol_type
4143 make_HOLD_RECLAIMED_TIME (location_type l)
4144 {
4145 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
4146 }
4147#else
4148 static
4149 symbol_type
4151 {
4152 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
4153 }
4154#endif
4155#if 201103L <= YY_CPLUSPLUS
4156 static
4157 symbol_type
4158 make_MAX_RECLAIM_LEASES (location_type l)
4159 {
4160 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
4161 }
4162#else
4163 static
4164 symbol_type
4166 {
4167 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
4168 }
4169#endif
4170#if 201103L <= YY_CPLUSPLUS
4171 static
4172 symbol_type
4173 make_MAX_RECLAIM_TIME (location_type l)
4174 {
4175 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
4176 }
4177#else
4178 static
4179 symbol_type
4181 {
4182 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
4183 }
4184#endif
4185#if 201103L <= YY_CPLUSPLUS
4186 static
4187 symbol_type
4188 make_UNWARNED_RECLAIM_CYCLES (location_type l)
4189 {
4190 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
4191 }
4192#else
4193 static
4194 symbol_type
4196 {
4197 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
4198 }
4199#endif
4200#if 201103L <= YY_CPLUSPLUS
4201 static
4202 symbol_type
4203 make_DHCP4O6_PORT (location_type l)
4204 {
4205 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4206 }
4207#else
4208 static
4209 symbol_type
4211 {
4212 return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
4213 }
4214#endif
4215#if 201103L <= YY_CPLUSPLUS
4216 static
4217 symbol_type
4218 make_DHCP_MULTI_THREADING (location_type l)
4219 {
4220 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4221 }
4222#else
4223 static
4224 symbol_type
4226 {
4227 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
4228 }
4229#endif
4230#if 201103L <= YY_CPLUSPLUS
4231 static
4232 symbol_type
4233 make_ENABLE_MULTI_THREADING (location_type l)
4234 {
4235 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4236 }
4237#else
4238 static
4239 symbol_type
4241 {
4242 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
4243 }
4244#endif
4245#if 201103L <= YY_CPLUSPLUS
4246 static
4247 symbol_type
4248 make_THREAD_POOL_SIZE (location_type l)
4249 {
4250 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4251 }
4252#else
4253 static
4254 symbol_type
4256 {
4257 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
4258 }
4259#endif
4260#if 201103L <= YY_CPLUSPLUS
4261 static
4262 symbol_type
4263 make_PACKET_QUEUE_SIZE (location_type l)
4264 {
4265 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4266 }
4267#else
4268 static
4269 symbol_type
4271 {
4272 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
4273 }
4274#endif
4275#if 201103L <= YY_CPLUSPLUS
4276 static
4277 symbol_type
4278 make_CONTROL_SOCKET (location_type l)
4279 {
4280 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4281 }
4282#else
4283 static
4284 symbol_type
4286 {
4287 return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
4288 }
4289#endif
4290#if 201103L <= YY_CPLUSPLUS
4291 static
4292 symbol_type
4293 make_CONTROL_SOCKETS (location_type l)
4294 {
4295 return symbol_type (token::TOKEN_CONTROL_SOCKETS, std::move (l));
4296 }
4297#else
4298 static
4299 symbol_type
4301 {
4302 return symbol_type (token::TOKEN_CONTROL_SOCKETS, l);
4303 }
4304#endif
4305#if 201103L <= YY_CPLUSPLUS
4306 static
4307 symbol_type
4308 make_SOCKET_TYPE (location_type l)
4309 {
4310 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4311 }
4312#else
4313 static
4314 symbol_type
4316 {
4317 return symbol_type (token::TOKEN_SOCKET_TYPE, l);
4318 }
4319#endif
4320#if 201103L <= YY_CPLUSPLUS
4321 static
4322 symbol_type
4323 make_UNIX (location_type l)
4324 {
4325 return symbol_type (token::TOKEN_UNIX, std::move (l));
4326 }
4327#else
4328 static
4329 symbol_type
4331 {
4332 return symbol_type (token::TOKEN_UNIX, l);
4333 }
4334#endif
4335#if 201103L <= YY_CPLUSPLUS
4336 static
4337 symbol_type
4338 make_HTTP (location_type l)
4339 {
4340 return symbol_type (token::TOKEN_HTTP, std::move (l));
4341 }
4342#else
4343 static
4344 symbol_type
4346 {
4347 return symbol_type (token::TOKEN_HTTP, l);
4348 }
4349#endif
4350#if 201103L <= YY_CPLUSPLUS
4351 static
4352 symbol_type
4353 make_HTTPS (location_type l)
4354 {
4355 return symbol_type (token::TOKEN_HTTPS, std::move (l));
4356 }
4357#else
4358 static
4359 symbol_type
4361 {
4362 return symbol_type (token::TOKEN_HTTPS, l);
4363 }
4364#endif
4365#if 201103L <= YY_CPLUSPLUS
4366 static
4367 symbol_type
4368 make_SOCKET_NAME (location_type l)
4369 {
4370 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4371 }
4372#else
4373 static
4374 symbol_type
4376 {
4377 return symbol_type (token::TOKEN_SOCKET_NAME, l);
4378 }
4379#endif
4380#if 201103L <= YY_CPLUSPLUS
4381 static
4382 symbol_type
4383 make_SOCKET_ADDRESS (location_type l)
4384 {
4385 return symbol_type (token::TOKEN_SOCKET_ADDRESS, std::move (l));
4386 }
4387#else
4388 static
4389 symbol_type
4391 {
4392 return symbol_type (token::TOKEN_SOCKET_ADDRESS, l);
4393 }
4394#endif
4395#if 201103L <= YY_CPLUSPLUS
4396 static
4397 symbol_type
4398 make_SOCKET_PORT (location_type l)
4399 {
4400 return symbol_type (token::TOKEN_SOCKET_PORT, std::move (l));
4401 }
4402#else
4403 static
4404 symbol_type
4406 {
4407 return symbol_type (token::TOKEN_SOCKET_PORT, l);
4408 }
4409#endif
4410#if 201103L <= YY_CPLUSPLUS
4411 static
4412 symbol_type
4413 make_AUTHENTICATION (location_type l)
4414 {
4415 return symbol_type (token::TOKEN_AUTHENTICATION, std::move (l));
4416 }
4417#else
4418 static
4419 symbol_type
4421 {
4422 return symbol_type (token::TOKEN_AUTHENTICATION, l);
4423 }
4424#endif
4425#if 201103L <= YY_CPLUSPLUS
4426 static
4427 symbol_type
4428 make_BASIC (location_type l)
4429 {
4430 return symbol_type (token::TOKEN_BASIC, std::move (l));
4431 }
4432#else
4433 static
4434 symbol_type
4436 {
4437 return symbol_type (token::TOKEN_BASIC, l);
4438 }
4439#endif
4440#if 201103L <= YY_CPLUSPLUS
4441 static
4442 symbol_type
4443 make_REALM (location_type l)
4444 {
4445 return symbol_type (token::TOKEN_REALM, std::move (l));
4446 }
4447#else
4448 static
4449 symbol_type
4451 {
4452 return symbol_type (token::TOKEN_REALM, l);
4453 }
4454#endif
4455#if 201103L <= YY_CPLUSPLUS
4456 static
4457 symbol_type
4458 make_DIRECTORY (location_type l)
4459 {
4460 return symbol_type (token::TOKEN_DIRECTORY, std::move (l));
4461 }
4462#else
4463 static
4464 symbol_type
4466 {
4467 return symbol_type (token::TOKEN_DIRECTORY, l);
4468 }
4469#endif
4470#if 201103L <= YY_CPLUSPLUS
4471 static
4472 symbol_type
4473 make_CLIENTS (location_type l)
4474 {
4475 return symbol_type (token::TOKEN_CLIENTS, std::move (l));
4476 }
4477#else
4478 static
4479 symbol_type
4481 {
4482 return symbol_type (token::TOKEN_CLIENTS, l);
4483 }
4484#endif
4485#if 201103L <= YY_CPLUSPLUS
4486 static
4487 symbol_type
4488 make_USER_FILE (location_type l)
4489 {
4490 return symbol_type (token::TOKEN_USER_FILE, std::move (l));
4491 }
4492#else
4493 static
4494 symbol_type
4496 {
4497 return symbol_type (token::TOKEN_USER_FILE, l);
4498 }
4499#endif
4500#if 201103L <= YY_CPLUSPLUS
4501 static
4502 symbol_type
4503 make_PASSWORD_FILE (location_type l)
4504 {
4505 return symbol_type (token::TOKEN_PASSWORD_FILE, std::move (l));
4506 }
4507#else
4508 static
4509 symbol_type
4511 {
4512 return symbol_type (token::TOKEN_PASSWORD_FILE, l);
4513 }
4514#endif
4515#if 201103L <= YY_CPLUSPLUS
4516 static
4517 symbol_type
4518 make_CERT_REQUIRED (location_type l)
4519 {
4520 return symbol_type (token::TOKEN_CERT_REQUIRED, std::move (l));
4521 }
4522#else
4523 static
4524 symbol_type
4526 {
4527 return symbol_type (token::TOKEN_CERT_REQUIRED, l);
4528 }
4529#endif
4530#if 201103L <= YY_CPLUSPLUS
4531 static
4532 symbol_type
4533 make_HTTP_HEADERS (location_type l)
4534 {
4535 return symbol_type (token::TOKEN_HTTP_HEADERS, std::move (l));
4536 }
4537#else
4538 static
4539 symbol_type
4541 {
4542 return symbol_type (token::TOKEN_HTTP_HEADERS, l);
4543 }
4544#endif
4545#if 201103L <= YY_CPLUSPLUS
4546 static
4547 symbol_type
4548 make_VALUE (location_type l)
4549 {
4550 return symbol_type (token::TOKEN_VALUE, std::move (l));
4551 }
4552#else
4553 static
4554 symbol_type
4556 {
4557 return symbol_type (token::TOKEN_VALUE, l);
4558 }
4559#endif
4560#if 201103L <= YY_CPLUSPLUS
4561 static
4562 symbol_type
4563 make_DHCP_QUEUE_CONTROL (location_type l)
4564 {
4565 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4566 }
4567#else
4568 static
4569 symbol_type
4571 {
4572 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
4573 }
4574#endif
4575#if 201103L <= YY_CPLUSPLUS
4576 static
4577 symbol_type
4578 make_ENABLE_QUEUE (location_type l)
4579 {
4580 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4581 }
4582#else
4583 static
4584 symbol_type
4586 {
4587 return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
4588 }
4589#endif
4590#if 201103L <= YY_CPLUSPLUS
4591 static
4592 symbol_type
4593 make_QUEUE_TYPE (location_type l)
4594 {
4595 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4596 }
4597#else
4598 static
4599 symbol_type
4601 {
4602 return symbol_type (token::TOKEN_QUEUE_TYPE, l);
4603 }
4604#endif
4605#if 201103L <= YY_CPLUSPLUS
4606 static
4607 symbol_type
4608 make_CAPACITY (location_type l)
4609 {
4610 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4611 }
4612#else
4613 static
4614 symbol_type
4616 {
4617 return symbol_type (token::TOKEN_CAPACITY, l);
4618 }
4619#endif
4620#if 201103L <= YY_CPLUSPLUS
4621 static
4622 symbol_type
4623 make_DHCP_DDNS (location_type l)
4624 {
4625 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4626 }
4627#else
4628 static
4629 symbol_type
4631 {
4632 return symbol_type (token::TOKEN_DHCP_DDNS, l);
4633 }
4634#endif
4635#if 201103L <= YY_CPLUSPLUS
4636 static
4637 symbol_type
4638 make_ENABLE_UPDATES (location_type l)
4639 {
4640 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4641 }
4642#else
4643 static
4644 symbol_type
4646 {
4647 return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
4648 }
4649#endif
4650#if 201103L <= YY_CPLUSPLUS
4651 static
4652 symbol_type
4653 make_SERVER_IP (location_type l)
4654 {
4655 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4656 }
4657#else
4658 static
4659 symbol_type
4661 {
4662 return symbol_type (token::TOKEN_SERVER_IP, l);
4663 }
4664#endif
4665#if 201103L <= YY_CPLUSPLUS
4666 static
4667 symbol_type
4668 make_SERVER_PORT (location_type l)
4669 {
4670 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4671 }
4672#else
4673 static
4674 symbol_type
4676 {
4677 return symbol_type (token::TOKEN_SERVER_PORT, l);
4678 }
4679#endif
4680#if 201103L <= YY_CPLUSPLUS
4681 static
4682 symbol_type
4683 make_SENDER_IP (location_type l)
4684 {
4685 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4686 }
4687#else
4688 static
4689 symbol_type
4691 {
4692 return symbol_type (token::TOKEN_SENDER_IP, l);
4693 }
4694#endif
4695#if 201103L <= YY_CPLUSPLUS
4696 static
4697 symbol_type
4698 make_SENDER_PORT (location_type l)
4699 {
4700 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4701 }
4702#else
4703 static
4704 symbol_type
4706 {
4707 return symbol_type (token::TOKEN_SENDER_PORT, l);
4708 }
4709#endif
4710#if 201103L <= YY_CPLUSPLUS
4711 static
4712 symbol_type
4713 make_MAX_QUEUE_SIZE (location_type l)
4714 {
4715 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4716 }
4717#else
4718 static
4719 symbol_type
4721 {
4722 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
4723 }
4724#endif
4725#if 201103L <= YY_CPLUSPLUS
4726 static
4727 symbol_type
4728 make_NCR_PROTOCOL (location_type l)
4729 {
4730 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4731 }
4732#else
4733 static
4734 symbol_type
4736 {
4737 return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
4738 }
4739#endif
4740#if 201103L <= YY_CPLUSPLUS
4741 static
4742 symbol_type
4743 make_NCR_FORMAT (location_type l)
4744 {
4745 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4746 }
4747#else
4748 static
4749 symbol_type
4751 {
4752 return symbol_type (token::TOKEN_NCR_FORMAT, l);
4753 }
4754#endif
4755#if 201103L <= YY_CPLUSPLUS
4756 static
4757 symbol_type
4758 make_TCP (location_type l)
4759 {
4760 return symbol_type (token::TOKEN_TCP, std::move (l));
4761 }
4762#else
4763 static
4764 symbol_type
4766 {
4767 return symbol_type (token::TOKEN_TCP, l);
4768 }
4769#endif
4770#if 201103L <= YY_CPLUSPLUS
4771 static
4772 symbol_type
4773 make_JSON (location_type l)
4774 {
4775 return symbol_type (token::TOKEN_JSON, std::move (l));
4776 }
4777#else
4778 static
4779 symbol_type
4781 {
4782 return symbol_type (token::TOKEN_JSON, l);
4783 }
4784#endif
4785#if 201103L <= YY_CPLUSPLUS
4786 static
4787 symbol_type
4788 make_WHEN_PRESENT (location_type l)
4789 {
4790 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4791 }
4792#else
4793 static
4794 symbol_type
4796 {
4797 return symbol_type (token::TOKEN_WHEN_PRESENT, l);
4798 }
4799#endif
4800#if 201103L <= YY_CPLUSPLUS
4801 static
4802 symbol_type
4803 make_NEVER (location_type l)
4804 {
4805 return symbol_type (token::TOKEN_NEVER, std::move (l));
4806 }
4807#else
4808 static
4809 symbol_type
4811 {
4812 return symbol_type (token::TOKEN_NEVER, l);
4813 }
4814#endif
4815#if 201103L <= YY_CPLUSPLUS
4816 static
4817 symbol_type
4818 make_ALWAYS (location_type l)
4819 {
4820 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4821 }
4822#else
4823 static
4824 symbol_type
4826 {
4827 return symbol_type (token::TOKEN_ALWAYS, l);
4828 }
4829#endif
4830#if 201103L <= YY_CPLUSPLUS
4831 static
4832 symbol_type
4833 make_WHEN_NOT_PRESENT (location_type l)
4834 {
4835 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4836 }
4837#else
4838 static
4839 symbol_type
4841 {
4842 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
4843 }
4844#endif
4845#if 201103L <= YY_CPLUSPLUS
4846 static
4847 symbol_type
4848 make_HOSTNAME_CHAR_SET (location_type l)
4849 {
4850 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4851 }
4852#else
4853 static
4854 symbol_type
4856 {
4857 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
4858 }
4859#endif
4860#if 201103L <= YY_CPLUSPLUS
4861 static
4862 symbol_type
4863 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4864 {
4865 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4866 }
4867#else
4868 static
4869 symbol_type
4871 {
4872 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
4873 }
4874#endif
4875#if 201103L <= YY_CPLUSPLUS
4876 static
4877 symbol_type
4878 make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
4879 {
4880 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
4881 }
4882#else
4883 static
4884 symbol_type
4886 {
4887 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, l);
4888 }
4889#endif
4890#if 201103L <= YY_CPLUSPLUS
4891 static
4892 symbol_type
4893 make_IP_RESERVATIONS_UNIQUE (location_type l)
4894 {
4895 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4896 }
4897#else
4898 static
4899 symbol_type
4901 {
4902 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
4903 }
4904#endif
4905#if 201103L <= YY_CPLUSPLUS
4906 static
4907 symbol_type
4908 make_RESERVATIONS_LOOKUP_FIRST (location_type l)
4909 {
4910 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
4911 }
4912#else
4913 static
4914 symbol_type
4916 {
4917 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, l);
4918 }
4919#endif
4920#if 201103L <= YY_CPLUSPLUS
4921 static
4922 symbol_type
4923 make_LOGGERS (location_type l)
4924 {
4925 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4926 }
4927#else
4928 static
4929 symbol_type
4931 {
4932 return symbol_type (token::TOKEN_LOGGERS, l);
4933 }
4934#endif
4935#if 201103L <= YY_CPLUSPLUS
4936 static
4937 symbol_type
4938 make_OUTPUT_OPTIONS (location_type l)
4939 {
4940 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4941 }
4942#else
4943 static
4944 symbol_type
4946 {
4947 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
4948 }
4949#endif
4950#if 201103L <= YY_CPLUSPLUS
4951 static
4952 symbol_type
4953 make_OUTPUT (location_type l)
4954 {
4955 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4956 }
4957#else
4958 static
4959 symbol_type
4961 {
4962 return symbol_type (token::TOKEN_OUTPUT, l);
4963 }
4964#endif
4965#if 201103L <= YY_CPLUSPLUS
4966 static
4967 symbol_type
4968 make_DEBUGLEVEL (location_type l)
4969 {
4970 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4971 }
4972#else
4973 static
4974 symbol_type
4976 {
4977 return symbol_type (token::TOKEN_DEBUGLEVEL, l);
4978 }
4979#endif
4980#if 201103L <= YY_CPLUSPLUS
4981 static
4982 symbol_type
4983 make_SEVERITY (location_type l)
4984 {
4985 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4986 }
4987#else
4988 static
4989 symbol_type
4991 {
4992 return symbol_type (token::TOKEN_SEVERITY, l);
4993 }
4994#endif
4995#if 201103L <= YY_CPLUSPLUS
4996 static
4997 symbol_type
4998 make_FLUSH (location_type l)
4999 {
5000 return symbol_type (token::TOKEN_FLUSH, std::move (l));
5001 }
5002#else
5003 static
5004 symbol_type
5006 {
5007 return symbol_type (token::TOKEN_FLUSH, l);
5008 }
5009#endif
5010#if 201103L <= YY_CPLUSPLUS
5011 static
5012 symbol_type
5013 make_MAXSIZE (location_type l)
5014 {
5015 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
5016 }
5017#else
5018 static
5019 symbol_type
5021 {
5022 return symbol_type (token::TOKEN_MAXSIZE, l);
5023 }
5024#endif
5025#if 201103L <= YY_CPLUSPLUS
5026 static
5027 symbol_type
5028 make_MAXVER (location_type l)
5029 {
5030 return symbol_type (token::TOKEN_MAXVER, std::move (l));
5031 }
5032#else
5033 static
5034 symbol_type
5036 {
5037 return symbol_type (token::TOKEN_MAXVER, l);
5038 }
5039#endif
5040#if 201103L <= YY_CPLUSPLUS
5041 static
5042 symbol_type
5043 make_PATTERN (location_type l)
5044 {
5045 return symbol_type (token::TOKEN_PATTERN, std::move (l));
5046 }
5047#else
5048 static
5049 symbol_type
5051 {
5052 return symbol_type (token::TOKEN_PATTERN, l);
5053 }
5054#endif
5055#if 201103L <= YY_CPLUSPLUS
5056 static
5057 symbol_type
5058 make_COMPATIBILITY (location_type l)
5059 {
5060 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
5061 }
5062#else
5063 static
5064 symbol_type
5066 {
5067 return symbol_type (token::TOKEN_COMPATIBILITY, l);
5068 }
5069#endif
5070#if 201103L <= YY_CPLUSPLUS
5071 static
5072 symbol_type
5073 make_LENIENT_OPTION_PARSING (location_type l)
5074 {
5075 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
5076 }
5077#else
5078 static
5079 symbol_type
5081 {
5082 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, l);
5083 }
5084#endif
5085#if 201103L <= YY_CPLUSPLUS
5086 static
5087 symbol_type
5088 make_IGNORE_DHCP_SERVER_ID (location_type l)
5089 {
5090 return symbol_type (token::TOKEN_IGNORE_DHCP_SERVER_ID, std::move (l));
5091 }
5092#else
5093 static
5094 symbol_type
5096 {
5097 return symbol_type (token::TOKEN_IGNORE_DHCP_SERVER_ID, l);
5098 }
5099#endif
5100#if 201103L <= YY_CPLUSPLUS
5101 static
5102 symbol_type
5103 make_IGNORE_RAI_LINK_SEL (location_type l)
5104 {
5105 return symbol_type (token::TOKEN_IGNORE_RAI_LINK_SEL, std::move (l));
5106 }
5107#else
5108 static
5109 symbol_type
5111 {
5112 return symbol_type (token::TOKEN_IGNORE_RAI_LINK_SEL, l);
5113 }
5114#endif
5115#if 201103L <= YY_CPLUSPLUS
5116 static
5117 symbol_type
5118 make_EXCLUDE_FIRST_LAST_24 (location_type l)
5119 {
5120 return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, std::move (l));
5121 }
5122#else
5123 static
5124 symbol_type
5126 {
5127 return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, l);
5128 }
5129#endif
5130#if 201103L <= YY_CPLUSPLUS
5131 static
5132 symbol_type
5133 make_TOPLEVEL_JSON (location_type l)
5134 {
5135 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
5136 }
5137#else
5138 static
5139 symbol_type
5141 {
5142 return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
5143 }
5144#endif
5145#if 201103L <= YY_CPLUSPLUS
5146 static
5147 symbol_type
5148 make_TOPLEVEL_DHCP4 (location_type l)
5149 {
5150 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, std::move (l));
5151 }
5152#else
5153 static
5154 symbol_type
5156 {
5157 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, l);
5158 }
5159#endif
5160#if 201103L <= YY_CPLUSPLUS
5161 static
5162 symbol_type
5163 make_SUB_DHCP4 (location_type l)
5164 {
5165 return symbol_type (token::TOKEN_SUB_DHCP4, std::move (l));
5166 }
5167#else
5168 static
5169 symbol_type
5171 {
5172 return symbol_type (token::TOKEN_SUB_DHCP4, l);
5173 }
5174#endif
5175#if 201103L <= YY_CPLUSPLUS
5176 static
5177 symbol_type
5178 make_SUB_INTERFACES4 (location_type l)
5179 {
5180 return symbol_type (token::TOKEN_SUB_INTERFACES4, std::move (l));
5181 }
5182#else
5183 static
5184 symbol_type
5186 {
5187 return symbol_type (token::TOKEN_SUB_INTERFACES4, l);
5188 }
5189#endif
5190#if 201103L <= YY_CPLUSPLUS
5191 static
5192 symbol_type
5193 make_SUB_SUBNET4 (location_type l)
5194 {
5195 return symbol_type (token::TOKEN_SUB_SUBNET4, std::move (l));
5196 }
5197#else
5198 static
5199 symbol_type
5201 {
5202 return symbol_type (token::TOKEN_SUB_SUBNET4, l);
5203 }
5204#endif
5205#if 201103L <= YY_CPLUSPLUS
5206 static
5207 symbol_type
5208 make_SUB_POOL4 (location_type l)
5209 {
5210 return symbol_type (token::TOKEN_SUB_POOL4, std::move (l));
5211 }
5212#else
5213 static
5214 symbol_type
5216 {
5217 return symbol_type (token::TOKEN_SUB_POOL4, l);
5218 }
5219#endif
5220#if 201103L <= YY_CPLUSPLUS
5221 static
5222 symbol_type
5223 make_SUB_RESERVATION (location_type l)
5224 {
5225 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
5226 }
5227#else
5228 static
5229 symbol_type
5231 {
5232 return symbol_type (token::TOKEN_SUB_RESERVATION, l);
5233 }
5234#endif
5235#if 201103L <= YY_CPLUSPLUS
5236 static
5237 symbol_type
5238 make_SUB_OPTION_DEFS (location_type l)
5239 {
5240 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
5241 }
5242#else
5243 static
5244 symbol_type
5246 {
5247 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
5248 }
5249#endif
5250#if 201103L <= YY_CPLUSPLUS
5251 static
5252 symbol_type
5253 make_SUB_OPTION_DEF (location_type l)
5254 {
5255 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
5256 }
5257#else
5258 static
5259 symbol_type
5261 {
5262 return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
5263 }
5264#endif
5265#if 201103L <= YY_CPLUSPLUS
5266 static
5267 symbol_type
5268 make_SUB_OPTION_DATA (location_type l)
5269 {
5270 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
5271 }
5272#else
5273 static
5274 symbol_type
5276 {
5277 return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
5278 }
5279#endif
5280#if 201103L <= YY_CPLUSPLUS
5281 static
5282 symbol_type
5283 make_SUB_HOOKS_LIBRARY (location_type l)
5284 {
5285 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
5286 }
5287#else
5288 static
5289 symbol_type
5291 {
5292 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
5293 }
5294#endif
5295#if 201103L <= YY_CPLUSPLUS
5296 static
5297 symbol_type
5298 make_SUB_DHCP_DDNS (location_type l)
5299 {
5300 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
5301 }
5302#else
5303 static
5304 symbol_type
5306 {
5307 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
5308 }
5309#endif
5310#if 201103L <= YY_CPLUSPLUS
5311 static
5312 symbol_type
5313 make_SUB_CONFIG_CONTROL (location_type l)
5314 {
5315 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
5316 }
5317#else
5318 static
5319 symbol_type
5321 {
5322 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
5323 }
5324#endif
5325#if 201103L <= YY_CPLUSPLUS
5326 static
5327 symbol_type
5328 make_STRING (std::string v, location_type l)
5329 {
5330 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
5331 }
5332#else
5333 static
5334 symbol_type
5335 make_STRING (const std::string& v, const location_type& l)
5336 {
5337 return symbol_type (token::TOKEN_STRING, v, l);
5338 }
5339#endif
5340#if 201103L <= YY_CPLUSPLUS
5341 static
5342 symbol_type
5343 make_INTEGER (int64_t v, location_type l)
5344 {
5345 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
5346 }
5347#else
5348 static
5349 symbol_type
5350 make_INTEGER (const int64_t& v, const location_type& l)
5351 {
5352 return symbol_type (token::TOKEN_INTEGER, v, l);
5353 }
5354#endif
5355#if 201103L <= YY_CPLUSPLUS
5356 static
5357 symbol_type
5358 make_FLOAT (double v, location_type l)
5359 {
5360 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
5361 }
5362#else
5363 static
5364 symbol_type
5365 make_FLOAT (const double& v, const location_type& l)
5366 {
5367 return symbol_type (token::TOKEN_FLOAT, v, l);
5368 }
5369#endif
5370#if 201103L <= YY_CPLUSPLUS
5371 static
5372 symbol_type
5373 make_BOOLEAN (bool v, location_type l)
5374 {
5375 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
5376 }
5377#else
5378 static
5379 symbol_type
5380 make_BOOLEAN (const bool& v, const location_type& l)
5381 {
5382 return symbol_type (token::TOKEN_BOOLEAN, v, l);
5383 }
5384#endif
5385
5386
5388 {
5389 public:
5390 context (const Dhcp4Parser& yyparser, const symbol_type& yyla);
5391 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
5392 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
5393 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
5394
5398 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
5399
5400 private:
5401 const Dhcp4Parser& yyparser_;
5402 const symbol_type& yyla_;
5403 };
5404
5405 private:
5406#if YY_CPLUSPLUS < 201103L
5408 Dhcp4Parser (const Dhcp4Parser&);
5410 Dhcp4Parser& operator= (const Dhcp4Parser&);
5411#endif
5412
5413
5415 typedef short state_type;
5416
5418 int yy_syntax_error_arguments_ (const context& yyctx,
5419 symbol_kind_type yyarg[], int yyargn) const;
5420
5423 virtual std::string yysyntax_error_ (const context& yyctx) const;
5427 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
5428
5431 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
5432
5435 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
5436
5437 static const short yypact_ninf_;
5438 static const signed char yytable_ninf_;
5439
5443 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
5444
5446 static std::string yytnamerr_ (const char *yystr);
5447
5449 static const char* const yytname_[];
5450
5451
5452 // Tables.
5453 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5454 // STATE-NUM.
5455 static const short yypact_[];
5456
5457 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5458 // Performed when YYTABLE does not specify something else to do. Zero
5459 // means the default is an error.
5460 static const short yydefact_[];
5461
5462 // YYPGOTO[NTERM-NUM].
5463 static const short yypgoto_[];
5464
5465 // YYDEFGOTO[NTERM-NUM].
5466 static const short yydefgoto_[];
5467
5468 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5469 // positive, shift that token. If negative, reduce the rule whose
5470 // number is the opposite. If YYTABLE_NINF, syntax error.
5471 static const short yytable_[];
5472
5473 static const short yycheck_[];
5474
5475 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
5476 // state STATE-NUM.
5477 static const short yystos_[];
5478
5479 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
5480 static const short yyr1_[];
5481
5482 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
5483 static const signed char yyr2_[];
5484
5485
5486#if PARSER4_DEBUG
5487 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5488 static const short yyrline_[];
5490 virtual void yy_reduce_print_ (int r) const;
5492 virtual void yy_stack_print_ () const;
5493
5495 int yydebug_;
5497 std::ostream* yycdebug_;
5498
5502 template <typename Base>
5503 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5504#endif
5505
5510 template <typename Base>
5511 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5512
5513 private:
5515 struct by_state
5516 {
5518 by_state () YY_NOEXCEPT;
5519
5521 typedef state_type kind_type;
5522
5524 by_state (kind_type s) YY_NOEXCEPT;
5525
5527 by_state (const by_state& that) YY_NOEXCEPT;
5528
5530 void clear () YY_NOEXCEPT;
5531
5533 void move (by_state& that);
5534
5537 symbol_kind_type kind () const YY_NOEXCEPT;
5538
5541 enum { empty_state = 0 };
5542
5545 state_type state;
5546 };
5547
5549 struct stack_symbol_type : basic_symbol<by_state>
5550 {
5552 typedef basic_symbol<by_state> super_type;
5554 stack_symbol_type ();
5556 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5558 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5559#if YY_CPLUSPLUS < 201103L
5562 stack_symbol_type& operator= (stack_symbol_type& that);
5563
5566 stack_symbol_type& operator= (const stack_symbol_type& that);
5567#endif
5568 };
5569
5571 template <typename T, typename S = std::vector<T> >
5572 class stack
5573 {
5574 public:
5575 // Hide our reversed order.
5576 typedef typename S::iterator iterator;
5577 typedef typename S::const_iterator const_iterator;
5578 typedef typename S::size_type size_type;
5579 typedef typename std::ptrdiff_t index_type;
5580
5581 stack (size_type n = 200) YY_NOEXCEPT
5582 : seq_ (n)
5583 {}
5584
5585#if 201103L <= YY_CPLUSPLUS
5587 stack (const stack&) = delete;
5589 stack& operator= (const stack&) = delete;
5590#endif
5591
5595 const T&
5596 operator[] (index_type i) const
5597 {
5598 return seq_[size_type (size () - 1 - i)];
5599 }
5600
5604 T&
5605 operator[] (index_type i)
5606 {
5607 return seq_[size_type (size () - 1 - i)];
5608 }
5609
5613 void
5614 push (YY_MOVE_REF (T) t)
5615 {
5616 seq_.push_back (T ());
5617 operator[] (0).move (t);
5618 }
5619
5621 void
5622 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5623 {
5624 for (; 0 < n; --n)
5625 seq_.pop_back ();
5626 }
5627
5629 void
5630 clear () YY_NOEXCEPT
5631 {
5632 seq_.clear ();
5633 }
5634
5636 index_type
5637 size () const YY_NOEXCEPT
5638 {
5639 return index_type (seq_.size ());
5640 }
5641
5643 const_iterator
5644 begin () const YY_NOEXCEPT
5645 {
5646 return seq_.begin ();
5647 }
5648
5650 const_iterator
5651 end () const YY_NOEXCEPT
5652 {
5653 return seq_.end ();
5654 }
5655
5657 class slice
5658 {
5659 public:
5660 slice (const stack& stack, index_type range) YY_NOEXCEPT
5661 : stack_ (stack)
5662 , range_ (range)
5663 {}
5664
5665 const T&
5666 operator[] (index_type i) const
5667 {
5668 return stack_[range_ - i];
5669 }
5670
5671 private:
5672 const stack& stack_;
5673 index_type range_;
5674 };
5675
5676 private:
5677#if YY_CPLUSPLUS < 201103L
5679 stack (const stack&);
5681 stack& operator= (const stack&);
5682#endif
5684 S seq_;
5685 };
5686
5687
5689 typedef stack<stack_symbol_type> stack_type;
5690
5692 stack_type yystack_;
5693
5699 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5700
5707 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5708
5710 void yypop_ (int n = 1) YY_NOEXCEPT;
5711
5713 enum
5714 {
5715 yylast_ = 1448,
5716 yynnts_ = 481,
5717 yyfinal_ = 28
5718 };
5719
5720
5721 // User arguments.
5723
5724 };
5725
5726 inline
5728 Dhcp4Parser::yytranslate_ (int t) YY_NOEXCEPT
5729 {
5730 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
5731 // TOKEN-NUM as returned by yylex.
5732 static
5733 const unsigned char
5734 translate_table[] =
5735 {
5736 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5737 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5738 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5739 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5740 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5741 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5742 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5743 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5744 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5745 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5746 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5747 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5748 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5749 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5750 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5751 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5752 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5753 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5754 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5755 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5756 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5757 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5758 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5759 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5760 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5761 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5762 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5763 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5764 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5765 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5766 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5767 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5768 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5769 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5770 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5771 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5772 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5773 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5774 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5775 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5776 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5777 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5778 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5779 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5780 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5781 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5782 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
5783 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
5784 225, 226, 227, 228, 229, 230, 231, 232, 233
5785 };
5786 // Last valid token kind.
5787 const int code_max = 488;
5788
5789 if (t <= 0)
5790 return symbol_kind::S_YYEOF;
5791 else if (t <= code_max)
5792 return static_cast <symbol_kind_type> (translate_table[t]);
5793 else
5795 }
5796
5797 // basic_symbol.
5798 template <typename Base>
5800 : Base (that)
5801 , value ()
5802 , location (that.location)
5803 {
5804 switch (this->kind ())
5805 {
5806 case symbol_kind::S_value: // value
5807 case symbol_kind::S_map_value: // map_value
5808 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5809 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
5810 case symbol_kind::S_socket_type: // socket_type
5811 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
5812 case symbol_kind::S_on_fail_mode: // on_fail_mode
5813 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
5814 case symbol_kind::S_auth_type_value: // auth_type_value
5815 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5816 value.copy< ElementPtr > (YY_MOVE (that.value));
5817 break;
5818
5819 case symbol_kind::S_BOOLEAN: // "boolean"
5820 value.copy< bool > (YY_MOVE (that.value));
5821 break;
5822
5823 case symbol_kind::S_FLOAT: // "floating point"
5824 value.copy< double > (YY_MOVE (that.value));
5825 break;
5826
5827 case symbol_kind::S_INTEGER: // "integer"
5828 value.copy< int64_t > (YY_MOVE (that.value));
5829 break;
5830
5831 case symbol_kind::S_STRING: // "constant string"
5832 value.copy< std::string > (YY_MOVE (that.value));
5833 break;
5834
5835 default:
5836 break;
5837 }
5838
5839 }
5840
5841
5842
5843
5844 template <typename Base>
5847 {
5848 return this->kind ();
5849 }
5850
5851
5852 template <typename Base>
5853 bool
5855 {
5856 return this->kind () == symbol_kind::S_YYEMPTY;
5857 }
5858
5859 template <typename Base>
5860 void
5862 {
5863 super_type::move (s);
5864 switch (this->kind ())
5865 {
5866 case symbol_kind::S_value: // value
5867 case symbol_kind::S_map_value: // map_value
5868 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5869 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
5870 case symbol_kind::S_socket_type: // socket_type
5871 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
5872 case symbol_kind::S_on_fail_mode: // on_fail_mode
5873 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
5874 case symbol_kind::S_auth_type_value: // auth_type_value
5875 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5876 value.move< ElementPtr > (YY_MOVE (s.value));
5877 break;
5878
5879 case symbol_kind::S_BOOLEAN: // "boolean"
5880 value.move< bool > (YY_MOVE (s.value));
5881 break;
5882
5883 case symbol_kind::S_FLOAT: // "floating point"
5884 value.move< double > (YY_MOVE (s.value));
5885 break;
5886
5887 case symbol_kind::S_INTEGER: // "integer"
5888 value.move< int64_t > (YY_MOVE (s.value));
5889 break;
5890
5891 case symbol_kind::S_STRING: // "constant string"
5892 value.move< std::string > (YY_MOVE (s.value));
5893 break;
5894
5895 default:
5896 break;
5897 }
5898
5899 location = YY_MOVE (s.location);
5900 }
5901
5902 // by_kind.
5903 inline
5905 : kind_ (symbol_kind::S_YYEMPTY)
5906 {}
5907
5908#if 201103L <= YY_CPLUSPLUS
5909 inline
5911 : kind_ (that.kind_)
5912 {
5913 that.clear ();
5914 }
5915#endif
5916
5917 inline
5919 : kind_ (that.kind_)
5920 {}
5921
5922 inline
5924 : kind_ (yytranslate_ (t))
5925 {}
5926
5927
5928
5929 inline
5930 void
5935
5936 inline
5937 void
5939 {
5940 kind_ = that.kind_;
5941 that.clear ();
5942 }
5943
5944 inline
5947 {
5948 return kind_;
5949 }
5950
5951
5952 inline
5955 {
5956 return this->kind ();
5957 }
5958
5959
5960#line 14 "dhcp4_parser.yy"
5961} } // isc::dhcp
5962#line 5963 "dhcp4_parser.h"
5963
5964
5965
5966
5967#endif // !YY_PARSER4_DHCP4_PARSER_H_INCLUDED
#define YY_RVREF(Type)
#define YY_MOVE_REF(Type)
#define YY_NOEXCEPT
#define YY_ATTRIBUTE_PURE
#define YY_MOVE
#define YY_NOTHROW
symbol_kind_type token() const YY_NOEXCEPT
const symbol_type & lookahead() const YY_NOEXCEPT
const location_type & location() const YY_NOEXCEPT
Present a slice of the top of a stack.
slice(const stack &stack, index_type range) YY_NOEXCEPT
A buffer to store and retrieve objects.
const T & as() const YY_NOEXCEPT
Const accessor to a built T (for printer).
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
void move(self_type &that)
Move the content of that to this.
T & emplace(const T &t)
Instantiate a T in here from t.
void destroy()
Destroy the stored T.
value_type() YY_NOEXCEPT
Empty construction.
void copy(const self_type &that)
Copy the content of that to this.
value_type self_type
Type of *this.
T & emplace()
Instantiate an empty T in here.
value_type(YY_RVREF(T) t)
Construct and fill.
T & build(const T &t)
Instantiate a T in here from t.
T & as() YY_NOEXCEPT
Accessor to a built T.
char yyraw_[size]
A buffer large enough to store any of the semantic values.
T & build()
Instantiate an empty T in here.
long double yyalign_me_
Strongest alignment constraints.
~value_type() YY_NOEXCEPT
Destruction, allowed only if empty.
static symbol_type make_SAME_AS_INBOUND(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE_ID(const location_type &l)
static symbol_type make_SUB_INTERFACES4(const location_type &l)
static symbol_type make_RETRY_ON_STARTUP(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_CLIENTS(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_MATCH_CLIENT_ID(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_HTTPS(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_MAX_RETRIES(const location_type &l)
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_SOCKET_ADDRESS(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_REQUIRE_ALL(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_SENDER_PORT(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_DDNS_TTL_MAX(const location_type &l)
static symbol_type make_CERT_REQUIRED(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_NO_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_POOL_ID(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_SERVER_HOSTNAME(const location_type &l)
static symbol_type make_IGNORE_DHCP_SERVER_ID(const location_type &l)
static symbol_type make_KEY_FILE(const location_type &l)
token::token_kind_type token_kind_type
Token kind, as returned by yylex.
static symbol_type make_TEST(const location_type &l)
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_CHECK_EXISTS_WITH_DHCID(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_USE_ROUTING(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_REALM(const location_type &l)
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_DDNS_TTL_PERCENT(const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
static symbol_type make_REBIND_TIMER(const location_type &l)
static symbol_type make_BOOT_FILE_NAME(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_IP_ADDRESSES(const location_type &l)
static symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type &l)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_ONLY_IN_ADDITIONAL_LIST(const location_type &l)
static symbol_type make_SUBNET4(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
static symbol_type make_SOCKET_PORT(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_UNIX(const location_type &l)
static symbol_type make_DDNS_TTL_MIN(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_DIRECTORY(const location_type &l)
static symbol_type make_EXCLUDE_FIRST_LAST_24(const location_type &l)
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_TEMPLATE_TEST(const location_type &l)
static symbol_type make_EARLY_GLOBAL_RESERVATIONS_LOOKUP(const location_type &l)
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
value_type semantic_type
Backward compatibility (Bison 3.8).
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_HTTP_HEADERS(const location_type &l)
static symbol_type make_AUTHENTICATION(const location_type &l)
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_IGNORE_RAI_LINK_SEL(const location_type &l)
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_PARSER4_UNDEF(const location_type &l)
static symbol_type make_CERT_FILE(const location_type &l)
static symbol_type make_ECHO_CLIENT_ID(const location_type &l)
static symbol_type make_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_CIPHER_LIST(const location_type &l)
location location_type
Symbol locations.
static symbol_type make_POOL(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_SUB_SUBNET4(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_READ_TIMEOUT(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_EXTENDED_INFO_CHECKS(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_EVALUATE_ADDITIONAL_CLASSES(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE(const location_type &l)
static symbol_type make_DHCP4(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
static symbol_type make_PARSER4_error(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_AUTHORITATIVE(const location_type &l)
static symbol_type make_TCP_USER_TIMEOUT(const location_type &l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_HTTP(const location_type &l)
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_DHCP_QUEUE_CONTROL(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_PASSWORD_FILE(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_NEXT_SERVER(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_RAW(const location_type &l)
static symbol_type make_OUTBOUND_INTERFACE(const location_type &l)
static const symbol_kind_type YYNTOKENS
The number of tokens.
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_SUB_POOL4(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
static symbol_type make_TRUST_ANCHOR(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_USER_FILE(const location_type &l)
static symbol_type make_ALLOCATOR(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_CLIENT_ID(const location_type &l)
static symbol_type make_OFFER_LFT(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_RESERVATIONS_LOOKUP_FIRST(const location_type &l)
static symbol_type make_CONTROL_SOCKETS(const location_type &l)
static symbol_type make_TOPLEVEL_DHCP4(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_VALUE(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_DHCP_SOCKET_TYPE(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_NO_CHECK_WITHOUT_DHCID(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
static symbol_type make_WRITE_TIMEOUT(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_DDNS_CONFLICT_RESOLUTION_MODE(const location_type &l)
static symbol_type make_SUB_DHCP4(const location_type &l)
static symbol_type make_SUBNET_4O6_SUBNET(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_NEVER_SEND(const location_type &l)
static symbol_type make_DDNS_TTL(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_BASIC(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_CIRCUIT_ID(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_RETRY_WAIT_TIME(const location_type &l)
static symbol_type make_STASH_AGENT_OPTIONS(const location_type &l)
static symbol_type make_LEASE_DATABASE(const location_type &l)
Evaluation context, an interface to the expression evaluation.
Forward declaration of the ParserContext class.
#define PARSER4__ASSERT
boost::shared_ptr< Element > ElementPtr
Definition data.h:28
@ error
Definition db_log.h:118
Defines the logger used by the top-level component of kea-lfc.
location_type location
The location.
basic_symbol(typename Base::kind_type t, const std::string &v, const location_type &l)
value_type value
The semantic value.
bool empty() const YY_NOEXCEPT
Whether empty.
basic_symbol(typename Base::kind_type t, const ElementPtr &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const location_type &l)
Constructors for typed symbols.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
basic_symbol(typename Base::kind_type t, const int64_t &v, const location_type &l)
basic_symbol() YY_NOEXCEPT
Default constructor.
basic_symbol(const basic_symbol &that)
Copy constructor.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
Type access provider for token (enum) based symbols.
token_kind_type kind_type
The symbol kind as needed by the constructor.
void move(by_kind &that)
Steal the symbol kind from that.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
symbol_kind_type kind_
The symbol kind.
void clear() YY_NOEXCEPT
Record that this symbol is empty.
by_kind() YY_NOEXCEPT
Default constructor.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
"External" symbols: returned by the scanner.
basic_symbol< by_kind > super_type
Superclass.
symbol_type() YY_NOEXCEPT
Empty symbol.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW
syntax_error(const syntax_error &s)
syntax_error(const location_type &l, const std::string &m)
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).