Kea 2.5.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 // db_type
435 // on_fail_mode
436 // hr_mode
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_LEASE_DATABASE = 291, // "lease-database"
537 TOKEN_HOSTS_DATABASE = 292, // "hosts-database"
538 TOKEN_HOSTS_DATABASES = 293, // "hosts-databases"
539 TOKEN_TYPE = 294, // "type"
540 TOKEN_MEMFILE = 295, // "memfile"
541 TOKEN_MYSQL = 296, // "mysql"
542 TOKEN_POSTGRESQL = 297, // "postgresql"
543 TOKEN_USER = 298, // "user"
544 TOKEN_PASSWORD = 299, // "password"
545 TOKEN_HOST = 300, // "host"
546 TOKEN_PORT = 301, // "port"
547 TOKEN_PERSIST = 302, // "persist"
548 TOKEN_LFC_INTERVAL = 303, // "lfc-interval"
549 TOKEN_READONLY = 304, // "readonly"
550 TOKEN_CONNECT_TIMEOUT = 305, // "connect-timeout"
551 TOKEN_READ_TIMEOUT = 306, // "read-timeout"
552 TOKEN_WRITE_TIMEOUT = 307, // "write-timeout"
553 TOKEN_TCP_USER_TIMEOUT = 308, // "tcp-user-timeout"
554 TOKEN_MAX_RECONNECT_TRIES = 309, // "max-reconnect-tries"
555 TOKEN_RECONNECT_WAIT_TIME = 310, // "reconnect-wait-time"
556 TOKEN_ON_FAIL = 311, // "on-fail"
557 TOKEN_STOP_RETRY_EXIT = 312, // "stop-retry-exit"
558 TOKEN_SERVE_RETRY_EXIT = 313, // "serve-retry-exit"
559 TOKEN_SERVE_RETRY_CONTINUE = 314, // "serve-retry-continue"
560 TOKEN_RETRY_ON_STARTUP = 315, // "retry-on-startup"
561 TOKEN_MAX_ROW_ERRORS = 316, // "max-row-errors"
562 TOKEN_TRUST_ANCHOR = 317, // "trust-anchor"
563 TOKEN_CERT_FILE = 318, // "cert-file"
564 TOKEN_KEY_FILE = 319, // "key-file"
565 TOKEN_CIPHER_LIST = 320, // "cipher-list"
566 TOKEN_VALID_LIFETIME = 321, // "valid-lifetime"
567 TOKEN_MIN_VALID_LIFETIME = 322, // "min-valid-lifetime"
568 TOKEN_MAX_VALID_LIFETIME = 323, // "max-valid-lifetime"
569 TOKEN_RENEW_TIMER = 324, // "renew-timer"
570 TOKEN_REBIND_TIMER = 325, // "rebind-timer"
571 TOKEN_CALCULATE_TEE_TIMES = 326, // "calculate-tee-times"
572 TOKEN_T1_PERCENT = 327, // "t1-percent"
573 TOKEN_T2_PERCENT = 328, // "t2-percent"
574 TOKEN_CACHE_THRESHOLD = 329, // "cache-threshold"
575 TOKEN_CACHE_MAX_AGE = 330, // "cache-max-age"
576 TOKEN_DECLINE_PROBATION_PERIOD = 331, // "decline-probation-period"
577 TOKEN_SERVER_TAG = 332, // "server-tag"
578 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 333, // "statistic-default-sample-count"
579 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 334, // "statistic-default-sample-age"
580 TOKEN_DDNS_SEND_UPDATES = 335, // "ddns-send-updates"
581 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 336, // "ddns-override-no-update"
582 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 337, // "ddns-override-client-update"
583 TOKEN_DDNS_REPLACE_CLIENT_NAME = 338, // "ddns-replace-client-name"
584 TOKEN_DDNS_GENERATED_PREFIX = 339, // "ddns-generated-prefix"
585 TOKEN_DDNS_QUALIFYING_SUFFIX = 340, // "ddns-qualifying-suffix"
586 TOKEN_DDNS_UPDATE_ON_RENEW = 341, // "ddns-update-on-renew"
587 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 342, // "ddns-use-conflict-resolution"
588 TOKEN_DDNS_TTL_PERCENT = 343, // "ddns-ttl-percent"
589 TOKEN_STORE_EXTENDED_INFO = 344, // "store-extended-info"
590 TOKEN_SUBNET4 = 345, // "subnet4"
591 TOKEN_SUBNET_4O6_INTERFACE = 346, // "4o6-interface"
592 TOKEN_SUBNET_4O6_INTERFACE_ID = 347, // "4o6-interface-id"
593 TOKEN_SUBNET_4O6_SUBNET = 348, // "4o6-subnet"
594 TOKEN_OPTION_DEF = 349, // "option-def"
595 TOKEN_OPTION_DATA = 350, // "option-data"
596 TOKEN_NAME = 351, // "name"
597 TOKEN_DATA = 352, // "data"
598 TOKEN_CODE = 353, // "code"
599 TOKEN_SPACE = 354, // "space"
600 TOKEN_CSV_FORMAT = 355, // "csv-format"
601 TOKEN_ALWAYS_SEND = 356, // "always-send"
602 TOKEN_NEVER_SEND = 357, // "never-send"
603 TOKEN_RECORD_TYPES = 358, // "record-types"
604 TOKEN_ENCAPSULATE = 359, // "encapsulate"
605 TOKEN_ARRAY = 360, // "array"
606 TOKEN_PARKED_PACKET_LIMIT = 361, // "parked-packet-limit"
607 TOKEN_ALLOCATOR = 362, // "allocator"
608 TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 363, // "ddns-conflict-resolution-mode"
609 TOKEN_CHECK_WITH_DHCID = 364, // "check-with-dhcid"
610 TOKEN_NO_CHECK_WITH_DHCID = 365, // "no-check-with-dhcid"
611 TOKEN_CHECK_EXISTS_WITH_DHCID = 366, // "check-exists-with-dhcid"
612 TOKEN_NO_CHECK_WITHOUT_DHCID = 367, // "no-check-without-dhcid"
613 TOKEN_SHARED_NETWORKS = 368, // "shared-networks"
614 TOKEN_POOLS = 369, // "pools"
615 TOKEN_POOL = 370, // "pool"
616 TOKEN_USER_CONTEXT = 371, // "user-context"
617 TOKEN_COMMENT = 372, // "comment"
618 TOKEN_SUBNET = 373, // "subnet"
619 TOKEN_INTERFACE = 374, // "interface"
620 TOKEN_ID = 375, // "id"
621 TOKEN_RESERVATION_MODE = 376, // "reservation-mode"
622 TOKEN_DISABLED = 377, // "disabled"
623 TOKEN_OUT_OF_POOL = 378, // "out-of-pool"
624 TOKEN_GLOBAL = 379, // "global"
625 TOKEN_ALL = 380, // "all"
626 TOKEN_RESERVATIONS_GLOBAL = 381, // "reservations-global"
627 TOKEN_RESERVATIONS_IN_SUBNET = 382, // "reservations-in-subnet"
628 TOKEN_RESERVATIONS_OUT_OF_POOL = 383, // "reservations-out-of-pool"
629 TOKEN_HOST_RESERVATION_IDENTIFIERS = 384, // "host-reservation-identifiers"
630 TOKEN_CLIENT_CLASSES = 385, // "client-classes"
631 TOKEN_REQUIRE_CLIENT_CLASSES = 386, // "require-client-classes"
632 TOKEN_TEST = 387, // "test"
633 TOKEN_TEMPLATE_TEST = 388, // "template-test"
634 TOKEN_ONLY_IF_REQUIRED = 389, // "only-if-required"
635 TOKEN_CLIENT_CLASS = 390, // "client-class"
636 TOKEN_POOL_ID = 391, // "pool-id"
637 TOKEN_RESERVATIONS = 392, // "reservations"
638 TOKEN_DUID = 393, // "duid"
639 TOKEN_HW_ADDRESS = 394, // "hw-address"
640 TOKEN_CIRCUIT_ID = 395, // "circuit-id"
641 TOKEN_CLIENT_ID = 396, // "client-id"
642 TOKEN_HOSTNAME = 397, // "hostname"
643 TOKEN_FLEX_ID = 398, // "flex-id"
644 TOKEN_RELAY = 399, // "relay"
645 TOKEN_IP_ADDRESS = 400, // "ip-address"
646 TOKEN_IP_ADDRESSES = 401, // "ip-addresses"
647 TOKEN_HOOKS_LIBRARIES = 402, // "hooks-libraries"
648 TOKEN_LIBRARY = 403, // "library"
649 TOKEN_PARAMETERS = 404, // "parameters"
650 TOKEN_EXPIRED_LEASES_PROCESSING = 405, // "expired-leases-processing"
651 TOKEN_RECLAIM_TIMER_WAIT_TIME = 406, // "reclaim-timer-wait-time"
652 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 407, // "flush-reclaimed-timer-wait-time"
653 TOKEN_HOLD_RECLAIMED_TIME = 408, // "hold-reclaimed-time"
654 TOKEN_MAX_RECLAIM_LEASES = 409, // "max-reclaim-leases"
655 TOKEN_MAX_RECLAIM_TIME = 410, // "max-reclaim-time"
656 TOKEN_UNWARNED_RECLAIM_CYCLES = 411, // "unwarned-reclaim-cycles"
657 TOKEN_DHCP4O6_PORT = 412, // "dhcp4o6-port"
658 TOKEN_DHCP_MULTI_THREADING = 413, // "multi-threading"
659 TOKEN_ENABLE_MULTI_THREADING = 414, // "enable-multi-threading"
660 TOKEN_THREAD_POOL_SIZE = 415, // "thread-pool-size"
661 TOKEN_PACKET_QUEUE_SIZE = 416, // "packet-queue-size"
662 TOKEN_CONTROL_SOCKET = 417, // "control-socket"
663 TOKEN_SOCKET_TYPE = 418, // "socket-type"
664 TOKEN_SOCKET_NAME = 419, // "socket-name"
665 TOKEN_DHCP_QUEUE_CONTROL = 420, // "dhcp-queue-control"
666 TOKEN_ENABLE_QUEUE = 421, // "enable-queue"
667 TOKEN_QUEUE_TYPE = 422, // "queue-type"
668 TOKEN_CAPACITY = 423, // "capacity"
669 TOKEN_DHCP_DDNS = 424, // "dhcp-ddns"
670 TOKEN_ENABLE_UPDATES = 425, // "enable-updates"
671 TOKEN_QUALIFYING_SUFFIX = 426, // "qualifying-suffix"
672 TOKEN_SERVER_IP = 427, // "server-ip"
673 TOKEN_SERVER_PORT = 428, // "server-port"
674 TOKEN_SENDER_IP = 429, // "sender-ip"
675 TOKEN_SENDER_PORT = 430, // "sender-port"
676 TOKEN_MAX_QUEUE_SIZE = 431, // "max-queue-size"
677 TOKEN_NCR_PROTOCOL = 432, // "ncr-protocol"
678 TOKEN_NCR_FORMAT = 433, // "ncr-format"
679 TOKEN_OVERRIDE_NO_UPDATE = 434, // "override-no-update"
680 TOKEN_OVERRIDE_CLIENT_UPDATE = 435, // "override-client-update"
681 TOKEN_REPLACE_CLIENT_NAME = 436, // "replace-client-name"
682 TOKEN_GENERATED_PREFIX = 437, // "generated-prefix"
683 TOKEN_TCP = 438, // "tcp"
684 TOKEN_JSON = 439, // "JSON"
685 TOKEN_WHEN_PRESENT = 440, // "when-present"
686 TOKEN_NEVER = 441, // "never"
687 TOKEN_ALWAYS = 442, // "always"
688 TOKEN_WHEN_NOT_PRESENT = 443, // "when-not-present"
689 TOKEN_HOSTNAME_CHAR_SET = 444, // "hostname-char-set"
690 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 445, // "hostname-char-replacement"
691 TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 446, // "early-global-reservations-lookup"
692 TOKEN_IP_RESERVATIONS_UNIQUE = 447, // "ip-reservations-unique"
693 TOKEN_RESERVATIONS_LOOKUP_FIRST = 448, // "reservations-lookup-first"
694 TOKEN_LOGGERS = 449, // "loggers"
695 TOKEN_OUTPUT_OPTIONS = 450, // "output-options"
696 TOKEN_OUTPUT = 451, // "output"
697 TOKEN_DEBUGLEVEL = 452, // "debuglevel"
698 TOKEN_SEVERITY = 453, // "severity"
699 TOKEN_FLUSH = 454, // "flush"
700 TOKEN_MAXSIZE = 455, // "maxsize"
701 TOKEN_MAXVER = 456, // "maxver"
702 TOKEN_PATTERN = 457, // "pattern"
703 TOKEN_COMPATIBILITY = 458, // "compatibility"
704 TOKEN_LENIENT_OPTION_PARSING = 459, // "lenient-option-parsing"
705 TOKEN_IGNORE_DHCP_SERVER_ID = 460, // "ignore-dhcp-server-identifier"
706 TOKEN_IGNORE_RAI_LINK_SEL = 461, // "ignore-rai-link-selection"
707 TOKEN_EXCLUDE_FIRST_LAST_24 = 462, // "exclude-first-last-24"
708 TOKEN_TOPLEVEL_JSON = 463, // TOPLEVEL_JSON
709 TOKEN_TOPLEVEL_DHCP4 = 464, // TOPLEVEL_DHCP4
710 TOKEN_SUB_DHCP4 = 465, // SUB_DHCP4
711 TOKEN_SUB_INTERFACES4 = 466, // SUB_INTERFACES4
712 TOKEN_SUB_SUBNET4 = 467, // SUB_SUBNET4
713 TOKEN_SUB_POOL4 = 468, // SUB_POOL4
714 TOKEN_SUB_RESERVATION = 469, // SUB_RESERVATION
715 TOKEN_SUB_OPTION_DEFS = 470, // SUB_OPTION_DEFS
716 TOKEN_SUB_OPTION_DEF = 471, // SUB_OPTION_DEF
717 TOKEN_SUB_OPTION_DATA = 472, // SUB_OPTION_DATA
718 TOKEN_SUB_HOOKS_LIBRARY = 473, // SUB_HOOKS_LIBRARY
719 TOKEN_SUB_DHCP_DDNS = 474, // SUB_DHCP_DDNS
720 TOKEN_SUB_CONFIG_CONTROL = 475, // SUB_CONFIG_CONTROL
721 TOKEN_STRING = 476, // "constant string"
722 TOKEN_INTEGER = 477, // "integer"
723 TOKEN_FLOAT = 478, // "floating point"
724 TOKEN_BOOLEAN = 479 // "boolean"
725 };
728 };
729
732
735
738 {
740 {
741 YYNTOKENS = 225,
742 S_YYEMPTY = -2,
743 S_YYEOF = 0, // "end of file"
744 S_YYerror = 1, // error
745 S_YYUNDEF = 2, // "invalid token"
746 S_COMMA = 3, // ","
747 S_COLON = 4, // ":"
748 S_LSQUARE_BRACKET = 5, // "["
749 S_RSQUARE_BRACKET = 6, // "]"
750 S_LCURLY_BRACKET = 7, // "{"
751 S_RCURLY_BRACKET = 8, // "}"
752 S_NULL_TYPE = 9, // "null"
753 S_DHCP4 = 10, // "Dhcp4"
754 S_CONFIG_CONTROL = 11, // "config-control"
755 S_CONFIG_DATABASES = 12, // "config-databases"
756 S_CONFIG_FETCH_WAIT_TIME = 13, // "config-fetch-wait-time"
757 S_INTERFACES_CONFIG = 14, // "interfaces-config"
758 S_INTERFACES = 15, // "interfaces"
759 S_DHCP_SOCKET_TYPE = 16, // "dhcp-socket-type"
760 S_RAW = 17, // "raw"
761 S_UDP = 18, // "udp"
762 S_OUTBOUND_INTERFACE = 19, // "outbound-interface"
763 S_SAME_AS_INBOUND = 20, // "same-as-inbound"
764 S_USE_ROUTING = 21, // "use-routing"
765 S_RE_DETECT = 22, // "re-detect"
766 S_SERVICE_SOCKETS_REQUIRE_ALL = 23, // "service-sockets-require-all"
767 S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 24, // "service-sockets-retry-wait-time"
768 S_SERVICE_SOCKETS_MAX_RETRIES = 25, // "service-sockets-max-retries"
769 S_SANITY_CHECKS = 26, // "sanity-checks"
770 S_LEASE_CHECKS = 27, // "lease-checks"
771 S_EXTENDED_INFO_CHECKS = 28, // "extended-info-checks"
772 S_ECHO_CLIENT_ID = 29, // "echo-client-id"
773 S_MATCH_CLIENT_ID = 30, // "match-client-id"
774 S_AUTHORITATIVE = 31, // "authoritative"
775 S_NEXT_SERVER = 32, // "next-server"
776 S_SERVER_HOSTNAME = 33, // "server-hostname"
777 S_BOOT_FILE_NAME = 34, // "boot-file-name"
778 S_OFFER_LFT = 35, // "offer-lifetime"
779 S_LEASE_DATABASE = 36, // "lease-database"
780 S_HOSTS_DATABASE = 37, // "hosts-database"
781 S_HOSTS_DATABASES = 38, // "hosts-databases"
782 S_TYPE = 39, // "type"
783 S_MEMFILE = 40, // "memfile"
784 S_MYSQL = 41, // "mysql"
785 S_POSTGRESQL = 42, // "postgresql"
786 S_USER = 43, // "user"
787 S_PASSWORD = 44, // "password"
788 S_HOST = 45, // "host"
789 S_PORT = 46, // "port"
790 S_PERSIST = 47, // "persist"
791 S_LFC_INTERVAL = 48, // "lfc-interval"
792 S_READONLY = 49, // "readonly"
793 S_CONNECT_TIMEOUT = 50, // "connect-timeout"
794 S_READ_TIMEOUT = 51, // "read-timeout"
795 S_WRITE_TIMEOUT = 52, // "write-timeout"
796 S_TCP_USER_TIMEOUT = 53, // "tcp-user-timeout"
797 S_MAX_RECONNECT_TRIES = 54, // "max-reconnect-tries"
798 S_RECONNECT_WAIT_TIME = 55, // "reconnect-wait-time"
799 S_ON_FAIL = 56, // "on-fail"
800 S_STOP_RETRY_EXIT = 57, // "stop-retry-exit"
801 S_SERVE_RETRY_EXIT = 58, // "serve-retry-exit"
802 S_SERVE_RETRY_CONTINUE = 59, // "serve-retry-continue"
803 S_RETRY_ON_STARTUP = 60, // "retry-on-startup"
804 S_MAX_ROW_ERRORS = 61, // "max-row-errors"
805 S_TRUST_ANCHOR = 62, // "trust-anchor"
806 S_CERT_FILE = 63, // "cert-file"
807 S_KEY_FILE = 64, // "key-file"
808 S_CIPHER_LIST = 65, // "cipher-list"
809 S_VALID_LIFETIME = 66, // "valid-lifetime"
810 S_MIN_VALID_LIFETIME = 67, // "min-valid-lifetime"
811 S_MAX_VALID_LIFETIME = 68, // "max-valid-lifetime"
812 S_RENEW_TIMER = 69, // "renew-timer"
813 S_REBIND_TIMER = 70, // "rebind-timer"
814 S_CALCULATE_TEE_TIMES = 71, // "calculate-tee-times"
815 S_T1_PERCENT = 72, // "t1-percent"
816 S_T2_PERCENT = 73, // "t2-percent"
817 S_CACHE_THRESHOLD = 74, // "cache-threshold"
818 S_CACHE_MAX_AGE = 75, // "cache-max-age"
819 S_DECLINE_PROBATION_PERIOD = 76, // "decline-probation-period"
820 S_SERVER_TAG = 77, // "server-tag"
821 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 78, // "statistic-default-sample-count"
822 S_STATISTIC_DEFAULT_SAMPLE_AGE = 79, // "statistic-default-sample-age"
823 S_DDNS_SEND_UPDATES = 80, // "ddns-send-updates"
824 S_DDNS_OVERRIDE_NO_UPDATE = 81, // "ddns-override-no-update"
825 S_DDNS_OVERRIDE_CLIENT_UPDATE = 82, // "ddns-override-client-update"
826 S_DDNS_REPLACE_CLIENT_NAME = 83, // "ddns-replace-client-name"
827 S_DDNS_GENERATED_PREFIX = 84, // "ddns-generated-prefix"
828 S_DDNS_QUALIFYING_SUFFIX = 85, // "ddns-qualifying-suffix"
829 S_DDNS_UPDATE_ON_RENEW = 86, // "ddns-update-on-renew"
830 S_DDNS_USE_CONFLICT_RESOLUTION = 87, // "ddns-use-conflict-resolution"
831 S_DDNS_TTL_PERCENT = 88, // "ddns-ttl-percent"
832 S_STORE_EXTENDED_INFO = 89, // "store-extended-info"
833 S_SUBNET4 = 90, // "subnet4"
834 S_SUBNET_4O6_INTERFACE = 91, // "4o6-interface"
835 S_SUBNET_4O6_INTERFACE_ID = 92, // "4o6-interface-id"
836 S_SUBNET_4O6_SUBNET = 93, // "4o6-subnet"
837 S_OPTION_DEF = 94, // "option-def"
838 S_OPTION_DATA = 95, // "option-data"
839 S_NAME = 96, // "name"
840 S_DATA = 97, // "data"
841 S_CODE = 98, // "code"
842 S_SPACE = 99, // "space"
843 S_CSV_FORMAT = 100, // "csv-format"
844 S_ALWAYS_SEND = 101, // "always-send"
845 S_NEVER_SEND = 102, // "never-send"
846 S_RECORD_TYPES = 103, // "record-types"
847 S_ENCAPSULATE = 104, // "encapsulate"
848 S_ARRAY = 105, // "array"
849 S_PARKED_PACKET_LIMIT = 106, // "parked-packet-limit"
850 S_ALLOCATOR = 107, // "allocator"
851 S_DDNS_CONFLICT_RESOLUTION_MODE = 108, // "ddns-conflict-resolution-mode"
852 S_CHECK_WITH_DHCID = 109, // "check-with-dhcid"
853 S_NO_CHECK_WITH_DHCID = 110, // "no-check-with-dhcid"
854 S_CHECK_EXISTS_WITH_DHCID = 111, // "check-exists-with-dhcid"
855 S_NO_CHECK_WITHOUT_DHCID = 112, // "no-check-without-dhcid"
856 S_SHARED_NETWORKS = 113, // "shared-networks"
857 S_POOLS = 114, // "pools"
858 S_POOL = 115, // "pool"
859 S_USER_CONTEXT = 116, // "user-context"
860 S_COMMENT = 117, // "comment"
861 S_SUBNET = 118, // "subnet"
862 S_INTERFACE = 119, // "interface"
863 S_ID = 120, // "id"
864 S_RESERVATION_MODE = 121, // "reservation-mode"
865 S_DISABLED = 122, // "disabled"
866 S_OUT_OF_POOL = 123, // "out-of-pool"
867 S_GLOBAL = 124, // "global"
868 S_ALL = 125, // "all"
869 S_RESERVATIONS_GLOBAL = 126, // "reservations-global"
870 S_RESERVATIONS_IN_SUBNET = 127, // "reservations-in-subnet"
871 S_RESERVATIONS_OUT_OF_POOL = 128, // "reservations-out-of-pool"
872 S_HOST_RESERVATION_IDENTIFIERS = 129, // "host-reservation-identifiers"
873 S_CLIENT_CLASSES = 130, // "client-classes"
874 S_REQUIRE_CLIENT_CLASSES = 131, // "require-client-classes"
875 S_TEST = 132, // "test"
876 S_TEMPLATE_TEST = 133, // "template-test"
877 S_ONLY_IF_REQUIRED = 134, // "only-if-required"
878 S_CLIENT_CLASS = 135, // "client-class"
879 S_POOL_ID = 136, // "pool-id"
880 S_RESERVATIONS = 137, // "reservations"
881 S_DUID = 138, // "duid"
882 S_HW_ADDRESS = 139, // "hw-address"
883 S_CIRCUIT_ID = 140, // "circuit-id"
884 S_CLIENT_ID = 141, // "client-id"
885 S_HOSTNAME = 142, // "hostname"
886 S_FLEX_ID = 143, // "flex-id"
887 S_RELAY = 144, // "relay"
888 S_IP_ADDRESS = 145, // "ip-address"
889 S_IP_ADDRESSES = 146, // "ip-addresses"
890 S_HOOKS_LIBRARIES = 147, // "hooks-libraries"
891 S_LIBRARY = 148, // "library"
892 S_PARAMETERS = 149, // "parameters"
893 S_EXPIRED_LEASES_PROCESSING = 150, // "expired-leases-processing"
894 S_RECLAIM_TIMER_WAIT_TIME = 151, // "reclaim-timer-wait-time"
895 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 152, // "flush-reclaimed-timer-wait-time"
896 S_HOLD_RECLAIMED_TIME = 153, // "hold-reclaimed-time"
897 S_MAX_RECLAIM_LEASES = 154, // "max-reclaim-leases"
898 S_MAX_RECLAIM_TIME = 155, // "max-reclaim-time"
899 S_UNWARNED_RECLAIM_CYCLES = 156, // "unwarned-reclaim-cycles"
900 S_DHCP4O6_PORT = 157, // "dhcp4o6-port"
901 S_DHCP_MULTI_THREADING = 158, // "multi-threading"
902 S_ENABLE_MULTI_THREADING = 159, // "enable-multi-threading"
903 S_THREAD_POOL_SIZE = 160, // "thread-pool-size"
904 S_PACKET_QUEUE_SIZE = 161, // "packet-queue-size"
905 S_CONTROL_SOCKET = 162, // "control-socket"
906 S_SOCKET_TYPE = 163, // "socket-type"
907 S_SOCKET_NAME = 164, // "socket-name"
908 S_DHCP_QUEUE_CONTROL = 165, // "dhcp-queue-control"
909 S_ENABLE_QUEUE = 166, // "enable-queue"
910 S_QUEUE_TYPE = 167, // "queue-type"
911 S_CAPACITY = 168, // "capacity"
912 S_DHCP_DDNS = 169, // "dhcp-ddns"
913 S_ENABLE_UPDATES = 170, // "enable-updates"
914 S_QUALIFYING_SUFFIX = 171, // "qualifying-suffix"
915 S_SERVER_IP = 172, // "server-ip"
916 S_SERVER_PORT = 173, // "server-port"
917 S_SENDER_IP = 174, // "sender-ip"
918 S_SENDER_PORT = 175, // "sender-port"
919 S_MAX_QUEUE_SIZE = 176, // "max-queue-size"
920 S_NCR_PROTOCOL = 177, // "ncr-protocol"
921 S_NCR_FORMAT = 178, // "ncr-format"
922 S_OVERRIDE_NO_UPDATE = 179, // "override-no-update"
923 S_OVERRIDE_CLIENT_UPDATE = 180, // "override-client-update"
924 S_REPLACE_CLIENT_NAME = 181, // "replace-client-name"
925 S_GENERATED_PREFIX = 182, // "generated-prefix"
926 S_TCP = 183, // "tcp"
927 S_JSON = 184, // "JSON"
928 S_WHEN_PRESENT = 185, // "when-present"
929 S_NEVER = 186, // "never"
930 S_ALWAYS = 187, // "always"
931 S_WHEN_NOT_PRESENT = 188, // "when-not-present"
932 S_HOSTNAME_CHAR_SET = 189, // "hostname-char-set"
933 S_HOSTNAME_CHAR_REPLACEMENT = 190, // "hostname-char-replacement"
934 S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 191, // "early-global-reservations-lookup"
935 S_IP_RESERVATIONS_UNIQUE = 192, // "ip-reservations-unique"
936 S_RESERVATIONS_LOOKUP_FIRST = 193, // "reservations-lookup-first"
937 S_LOGGERS = 194, // "loggers"
938 S_OUTPUT_OPTIONS = 195, // "output-options"
939 S_OUTPUT = 196, // "output"
940 S_DEBUGLEVEL = 197, // "debuglevel"
941 S_SEVERITY = 198, // "severity"
942 S_FLUSH = 199, // "flush"
943 S_MAXSIZE = 200, // "maxsize"
944 S_MAXVER = 201, // "maxver"
945 S_PATTERN = 202, // "pattern"
946 S_COMPATIBILITY = 203, // "compatibility"
947 S_LENIENT_OPTION_PARSING = 204, // "lenient-option-parsing"
948 S_IGNORE_DHCP_SERVER_ID = 205, // "ignore-dhcp-server-identifier"
949 S_IGNORE_RAI_LINK_SEL = 206, // "ignore-rai-link-selection"
950 S_EXCLUDE_FIRST_LAST_24 = 207, // "exclude-first-last-24"
951 S_TOPLEVEL_JSON = 208, // TOPLEVEL_JSON
952 S_TOPLEVEL_DHCP4 = 209, // TOPLEVEL_DHCP4
953 S_SUB_DHCP4 = 210, // SUB_DHCP4
954 S_SUB_INTERFACES4 = 211, // SUB_INTERFACES4
955 S_SUB_SUBNET4 = 212, // SUB_SUBNET4
956 S_SUB_POOL4 = 213, // SUB_POOL4
957 S_SUB_RESERVATION = 214, // SUB_RESERVATION
958 S_SUB_OPTION_DEFS = 215, // SUB_OPTION_DEFS
959 S_SUB_OPTION_DEF = 216, // SUB_OPTION_DEF
960 S_SUB_OPTION_DATA = 217, // SUB_OPTION_DATA
961 S_SUB_HOOKS_LIBRARY = 218, // SUB_HOOKS_LIBRARY
962 S_SUB_DHCP_DDNS = 219, // SUB_DHCP_DDNS
963 S_SUB_CONFIG_CONTROL = 220, // SUB_CONFIG_CONTROL
964 S_STRING = 221, // "constant string"
965 S_INTEGER = 222, // "integer"
966 S_FLOAT = 223, // "floating point"
967 S_BOOLEAN = 224, // "boolean"
968 S_YYACCEPT = 225, // $accept
969 S_start = 226, // start
970 S_227_1 = 227, // $@1
971 S_228_2 = 228, // $@2
972 S_229_3 = 229, // $@3
973 S_230_4 = 230, // $@4
974 S_231_5 = 231, // $@5
975 S_232_6 = 232, // $@6
976 S_233_7 = 233, // $@7
977 S_234_8 = 234, // $@8
978 S_235_9 = 235, // $@9
979 S_236_10 = 236, // $@10
980 S_237_11 = 237, // $@11
981 S_238_12 = 238, // $@12
982 S_239_13 = 239, // $@13
983 S_value = 240, // value
984 S_sub_json = 241, // sub_json
985 S_map2 = 242, // map2
986 S_243_14 = 243, // $@14
987 S_map_value = 244, // map_value
988 S_map_content = 245, // map_content
989 S_not_empty_map = 246, // not_empty_map
990 S_list_generic = 247, // list_generic
991 S_248_15 = 248, // $@15
992 S_list_content = 249, // list_content
993 S_not_empty_list = 250, // not_empty_list
994 S_list_strings = 251, // list_strings
995 S_252_16 = 252, // $@16
996 S_list_strings_content = 253, // list_strings_content
997 S_not_empty_list_strings = 254, // not_empty_list_strings
998 S_unknown_map_entry = 255, // unknown_map_entry
999 S_syntax_map = 256, // syntax_map
1000 S_257_17 = 257, // $@17
1001 S_global_object = 258, // global_object
1002 S_259_18 = 259, // $@18
1003 S_global_object_comma = 260, // global_object_comma
1004 S_sub_dhcp4 = 261, // sub_dhcp4
1005 S_262_19 = 262, // $@19
1006 S_global_params = 263, // global_params
1007 S_global_param = 264, // global_param
1008 S_valid_lifetime = 265, // valid_lifetime
1009 S_min_valid_lifetime = 266, // min_valid_lifetime
1010 S_max_valid_lifetime = 267, // max_valid_lifetime
1011 S_renew_timer = 268, // renew_timer
1012 S_rebind_timer = 269, // rebind_timer
1013 S_calculate_tee_times = 270, // calculate_tee_times
1014 S_t1_percent = 271, // t1_percent
1015 S_t2_percent = 272, // t2_percent
1016 S_cache_threshold = 273, // cache_threshold
1017 S_cache_max_age = 274, // cache_max_age
1018 S_decline_probation_period = 275, // decline_probation_period
1019 S_server_tag = 276, // server_tag
1020 S_277_20 = 277, // $@20
1021 S_parked_packet_limit = 278, // parked_packet_limit
1022 S_allocator = 279, // allocator
1023 S_280_21 = 280, // $@21
1024 S_echo_client_id = 281, // echo_client_id
1025 S_match_client_id = 282, // match_client_id
1026 S_authoritative = 283, // authoritative
1027 S_ddns_send_updates = 284, // ddns_send_updates
1028 S_ddns_override_no_update = 285, // ddns_override_no_update
1029 S_ddns_override_client_update = 286, // ddns_override_client_update
1030 S_ddns_replace_client_name = 287, // ddns_replace_client_name
1031 S_288_22 = 288, // $@22
1032 S_ddns_replace_client_name_value = 289, // ddns_replace_client_name_value
1033 S_ddns_generated_prefix = 290, // ddns_generated_prefix
1034 S_291_23 = 291, // $@23
1035 S_ddns_qualifying_suffix = 292, // ddns_qualifying_suffix
1036 S_293_24 = 293, // $@24
1037 S_ddns_update_on_renew = 294, // ddns_update_on_renew
1038 S_ddns_use_conflict_resolution = 295, // ddns_use_conflict_resolution
1039 S_ddns_conflict_resolution_mode = 296, // ddns_conflict_resolution_mode
1040 S_297_25 = 297, // $@25
1041 S_ddns_conflict_resolution_mode_value = 298, // ddns_conflict_resolution_mode_value
1042 S_ddns_ttl_percent = 299, // ddns_ttl_percent
1043 S_hostname_char_set = 300, // hostname_char_set
1044 S_301_26 = 301, // $@26
1045 S_hostname_char_replacement = 302, // hostname_char_replacement
1046 S_303_27 = 303, // $@27
1047 S_store_extended_info = 304, // store_extended_info
1048 S_statistic_default_sample_count = 305, // statistic_default_sample_count
1049 S_statistic_default_sample_age = 306, // statistic_default_sample_age
1050 S_early_global_reservations_lookup = 307, // early_global_reservations_lookup
1051 S_ip_reservations_unique = 308, // ip_reservations_unique
1052 S_reservations_lookup_first = 309, // reservations_lookup_first
1053 S_offer_lifetime = 310, // offer_lifetime
1054 S_interfaces_config = 311, // interfaces_config
1055 S_312_28 = 312, // $@28
1056 S_interfaces_config_params = 313, // interfaces_config_params
1057 S_interfaces_config_param = 314, // interfaces_config_param
1058 S_sub_interfaces4 = 315, // sub_interfaces4
1059 S_316_29 = 316, // $@29
1060 S_interfaces_list = 317, // interfaces_list
1061 S_318_30 = 318, // $@30
1062 S_dhcp_socket_type = 319, // dhcp_socket_type
1063 S_320_31 = 320, // $@31
1064 S_socket_type = 321, // socket_type
1065 S_outbound_interface = 322, // outbound_interface
1066 S_323_32 = 323, // $@32
1067 S_outbound_interface_value = 324, // outbound_interface_value
1068 S_re_detect = 325, // re_detect
1069 S_service_sockets_require_all = 326, // service_sockets_require_all
1070 S_service_sockets_retry_wait_time = 327, // service_sockets_retry_wait_time
1071 S_service_sockets_max_retries = 328, // service_sockets_max_retries
1072 S_lease_database = 329, // lease_database
1073 S_330_33 = 330, // $@33
1074 S_sanity_checks = 331, // sanity_checks
1075 S_332_34 = 332, // $@34
1076 S_sanity_checks_params = 333, // sanity_checks_params
1077 S_sanity_checks_param = 334, // sanity_checks_param
1078 S_lease_checks = 335, // lease_checks
1079 S_336_35 = 336, // $@35
1080 S_extended_info_checks = 337, // extended_info_checks
1081 S_338_36 = 338, // $@36
1082 S_hosts_database = 339, // hosts_database
1083 S_340_37 = 340, // $@37
1084 S_hosts_databases = 341, // hosts_databases
1085 S_342_38 = 342, // $@38
1086 S_database_list = 343, // database_list
1087 S_not_empty_database_list = 344, // not_empty_database_list
1088 S_database = 345, // database
1089 S_346_39 = 346, // $@39
1090 S_database_map_params = 347, // database_map_params
1091 S_database_map_param = 348, // database_map_param
1092 S_database_type = 349, // database_type
1093 S_350_40 = 350, // $@40
1094 S_db_type = 351, // db_type
1095 S_user = 352, // user
1096 S_353_41 = 353, // $@41
1097 S_password = 354, // password
1098 S_355_42 = 355, // $@42
1099 S_host = 356, // host
1100 S_357_43 = 357, // $@43
1101 S_port = 358, // port
1102 S_name = 359, // name
1103 S_360_44 = 360, // $@44
1104 S_persist = 361, // persist
1105 S_lfc_interval = 362, // lfc_interval
1106 S_readonly = 363, // readonly
1107 S_connect_timeout = 364, // connect_timeout
1108 S_read_timeout = 365, // read_timeout
1109 S_write_timeout = 366, // write_timeout
1110 S_tcp_user_timeout = 367, // tcp_user_timeout
1111 S_max_reconnect_tries = 368, // max_reconnect_tries
1112 S_reconnect_wait_time = 369, // reconnect_wait_time
1113 S_on_fail = 370, // on_fail
1114 S_371_45 = 371, // $@45
1115 S_on_fail_mode = 372, // on_fail_mode
1116 S_retry_on_startup = 373, // retry_on_startup
1117 S_max_row_errors = 374, // max_row_errors
1118 S_trust_anchor = 375, // trust_anchor
1119 S_376_46 = 376, // $@46
1120 S_cert_file = 377, // cert_file
1121 S_378_47 = 378, // $@47
1122 S_key_file = 379, // key_file
1123 S_380_48 = 380, // $@48
1124 S_cipher_list = 381, // cipher_list
1125 S_382_49 = 382, // $@49
1126 S_host_reservation_identifiers = 383, // host_reservation_identifiers
1127 S_384_50 = 384, // $@50
1128 S_host_reservation_identifiers_list = 385, // host_reservation_identifiers_list
1129 S_host_reservation_identifier = 386, // host_reservation_identifier
1130 S_duid_id = 387, // duid_id
1131 S_hw_address_id = 388, // hw_address_id
1132 S_circuit_id = 389, // circuit_id
1133 S_client_id = 390, // client_id
1134 S_flex_id = 391, // flex_id
1135 S_dhcp_multi_threading = 392, // dhcp_multi_threading
1136 S_393_51 = 393, // $@51
1137 S_multi_threading_params = 394, // multi_threading_params
1138 S_multi_threading_param = 395, // multi_threading_param
1139 S_enable_multi_threading = 396, // enable_multi_threading
1140 S_thread_pool_size = 397, // thread_pool_size
1141 S_packet_queue_size = 398, // packet_queue_size
1142 S_hooks_libraries = 399, // hooks_libraries
1143 S_400_52 = 400, // $@52
1144 S_hooks_libraries_list = 401, // hooks_libraries_list
1145 S_not_empty_hooks_libraries_list = 402, // not_empty_hooks_libraries_list
1146 S_hooks_library = 403, // hooks_library
1147 S_404_53 = 404, // $@53
1148 S_sub_hooks_library = 405, // sub_hooks_library
1149 S_406_54 = 406, // $@54
1150 S_hooks_params = 407, // hooks_params
1151 S_hooks_param = 408, // hooks_param
1152 S_library = 409, // library
1153 S_410_55 = 410, // $@55
1154 S_parameters = 411, // parameters
1155 S_412_56 = 412, // $@56
1156 S_expired_leases_processing = 413, // expired_leases_processing
1157 S_414_57 = 414, // $@57
1158 S_expired_leases_params = 415, // expired_leases_params
1159 S_expired_leases_param = 416, // expired_leases_param
1160 S_reclaim_timer_wait_time = 417, // reclaim_timer_wait_time
1161 S_flush_reclaimed_timer_wait_time = 418, // flush_reclaimed_timer_wait_time
1162 S_hold_reclaimed_time = 419, // hold_reclaimed_time
1163 S_max_reclaim_leases = 420, // max_reclaim_leases
1164 S_max_reclaim_time = 421, // max_reclaim_time
1165 S_unwarned_reclaim_cycles = 422, // unwarned_reclaim_cycles
1166 S_subnet4_list = 423, // subnet4_list
1167 S_424_58 = 424, // $@58
1168 S_subnet4_list_content = 425, // subnet4_list_content
1169 S_not_empty_subnet4_list = 426, // not_empty_subnet4_list
1170 S_subnet4 = 427, // subnet4
1171 S_428_59 = 428, // $@59
1172 S_sub_subnet4 = 429, // sub_subnet4
1173 S_430_60 = 430, // $@60
1174 S_subnet4_params = 431, // subnet4_params
1175 S_subnet4_param = 432, // subnet4_param
1176 S_subnet = 433, // subnet
1177 S_434_61 = 434, // $@61
1178 S_subnet_4o6_interface = 435, // subnet_4o6_interface
1179 S_436_62 = 436, // $@62
1180 S_subnet_4o6_interface_id = 437, // subnet_4o6_interface_id
1181 S_438_63 = 438, // $@63
1182 S_subnet_4o6_subnet = 439, // subnet_4o6_subnet
1183 S_440_64 = 440, // $@64
1184 S_interface = 441, // interface
1185 S_442_65 = 442, // $@65
1186 S_client_class = 443, // client_class
1187 S_444_66 = 444, // $@66
1188 S_require_client_classes = 445, // require_client_classes
1189 S_446_67 = 446, // $@67
1190 S_reservations_global = 447, // reservations_global
1191 S_reservations_in_subnet = 448, // reservations_in_subnet
1192 S_reservations_out_of_pool = 449, // reservations_out_of_pool
1193 S_reservation_mode = 450, // reservation_mode
1194 S_451_68 = 451, // $@68
1195 S_hr_mode = 452, // hr_mode
1196 S_id = 453, // id
1197 S_shared_networks = 454, // shared_networks
1198 S_455_69 = 455, // $@69
1199 S_shared_networks_content = 456, // shared_networks_content
1200 S_shared_networks_list = 457, // shared_networks_list
1201 S_shared_network = 458, // shared_network
1202 S_459_70 = 459, // $@70
1203 S_shared_network_params = 460, // shared_network_params
1204 S_shared_network_param = 461, // shared_network_param
1205 S_option_def_list = 462, // option_def_list
1206 S_463_71 = 463, // $@71
1207 S_sub_option_def_list = 464, // sub_option_def_list
1208 S_465_72 = 465, // $@72
1209 S_option_def_list_content = 466, // option_def_list_content
1210 S_not_empty_option_def_list = 467, // not_empty_option_def_list
1211 S_option_def_entry = 468, // option_def_entry
1212 S_469_73 = 469, // $@73
1213 S_sub_option_def = 470, // sub_option_def
1214 S_471_74 = 471, // $@74
1215 S_option_def_params = 472, // option_def_params
1216 S_not_empty_option_def_params = 473, // not_empty_option_def_params
1217 S_option_def_param = 474, // option_def_param
1218 S_option_def_name = 475, // option_def_name
1219 S_code = 476, // code
1220 S_option_def_code = 477, // option_def_code
1221 S_option_def_type = 478, // option_def_type
1222 S_479_75 = 479, // $@75
1223 S_option_def_record_types = 480, // option_def_record_types
1224 S_481_76 = 481, // $@76
1225 S_space = 482, // space
1226 S_483_77 = 483, // $@77
1227 S_option_def_space = 484, // option_def_space
1228 S_option_def_encapsulate = 485, // option_def_encapsulate
1229 S_486_78 = 486, // $@78
1230 S_option_def_array = 487, // option_def_array
1231 S_option_data_list = 488, // option_data_list
1232 S_489_79 = 489, // $@79
1233 S_option_data_list_content = 490, // option_data_list_content
1234 S_not_empty_option_data_list = 491, // not_empty_option_data_list
1235 S_option_data_entry = 492, // option_data_entry
1236 S_493_80 = 493, // $@80
1237 S_sub_option_data = 494, // sub_option_data
1238 S_495_81 = 495, // $@81
1239 S_option_data_params = 496, // option_data_params
1240 S_not_empty_option_data_params = 497, // not_empty_option_data_params
1241 S_option_data_param = 498, // option_data_param
1242 S_option_data_name = 499, // option_data_name
1243 S_option_data_data = 500, // option_data_data
1244 S_501_82 = 501, // $@82
1245 S_option_data_code = 502, // option_data_code
1246 S_option_data_space = 503, // option_data_space
1247 S_option_data_csv_format = 504, // option_data_csv_format
1248 S_option_data_always_send = 505, // option_data_always_send
1249 S_option_data_never_send = 506, // option_data_never_send
1250 S_pools_list = 507, // pools_list
1251 S_508_83 = 508, // $@83
1252 S_pools_list_content = 509, // pools_list_content
1253 S_not_empty_pools_list = 510, // not_empty_pools_list
1254 S_pool_list_entry = 511, // pool_list_entry
1255 S_512_84 = 512, // $@84
1256 S_sub_pool4 = 513, // sub_pool4
1257 S_514_85 = 514, // $@85
1258 S_pool_params = 515, // pool_params
1259 S_pool_param = 516, // pool_param
1260 S_pool_entry = 517, // pool_entry
1261 S_518_86 = 518, // $@86
1262 S_pool_id = 519, // pool_id
1263 S_user_context = 520, // user_context
1264 S_521_87 = 521, // $@87
1265 S_comment = 522, // comment
1266 S_523_88 = 523, // $@88
1267 S_reservations = 524, // reservations
1268 S_525_89 = 525, // $@89
1269 S_reservations_list = 526, // reservations_list
1270 S_not_empty_reservations_list = 527, // not_empty_reservations_list
1271 S_reservation = 528, // reservation
1272 S_529_90 = 529, // $@90
1273 S_sub_reservation = 530, // sub_reservation
1274 S_531_91 = 531, // $@91
1275 S_reservation_params = 532, // reservation_params
1276 S_not_empty_reservation_params = 533, // not_empty_reservation_params
1277 S_reservation_param = 534, // reservation_param
1278 S_next_server = 535, // next_server
1279 S_536_92 = 536, // $@92
1280 S_server_hostname = 537, // server_hostname
1281 S_538_93 = 538, // $@93
1282 S_boot_file_name = 539, // boot_file_name
1283 S_540_94 = 540, // $@94
1284 S_ip_address = 541, // ip_address
1285 S_542_95 = 542, // $@95
1286 S_ip_addresses = 543, // ip_addresses
1287 S_544_96 = 544, // $@96
1288 S_duid = 545, // duid
1289 S_546_97 = 546, // $@97
1290 S_hw_address = 547, // hw_address
1291 S_548_98 = 548, // $@98
1292 S_client_id_value = 549, // client_id_value
1293 S_550_99 = 550, // $@99
1294 S_circuit_id_value = 551, // circuit_id_value
1295 S_552_100 = 552, // $@100
1296 S_flex_id_value = 553, // flex_id_value
1297 S_554_101 = 554, // $@101
1298 S_hostname = 555, // hostname
1299 S_556_102 = 556, // $@102
1300 S_reservation_client_classes = 557, // reservation_client_classes
1301 S_558_103 = 558, // $@103
1302 S_relay = 559, // relay
1303 S_560_104 = 560, // $@104
1304 S_relay_map = 561, // relay_map
1305 S_client_classes = 562, // client_classes
1306 S_563_105 = 563, // $@105
1307 S_client_classes_list = 564, // client_classes_list
1308 S_client_class_entry = 565, // client_class_entry
1309 S_566_106 = 566, // $@106
1310 S_client_class_params = 567, // client_class_params
1311 S_not_empty_client_class_params = 568, // not_empty_client_class_params
1312 S_client_class_param = 569, // client_class_param
1313 S_client_class_name = 570, // client_class_name
1314 S_client_class_test = 571, // client_class_test
1315 S_572_107 = 572, // $@107
1316 S_client_class_template_test = 573, // client_class_template_test
1317 S_574_108 = 574, // $@108
1318 S_only_if_required = 575, // only_if_required
1319 S_dhcp4o6_port = 576, // dhcp4o6_port
1320 S_control_socket = 577, // control_socket
1321 S_578_109 = 578, // $@109
1322 S_control_socket_params = 579, // control_socket_params
1323 S_control_socket_param = 580, // control_socket_param
1324 S_control_socket_type = 581, // control_socket_type
1325 S_582_110 = 582, // $@110
1326 S_control_socket_name = 583, // control_socket_name
1327 S_584_111 = 584, // $@111
1328 S_dhcp_queue_control = 585, // dhcp_queue_control
1329 S_586_112 = 586, // $@112
1330 S_queue_control_params = 587, // queue_control_params
1331 S_queue_control_param = 588, // queue_control_param
1332 S_enable_queue = 589, // enable_queue
1333 S_queue_type = 590, // queue_type
1334 S_591_113 = 591, // $@113
1335 S_capacity = 592, // capacity
1336 S_arbitrary_map_entry = 593, // arbitrary_map_entry
1337 S_594_114 = 594, // $@114
1338 S_dhcp_ddns = 595, // dhcp_ddns
1339 S_596_115 = 596, // $@115
1340 S_sub_dhcp_ddns = 597, // sub_dhcp_ddns
1341 S_598_116 = 598, // $@116
1342 S_dhcp_ddns_params = 599, // dhcp_ddns_params
1343 S_dhcp_ddns_param = 600, // dhcp_ddns_param
1344 S_enable_updates = 601, // enable_updates
1345 S_server_ip = 602, // server_ip
1346 S_603_117 = 603, // $@117
1347 S_server_port = 604, // server_port
1348 S_sender_ip = 605, // sender_ip
1349 S_606_118 = 606, // $@118
1350 S_sender_port = 607, // sender_port
1351 S_max_queue_size = 608, // max_queue_size
1352 S_ncr_protocol = 609, // ncr_protocol
1353 S_610_119 = 610, // $@119
1354 S_ncr_protocol_value = 611, // ncr_protocol_value
1355 S_ncr_format = 612, // ncr_format
1356 S_613_120 = 613, // $@120
1357 S_dep_qualifying_suffix = 614, // dep_qualifying_suffix
1358 S_615_121 = 615, // $@121
1359 S_dep_override_no_update = 616, // dep_override_no_update
1360 S_dep_override_client_update = 617, // dep_override_client_update
1361 S_dep_replace_client_name = 618, // dep_replace_client_name
1362 S_619_122 = 619, // $@122
1363 S_dep_generated_prefix = 620, // dep_generated_prefix
1364 S_621_123 = 621, // $@123
1365 S_dep_hostname_char_set = 622, // dep_hostname_char_set
1366 S_623_124 = 623, // $@124
1367 S_dep_hostname_char_replacement = 624, // dep_hostname_char_replacement
1368 S_625_125 = 625, // $@125
1369 S_config_control = 626, // config_control
1370 S_627_126 = 627, // $@126
1371 S_sub_config_control = 628, // sub_config_control
1372 S_629_127 = 629, // $@127
1373 S_config_control_params = 630, // config_control_params
1374 S_config_control_param = 631, // config_control_param
1375 S_config_databases = 632, // config_databases
1376 S_633_128 = 633, // $@128
1377 S_config_fetch_wait_time = 634, // config_fetch_wait_time
1378 S_loggers = 635, // loggers
1379 S_636_129 = 636, // $@129
1380 S_loggers_entries = 637, // loggers_entries
1381 S_logger_entry = 638, // logger_entry
1382 S_639_130 = 639, // $@130
1383 S_logger_params = 640, // logger_params
1384 S_logger_param = 641, // logger_param
1385 S_debuglevel = 642, // debuglevel
1386 S_severity = 643, // severity
1387 S_644_131 = 644, // $@131
1388 S_output_options_list = 645, // output_options_list
1389 S_646_132 = 646, // $@132
1390 S_output_options_list_content = 647, // output_options_list_content
1391 S_output_entry = 648, // output_entry
1392 S_649_133 = 649, // $@133
1393 S_output_params_list = 650, // output_params_list
1394 S_output_params = 651, // output_params
1395 S_output = 652, // output
1396 S_653_134 = 653, // $@134
1397 S_flush = 654, // flush
1398 S_maxsize = 655, // maxsize
1399 S_maxver = 656, // maxver
1400 S_pattern = 657, // pattern
1401 S_658_135 = 658, // $@135
1402 S_compatibility = 659, // compatibility
1403 S_660_136 = 660, // $@136
1404 S_compatibility_params = 661, // compatibility_params
1405 S_compatibility_param = 662, // compatibility_param
1406 S_lenient_option_parsing = 663, // lenient_option_parsing
1407 S_ignore_dhcp_server_identifier = 664, // ignore_dhcp_server_identifier
1408 S_ignore_rai_link_selection = 665, // ignore_rai_link_selection
1409 S_exclude_first_last_24 = 666 // exclude_first_last_24
1411 };
1412
1415
1418
1425 template <typename Base>
1426 struct basic_symbol : Base
1427 {
1429 typedef Base super_type;
1430
1433 : value ()
1434 , location ()
1435 {}
1436
1437#if 201103L <= YY_CPLUSPLUS
1439 basic_symbol (basic_symbol&& that)
1440 : Base (std::move (that))
1441 , value ()
1442 , location (std::move (that.location))
1443 {
1444 switch (this->kind ())
1445 {
1446 case symbol_kind::S_value: // value
1447 case symbol_kind::S_map_value: // map_value
1448 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1449 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1450 case symbol_kind::S_socket_type: // socket_type
1451 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1452 case symbol_kind::S_db_type: // db_type
1453 case symbol_kind::S_on_fail_mode: // on_fail_mode
1454 case symbol_kind::S_hr_mode: // hr_mode
1455 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1456 value.move< ElementPtr > (std::move (that.value));
1457 break;
1458
1459 case symbol_kind::S_BOOLEAN: // "boolean"
1460 value.move< bool > (std::move (that.value));
1461 break;
1462
1463 case symbol_kind::S_FLOAT: // "floating point"
1464 value.move< double > (std::move (that.value));
1465 break;
1466
1467 case symbol_kind::S_INTEGER: // "integer"
1468 value.move< int64_t > (std::move (that.value));
1469 break;
1470
1471 case symbol_kind::S_STRING: // "constant string"
1472 value.move< std::string > (std::move (that.value));
1473 break;
1474
1475 default:
1476 break;
1477 }
1478
1479 }
1480#endif
1481
1483 basic_symbol (const basic_symbol& that);
1484
1486#if 201103L <= YY_CPLUSPLUS
1487 basic_symbol (typename Base::kind_type t, location_type&& l)
1488 : Base (t)
1489 , location (std::move (l))
1490 {}
1491#else
1492 basic_symbol (typename Base::kind_type t, const location_type& l)
1493 : Base (t)
1494 , location (l)
1495 {}
1496#endif
1497
1498#if 201103L <= YY_CPLUSPLUS
1499 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1500 : Base (t)
1501 , value (std::move (v))
1502 , location (std::move (l))
1503 {}
1504#else
1505 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1506 : Base (t)
1507 , value (v)
1508 , location (l)
1509 {}
1510#endif
1511
1512#if 201103L <= YY_CPLUSPLUS
1513 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1514 : Base (t)
1515 , value (std::move (v))
1516 , location (std::move (l))
1517 {}
1518#else
1519 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1520 : Base (t)
1521 , value (v)
1522 , location (l)
1523 {}
1524#endif
1525
1526#if 201103L <= YY_CPLUSPLUS
1527 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1528 : Base (t)
1529 , value (std::move (v))
1530 , location (std::move (l))
1531 {}
1532#else
1533 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1534 : Base (t)
1535 , value (v)
1536 , location (l)
1537 {}
1538#endif
1539
1540#if 201103L <= YY_CPLUSPLUS
1541 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1542 : Base (t)
1543 , value (std::move (v))
1544 , location (std::move (l))
1545 {}
1546#else
1547 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1548 : Base (t)
1549 , value (v)
1550 , location (l)
1551 {}
1552#endif
1553
1554#if 201103L <= YY_CPLUSPLUS
1555 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1556 : Base (t)
1557 , value (std::move (v))
1558 , location (std::move (l))
1559 {}
1560#else
1561 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1562 : Base (t)
1563 , value (v)
1564 , location (l)
1565 {}
1566#endif
1567
1570 {
1571 clear ();
1572 }
1573
1574
1575
1578 {
1579 // User destructor.
1580 symbol_kind_type yykind = this->kind ();
1581 basic_symbol<Base>& yysym = *this;
1582 (void) yysym;
1583 switch (yykind)
1584 {
1585 default:
1586 break;
1587 }
1588
1589 // Value type destructor.
1590switch (yykind)
1591 {
1592 case symbol_kind::S_value: // value
1593 case symbol_kind::S_map_value: // map_value
1594 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1595 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1596 case symbol_kind::S_socket_type: // socket_type
1597 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1598 case symbol_kind::S_db_type: // db_type
1599 case symbol_kind::S_on_fail_mode: // on_fail_mode
1600 case symbol_kind::S_hr_mode: // hr_mode
1601 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1602 value.template destroy< ElementPtr > ();
1603 break;
1604
1605 case symbol_kind::S_BOOLEAN: // "boolean"
1606 value.template destroy< bool > ();
1607 break;
1608
1609 case symbol_kind::S_FLOAT: // "floating point"
1610 value.template destroy< double > ();
1611 break;
1612
1613 case symbol_kind::S_INTEGER: // "integer"
1614 value.template destroy< int64_t > ();
1615 break;
1616
1617 case symbol_kind::S_STRING: // "constant string"
1618 value.template destroy< std::string > ();
1619 break;
1620
1621 default:
1622 break;
1623 }
1624
1625 Base::clear ();
1626 }
1627
1629 std::string name () const YY_NOEXCEPT
1630 {
1631 return Dhcp4Parser::symbol_name (this->kind ());
1632 }
1633
1635 symbol_kind_type type_get () const YY_NOEXCEPT;
1636
1638 bool empty () const YY_NOEXCEPT;
1639
1641 void move (basic_symbol& s);
1642
1645
1648
1649 private:
1650#if YY_CPLUSPLUS < 201103L
1652 basic_symbol& operator= (const basic_symbol& that);
1653#endif
1654 };
1655
1657 struct by_kind
1658 {
1661
1664
1665#if 201103L <= YY_CPLUSPLUS
1667 by_kind (by_kind&& that) YY_NOEXCEPT;
1668#endif
1669
1671 by_kind (const by_kind& that) YY_NOEXCEPT;
1672
1675
1676
1677
1679 void clear () YY_NOEXCEPT;
1680
1682 void move (by_kind& that);
1683
1686 symbol_kind_type kind () const YY_NOEXCEPT;
1687
1689 symbol_kind_type type_get () const YY_NOEXCEPT;
1690
1694 };
1695
1698
1701 {
1704
1707
1709#if 201103L <= YY_CPLUSPLUS
1710 symbol_type (int tok, location_type l)
1711 : super_type (token_kind_type (tok), std::move (l))
1712#else
1713 symbol_type (int tok, const location_type& l)
1714 : super_type (token_kind_type (tok), l)
1715#endif
1716 {
1717#if !defined _MSC_VER || defined __clang__
1718 PARSER4__ASSERT (tok == token::TOKEN_END
1719 || (token::TOKEN_PARSER4_error <= tok && tok <= token::TOKEN_SUB_CONFIG_CONTROL));
1720#endif
1721 }
1722#if 201103L <= YY_CPLUSPLUS
1723 symbol_type (int tok, bool v, location_type l)
1724 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1725#else
1726 symbol_type (int tok, const bool& v, const location_type& l)
1727 : super_type (token_kind_type (tok), v, l)
1728#endif
1729 {
1730#if !defined _MSC_VER || defined __clang__
1731 PARSER4__ASSERT (tok == token::TOKEN_BOOLEAN);
1732#endif
1733 }
1734#if 201103L <= YY_CPLUSPLUS
1735 symbol_type (int tok, double v, location_type l)
1736 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1737#else
1738 symbol_type (int tok, const double& v, const location_type& l)
1739 : super_type (token_kind_type (tok), v, l)
1740#endif
1741 {
1742#if !defined _MSC_VER || defined __clang__
1743 PARSER4__ASSERT (tok == token::TOKEN_FLOAT);
1744#endif
1745 }
1746#if 201103L <= YY_CPLUSPLUS
1747 symbol_type (int tok, int64_t v, location_type l)
1748 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1749#else
1750 symbol_type (int tok, const int64_t& v, const location_type& l)
1751 : super_type (token_kind_type (tok), v, l)
1752#endif
1753 {
1754#if !defined _MSC_VER || defined __clang__
1755 PARSER4__ASSERT (tok == token::TOKEN_INTEGER);
1756#endif
1757 }
1758#if 201103L <= YY_CPLUSPLUS
1759 symbol_type (int tok, std::string v, location_type l)
1760 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1761#else
1762 symbol_type (int tok, const std::string& v, const location_type& l)
1763 : super_type (token_kind_type (tok), v, l)
1764#endif
1765 {
1766#if !defined _MSC_VER || defined __clang__
1767 PARSER4__ASSERT (tok == token::TOKEN_STRING);
1768#endif
1769 }
1770 };
1771
1774 virtual ~Dhcp4Parser ();
1775
1776#if 201103L <= YY_CPLUSPLUS
1778 Dhcp4Parser (const Dhcp4Parser&) = delete;
1780 Dhcp4Parser& operator= (const Dhcp4Parser&) = delete;
1781#endif
1782
1785 int operator() ();
1786
1789 virtual int parse ();
1790
1791#if PARSER4_DEBUG
1793 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1795 void set_debug_stream (std::ostream &);
1796
1798 typedef int debug_level_type;
1800 debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
1802 void set_debug_level (debug_level_type l);
1803#endif
1804
1808 virtual void error (const location_type& loc, const std::string& msg);
1809
1811 void error (const syntax_error& err);
1812
1815 static std::string symbol_name (symbol_kind_type yysymbol);
1816
1817 // Implementation of make_symbol for each token kind.
1818#if 201103L <= YY_CPLUSPLUS
1819 static
1820 symbol_type
1821 make_END (location_type l)
1822 {
1823 return symbol_type (token::TOKEN_END, std::move (l));
1824 }
1825#else
1826 static
1827 symbol_type
1829 {
1830 return symbol_type (token::TOKEN_END, l);
1831 }
1832#endif
1833#if 201103L <= YY_CPLUSPLUS
1834 static
1835 symbol_type
1836 make_PARSER4_error (location_type l)
1837 {
1838 return symbol_type (token::TOKEN_PARSER4_error, std::move (l));
1839 }
1840#else
1841 static
1842 symbol_type
1844 {
1845 return symbol_type (token::TOKEN_PARSER4_error, l);
1846 }
1847#endif
1848#if 201103L <= YY_CPLUSPLUS
1849 static
1850 symbol_type
1851 make_PARSER4_UNDEF (location_type l)
1852 {
1853 return symbol_type (token::TOKEN_PARSER4_UNDEF, std::move (l));
1854 }
1855#else
1856 static
1857 symbol_type
1859 {
1860 return symbol_type (token::TOKEN_PARSER4_UNDEF, l);
1861 }
1862#endif
1863#if 201103L <= YY_CPLUSPLUS
1864 static
1865 symbol_type
1866 make_COMMA (location_type l)
1867 {
1868 return symbol_type (token::TOKEN_COMMA, std::move (l));
1869 }
1870#else
1871 static
1872 symbol_type
1874 {
1875 return symbol_type (token::TOKEN_COMMA, l);
1876 }
1877#endif
1878#if 201103L <= YY_CPLUSPLUS
1879 static
1880 symbol_type
1881 make_COLON (location_type l)
1882 {
1883 return symbol_type (token::TOKEN_COLON, std::move (l));
1884 }
1885#else
1886 static
1887 symbol_type
1889 {
1890 return symbol_type (token::TOKEN_COLON, l);
1891 }
1892#endif
1893#if 201103L <= YY_CPLUSPLUS
1894 static
1895 symbol_type
1896 make_LSQUARE_BRACKET (location_type l)
1897 {
1898 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1899 }
1900#else
1901 static
1902 symbol_type
1904 {
1905 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1906 }
1907#endif
1908#if 201103L <= YY_CPLUSPLUS
1909 static
1910 symbol_type
1911 make_RSQUARE_BRACKET (location_type l)
1912 {
1913 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1914 }
1915#else
1916 static
1917 symbol_type
1919 {
1920 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1921 }
1922#endif
1923#if 201103L <= YY_CPLUSPLUS
1924 static
1925 symbol_type
1926 make_LCURLY_BRACKET (location_type l)
1927 {
1928 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1929 }
1930#else
1931 static
1932 symbol_type
1934 {
1935 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1936 }
1937#endif
1938#if 201103L <= YY_CPLUSPLUS
1939 static
1940 symbol_type
1941 make_RCURLY_BRACKET (location_type l)
1942 {
1943 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1944 }
1945#else
1946 static
1947 symbol_type
1949 {
1950 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1951 }
1952#endif
1953#if 201103L <= YY_CPLUSPLUS
1954 static
1955 symbol_type
1956 make_NULL_TYPE (location_type l)
1957 {
1958 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1959 }
1960#else
1961 static
1962 symbol_type
1964 {
1965 return symbol_type (token::TOKEN_NULL_TYPE, l);
1966 }
1967#endif
1968#if 201103L <= YY_CPLUSPLUS
1969 static
1970 symbol_type
1971 make_DHCP4 (location_type l)
1972 {
1973 return symbol_type (token::TOKEN_DHCP4, std::move (l));
1974 }
1975#else
1976 static
1977 symbol_type
1979 {
1980 return symbol_type (token::TOKEN_DHCP4, l);
1981 }
1982#endif
1983#if 201103L <= YY_CPLUSPLUS
1984 static
1985 symbol_type
1986 make_CONFIG_CONTROL (location_type l)
1987 {
1988 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
1989 }
1990#else
1991 static
1992 symbol_type
1994 {
1995 return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
1996 }
1997#endif
1998#if 201103L <= YY_CPLUSPLUS
1999 static
2000 symbol_type
2001 make_CONFIG_DATABASES (location_type l)
2002 {
2003 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
2004 }
2005#else
2006 static
2007 symbol_type
2009 {
2010 return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
2011 }
2012#endif
2013#if 201103L <= YY_CPLUSPLUS
2014 static
2015 symbol_type
2016 make_CONFIG_FETCH_WAIT_TIME (location_type l)
2017 {
2018 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2019 }
2020#else
2021 static
2022 symbol_type
2024 {
2025 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
2026 }
2027#endif
2028#if 201103L <= YY_CPLUSPLUS
2029 static
2030 symbol_type
2031 make_INTERFACES_CONFIG (location_type l)
2032 {
2033 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2034 }
2035#else
2036 static
2037 symbol_type
2039 {
2040 return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
2041 }
2042#endif
2043#if 201103L <= YY_CPLUSPLUS
2044 static
2045 symbol_type
2046 make_INTERFACES (location_type l)
2047 {
2048 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2049 }
2050#else
2051 static
2052 symbol_type
2054 {
2055 return symbol_type (token::TOKEN_INTERFACES, l);
2056 }
2057#endif
2058#if 201103L <= YY_CPLUSPLUS
2059 static
2060 symbol_type
2061 make_DHCP_SOCKET_TYPE (location_type l)
2062 {
2063 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, std::move (l));
2064 }
2065#else
2066 static
2067 symbol_type
2069 {
2070 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, l);
2071 }
2072#endif
2073#if 201103L <= YY_CPLUSPLUS
2074 static
2075 symbol_type
2076 make_RAW (location_type l)
2077 {
2078 return symbol_type (token::TOKEN_RAW, std::move (l));
2079 }
2080#else
2081 static
2082 symbol_type
2084 {
2085 return symbol_type (token::TOKEN_RAW, l);
2086 }
2087#endif
2088#if 201103L <= YY_CPLUSPLUS
2089 static
2090 symbol_type
2091 make_UDP (location_type l)
2092 {
2093 return symbol_type (token::TOKEN_UDP, std::move (l));
2094 }
2095#else
2096 static
2097 symbol_type
2099 {
2100 return symbol_type (token::TOKEN_UDP, l);
2101 }
2102#endif
2103#if 201103L <= YY_CPLUSPLUS
2104 static
2105 symbol_type
2106 make_OUTBOUND_INTERFACE (location_type l)
2107 {
2108 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, std::move (l));
2109 }
2110#else
2111 static
2112 symbol_type
2114 {
2115 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, l);
2116 }
2117#endif
2118#if 201103L <= YY_CPLUSPLUS
2119 static
2120 symbol_type
2121 make_SAME_AS_INBOUND (location_type l)
2122 {
2123 return symbol_type (token::TOKEN_SAME_AS_INBOUND, std::move (l));
2124 }
2125#else
2126 static
2127 symbol_type
2129 {
2130 return symbol_type (token::TOKEN_SAME_AS_INBOUND, l);
2131 }
2132#endif
2133#if 201103L <= YY_CPLUSPLUS
2134 static
2135 symbol_type
2136 make_USE_ROUTING (location_type l)
2137 {
2138 return symbol_type (token::TOKEN_USE_ROUTING, std::move (l));
2139 }
2140#else
2141 static
2142 symbol_type
2144 {
2145 return symbol_type (token::TOKEN_USE_ROUTING, l);
2146 }
2147#endif
2148#if 201103L <= YY_CPLUSPLUS
2149 static
2150 symbol_type
2151 make_RE_DETECT (location_type l)
2152 {
2153 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2154 }
2155#else
2156 static
2157 symbol_type
2159 {
2160 return symbol_type (token::TOKEN_RE_DETECT, l);
2161 }
2162#endif
2163#if 201103L <= YY_CPLUSPLUS
2164 static
2165 symbol_type
2166 make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2167 {
2168 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2169 }
2170#else
2171 static
2172 symbol_type
2174 {
2175 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, l);
2176 }
2177#endif
2178#if 201103L <= YY_CPLUSPLUS
2179 static
2180 symbol_type
2181 make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2182 {
2183 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2184 }
2185#else
2186 static
2187 symbol_type
2189 {
2190 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, l);
2191 }
2192#endif
2193#if 201103L <= YY_CPLUSPLUS
2194 static
2195 symbol_type
2196 make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2197 {
2198 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2199 }
2200#else
2201 static
2202 symbol_type
2204 {
2205 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, l);
2206 }
2207#endif
2208#if 201103L <= YY_CPLUSPLUS
2209 static
2210 symbol_type
2211 make_SANITY_CHECKS (location_type l)
2212 {
2213 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
2214 }
2215#else
2216 static
2217 symbol_type
2219 {
2220 return symbol_type (token::TOKEN_SANITY_CHECKS, l);
2221 }
2222#endif
2223#if 201103L <= YY_CPLUSPLUS
2224 static
2225 symbol_type
2226 make_LEASE_CHECKS (location_type l)
2227 {
2228 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
2229 }
2230#else
2231 static
2232 symbol_type
2234 {
2235 return symbol_type (token::TOKEN_LEASE_CHECKS, l);
2236 }
2237#endif
2238#if 201103L <= YY_CPLUSPLUS
2239 static
2240 symbol_type
2241 make_EXTENDED_INFO_CHECKS (location_type l)
2242 {
2243 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, std::move (l));
2244 }
2245#else
2246 static
2247 symbol_type
2249 {
2250 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, l);
2251 }
2252#endif
2253#if 201103L <= YY_CPLUSPLUS
2254 static
2255 symbol_type
2256 make_ECHO_CLIENT_ID (location_type l)
2257 {
2258 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, std::move (l));
2259 }
2260#else
2261 static
2262 symbol_type
2264 {
2265 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, l);
2266 }
2267#endif
2268#if 201103L <= YY_CPLUSPLUS
2269 static
2270 symbol_type
2271 make_MATCH_CLIENT_ID (location_type l)
2272 {
2273 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, std::move (l));
2274 }
2275#else
2276 static
2277 symbol_type
2279 {
2280 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, l);
2281 }
2282#endif
2283#if 201103L <= YY_CPLUSPLUS
2284 static
2285 symbol_type
2286 make_AUTHORITATIVE (location_type l)
2287 {
2288 return symbol_type (token::TOKEN_AUTHORITATIVE, std::move (l));
2289 }
2290#else
2291 static
2292 symbol_type
2294 {
2295 return symbol_type (token::TOKEN_AUTHORITATIVE, l);
2296 }
2297#endif
2298#if 201103L <= YY_CPLUSPLUS
2299 static
2300 symbol_type
2301 make_NEXT_SERVER (location_type l)
2302 {
2303 return symbol_type (token::TOKEN_NEXT_SERVER, std::move (l));
2304 }
2305#else
2306 static
2307 symbol_type
2309 {
2310 return symbol_type (token::TOKEN_NEXT_SERVER, l);
2311 }
2312#endif
2313#if 201103L <= YY_CPLUSPLUS
2314 static
2315 symbol_type
2316 make_SERVER_HOSTNAME (location_type l)
2317 {
2318 return symbol_type (token::TOKEN_SERVER_HOSTNAME, std::move (l));
2319 }
2320#else
2321 static
2322 symbol_type
2324 {
2325 return symbol_type (token::TOKEN_SERVER_HOSTNAME, l);
2326 }
2327#endif
2328#if 201103L <= YY_CPLUSPLUS
2329 static
2330 symbol_type
2331 make_BOOT_FILE_NAME (location_type l)
2332 {
2333 return symbol_type (token::TOKEN_BOOT_FILE_NAME, std::move (l));
2334 }
2335#else
2336 static
2337 symbol_type
2339 {
2340 return symbol_type (token::TOKEN_BOOT_FILE_NAME, l);
2341 }
2342#endif
2343#if 201103L <= YY_CPLUSPLUS
2344 static
2345 symbol_type
2346 make_OFFER_LFT (location_type l)
2347 {
2348 return symbol_type (token::TOKEN_OFFER_LFT, std::move (l));
2349 }
2350#else
2351 static
2352 symbol_type
2354 {
2355 return symbol_type (token::TOKEN_OFFER_LFT, l);
2356 }
2357#endif
2358#if 201103L <= YY_CPLUSPLUS
2359 static
2360 symbol_type
2361 make_LEASE_DATABASE (location_type l)
2362 {
2363 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2364 }
2365#else
2366 static
2367 symbol_type
2369 {
2370 return symbol_type (token::TOKEN_LEASE_DATABASE, l);
2371 }
2372#endif
2373#if 201103L <= YY_CPLUSPLUS
2374 static
2375 symbol_type
2376 make_HOSTS_DATABASE (location_type l)
2377 {
2378 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2379 }
2380#else
2381 static
2382 symbol_type
2384 {
2385 return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
2386 }
2387#endif
2388#if 201103L <= YY_CPLUSPLUS
2389 static
2390 symbol_type
2391 make_HOSTS_DATABASES (location_type l)
2392 {
2393 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2394 }
2395#else
2396 static
2397 symbol_type
2399 {
2400 return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
2401 }
2402#endif
2403#if 201103L <= YY_CPLUSPLUS
2404 static
2405 symbol_type
2406 make_TYPE (location_type l)
2407 {
2408 return symbol_type (token::TOKEN_TYPE, std::move (l));
2409 }
2410#else
2411 static
2412 symbol_type
2414 {
2415 return symbol_type (token::TOKEN_TYPE, l);
2416 }
2417#endif
2418#if 201103L <= YY_CPLUSPLUS
2419 static
2420 symbol_type
2421 make_MEMFILE (location_type l)
2422 {
2423 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2424 }
2425#else
2426 static
2427 symbol_type
2429 {
2430 return symbol_type (token::TOKEN_MEMFILE, l);
2431 }
2432#endif
2433#if 201103L <= YY_CPLUSPLUS
2434 static
2435 symbol_type
2436 make_MYSQL (location_type l)
2437 {
2438 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2439 }
2440#else
2441 static
2442 symbol_type
2444 {
2445 return symbol_type (token::TOKEN_MYSQL, l);
2446 }
2447#endif
2448#if 201103L <= YY_CPLUSPLUS
2449 static
2450 symbol_type
2451 make_POSTGRESQL (location_type l)
2452 {
2453 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2454 }
2455#else
2456 static
2457 symbol_type
2459 {
2460 return symbol_type (token::TOKEN_POSTGRESQL, l);
2461 }
2462#endif
2463#if 201103L <= YY_CPLUSPLUS
2464 static
2465 symbol_type
2466 make_USER (location_type l)
2467 {
2468 return symbol_type (token::TOKEN_USER, std::move (l));
2469 }
2470#else
2471 static
2472 symbol_type
2474 {
2475 return symbol_type (token::TOKEN_USER, l);
2476 }
2477#endif
2478#if 201103L <= YY_CPLUSPLUS
2479 static
2480 symbol_type
2481 make_PASSWORD (location_type l)
2482 {
2483 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2484 }
2485#else
2486 static
2487 symbol_type
2489 {
2490 return symbol_type (token::TOKEN_PASSWORD, l);
2491 }
2492#endif
2493#if 201103L <= YY_CPLUSPLUS
2494 static
2495 symbol_type
2496 make_HOST (location_type l)
2497 {
2498 return symbol_type (token::TOKEN_HOST, std::move (l));
2499 }
2500#else
2501 static
2502 symbol_type
2504 {
2505 return symbol_type (token::TOKEN_HOST, l);
2506 }
2507#endif
2508#if 201103L <= YY_CPLUSPLUS
2509 static
2510 symbol_type
2511 make_PORT (location_type l)
2512 {
2513 return symbol_type (token::TOKEN_PORT, std::move (l));
2514 }
2515#else
2516 static
2517 symbol_type
2519 {
2520 return symbol_type (token::TOKEN_PORT, l);
2521 }
2522#endif
2523#if 201103L <= YY_CPLUSPLUS
2524 static
2525 symbol_type
2526 make_PERSIST (location_type l)
2527 {
2528 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2529 }
2530#else
2531 static
2532 symbol_type
2534 {
2535 return symbol_type (token::TOKEN_PERSIST, l);
2536 }
2537#endif
2538#if 201103L <= YY_CPLUSPLUS
2539 static
2540 symbol_type
2541 make_LFC_INTERVAL (location_type l)
2542 {
2543 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2544 }
2545#else
2546 static
2547 symbol_type
2549 {
2550 return symbol_type (token::TOKEN_LFC_INTERVAL, l);
2551 }
2552#endif
2553#if 201103L <= YY_CPLUSPLUS
2554 static
2555 symbol_type
2556 make_READONLY (location_type l)
2557 {
2558 return symbol_type (token::TOKEN_READONLY, std::move (l));
2559 }
2560#else
2561 static
2562 symbol_type
2564 {
2565 return symbol_type (token::TOKEN_READONLY, l);
2566 }
2567#endif
2568#if 201103L <= YY_CPLUSPLUS
2569 static
2570 symbol_type
2571 make_CONNECT_TIMEOUT (location_type l)
2572 {
2573 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2574 }
2575#else
2576 static
2577 symbol_type
2579 {
2580 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
2581 }
2582#endif
2583#if 201103L <= YY_CPLUSPLUS
2584 static
2585 symbol_type
2586 make_READ_TIMEOUT (location_type l)
2587 {
2588 return symbol_type (token::TOKEN_READ_TIMEOUT, std::move (l));
2589 }
2590#else
2591 static
2592 symbol_type
2594 {
2595 return symbol_type (token::TOKEN_READ_TIMEOUT, l);
2596 }
2597#endif
2598#if 201103L <= YY_CPLUSPLUS
2599 static
2600 symbol_type
2601 make_WRITE_TIMEOUT (location_type l)
2602 {
2603 return symbol_type (token::TOKEN_WRITE_TIMEOUT, std::move (l));
2604 }
2605#else
2606 static
2607 symbol_type
2609 {
2610 return symbol_type (token::TOKEN_WRITE_TIMEOUT, l);
2611 }
2612#endif
2613#if 201103L <= YY_CPLUSPLUS
2614 static
2615 symbol_type
2616 make_TCP_USER_TIMEOUT (location_type l)
2617 {
2618 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, std::move (l));
2619 }
2620#else
2621 static
2622 symbol_type
2624 {
2625 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, l);
2626 }
2627#endif
2628#if 201103L <= YY_CPLUSPLUS
2629 static
2630 symbol_type
2631 make_MAX_RECONNECT_TRIES (location_type l)
2632 {
2633 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2634 }
2635#else
2636 static
2637 symbol_type
2639 {
2640 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
2641 }
2642#endif
2643#if 201103L <= YY_CPLUSPLUS
2644 static
2645 symbol_type
2646 make_RECONNECT_WAIT_TIME (location_type l)
2647 {
2648 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2649 }
2650#else
2651 static
2652 symbol_type
2654 {
2655 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
2656 }
2657#endif
2658#if 201103L <= YY_CPLUSPLUS
2659 static
2660 symbol_type
2661 make_ON_FAIL (location_type l)
2662 {
2663 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2664 }
2665#else
2666 static
2667 symbol_type
2669 {
2670 return symbol_type (token::TOKEN_ON_FAIL, l);
2671 }
2672#endif
2673#if 201103L <= YY_CPLUSPLUS
2674 static
2675 symbol_type
2676 make_STOP_RETRY_EXIT (location_type l)
2677 {
2678 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2679 }
2680#else
2681 static
2682 symbol_type
2684 {
2685 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, l);
2686 }
2687#endif
2688#if 201103L <= YY_CPLUSPLUS
2689 static
2690 symbol_type
2691 make_SERVE_RETRY_EXIT (location_type l)
2692 {
2693 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2694 }
2695#else
2696 static
2697 symbol_type
2699 {
2700 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, l);
2701 }
2702#endif
2703#if 201103L <= YY_CPLUSPLUS
2704 static
2705 symbol_type
2706 make_SERVE_RETRY_CONTINUE (location_type l)
2707 {
2708 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2709 }
2710#else
2711 static
2712 symbol_type
2714 {
2715 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, l);
2716 }
2717#endif
2718#if 201103L <= YY_CPLUSPLUS
2719 static
2720 symbol_type
2721 make_RETRY_ON_STARTUP (location_type l)
2722 {
2723 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, std::move (l));
2724 }
2725#else
2726 static
2727 symbol_type
2729 {
2730 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, l);
2731 }
2732#endif
2733#if 201103L <= YY_CPLUSPLUS
2734 static
2735 symbol_type
2736 make_MAX_ROW_ERRORS (location_type l)
2737 {
2738 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2739 }
2740#else
2741 static
2742 symbol_type
2744 {
2745 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
2746 }
2747#endif
2748#if 201103L <= YY_CPLUSPLUS
2749 static
2750 symbol_type
2751 make_TRUST_ANCHOR (location_type l)
2752 {
2753 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2754 }
2755#else
2756 static
2757 symbol_type
2759 {
2760 return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
2761 }
2762#endif
2763#if 201103L <= YY_CPLUSPLUS
2764 static
2765 symbol_type
2766 make_CERT_FILE (location_type l)
2767 {
2768 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2769 }
2770#else
2771 static
2772 symbol_type
2774 {
2775 return symbol_type (token::TOKEN_CERT_FILE, l);
2776 }
2777#endif
2778#if 201103L <= YY_CPLUSPLUS
2779 static
2780 symbol_type
2781 make_KEY_FILE (location_type l)
2782 {
2783 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2784 }
2785#else
2786 static
2787 symbol_type
2789 {
2790 return symbol_type (token::TOKEN_KEY_FILE, l);
2791 }
2792#endif
2793#if 201103L <= YY_CPLUSPLUS
2794 static
2795 symbol_type
2796 make_CIPHER_LIST (location_type l)
2797 {
2798 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2799 }
2800#else
2801 static
2802 symbol_type
2804 {
2805 return symbol_type (token::TOKEN_CIPHER_LIST, l);
2806 }
2807#endif
2808#if 201103L <= YY_CPLUSPLUS
2809 static
2810 symbol_type
2811 make_VALID_LIFETIME (location_type l)
2812 {
2813 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2814 }
2815#else
2816 static
2817 symbol_type
2819 {
2820 return symbol_type (token::TOKEN_VALID_LIFETIME, l);
2821 }
2822#endif
2823#if 201103L <= YY_CPLUSPLUS
2824 static
2825 symbol_type
2826 make_MIN_VALID_LIFETIME (location_type l)
2827 {
2828 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2829 }
2830#else
2831 static
2832 symbol_type
2834 {
2835 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
2836 }
2837#endif
2838#if 201103L <= YY_CPLUSPLUS
2839 static
2840 symbol_type
2841 make_MAX_VALID_LIFETIME (location_type l)
2842 {
2843 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2844 }
2845#else
2846 static
2847 symbol_type
2849 {
2850 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
2851 }
2852#endif
2853#if 201103L <= YY_CPLUSPLUS
2854 static
2855 symbol_type
2856 make_RENEW_TIMER (location_type l)
2857 {
2858 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2859 }
2860#else
2861 static
2862 symbol_type
2864 {
2865 return symbol_type (token::TOKEN_RENEW_TIMER, l);
2866 }
2867#endif
2868#if 201103L <= YY_CPLUSPLUS
2869 static
2870 symbol_type
2871 make_REBIND_TIMER (location_type l)
2872 {
2873 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2874 }
2875#else
2876 static
2877 symbol_type
2879 {
2880 return symbol_type (token::TOKEN_REBIND_TIMER, l);
2881 }
2882#endif
2883#if 201103L <= YY_CPLUSPLUS
2884 static
2885 symbol_type
2886 make_CALCULATE_TEE_TIMES (location_type l)
2887 {
2888 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2889 }
2890#else
2891 static
2892 symbol_type
2894 {
2895 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
2896 }
2897#endif
2898#if 201103L <= YY_CPLUSPLUS
2899 static
2900 symbol_type
2901 make_T1_PERCENT (location_type l)
2902 {
2903 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2904 }
2905#else
2906 static
2907 symbol_type
2909 {
2910 return symbol_type (token::TOKEN_T1_PERCENT, l);
2911 }
2912#endif
2913#if 201103L <= YY_CPLUSPLUS
2914 static
2915 symbol_type
2916 make_T2_PERCENT (location_type l)
2917 {
2918 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2919 }
2920#else
2921 static
2922 symbol_type
2924 {
2925 return symbol_type (token::TOKEN_T2_PERCENT, l);
2926 }
2927#endif
2928#if 201103L <= YY_CPLUSPLUS
2929 static
2930 symbol_type
2931 make_CACHE_THRESHOLD (location_type l)
2932 {
2933 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2934 }
2935#else
2936 static
2937 symbol_type
2939 {
2940 return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
2941 }
2942#endif
2943#if 201103L <= YY_CPLUSPLUS
2944 static
2945 symbol_type
2946 make_CACHE_MAX_AGE (location_type l)
2947 {
2948 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2949 }
2950#else
2951 static
2952 symbol_type
2954 {
2955 return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
2956 }
2957#endif
2958#if 201103L <= YY_CPLUSPLUS
2959 static
2960 symbol_type
2961 make_DECLINE_PROBATION_PERIOD (location_type l)
2962 {
2963 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2964 }
2965#else
2966 static
2967 symbol_type
2969 {
2970 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
2971 }
2972#endif
2973#if 201103L <= YY_CPLUSPLUS
2974 static
2975 symbol_type
2976 make_SERVER_TAG (location_type l)
2977 {
2978 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2979 }
2980#else
2981 static
2982 symbol_type
2984 {
2985 return symbol_type (token::TOKEN_SERVER_TAG, l);
2986 }
2987#endif
2988#if 201103L <= YY_CPLUSPLUS
2989 static
2990 symbol_type
2991 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
2992 {
2993 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2994 }
2995#else
2996 static
2997 symbol_type
2999 {
3000 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
3001 }
3002#endif
3003#if 201103L <= YY_CPLUSPLUS
3004 static
3005 symbol_type
3006 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
3007 {
3008 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
3009 }
3010#else
3011 static
3012 symbol_type
3014 {
3015 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
3016 }
3017#endif
3018#if 201103L <= YY_CPLUSPLUS
3019 static
3020 symbol_type
3021 make_DDNS_SEND_UPDATES (location_type l)
3022 {
3023 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
3024 }
3025#else
3026 static
3027 symbol_type
3029 {
3030 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
3031 }
3032#endif
3033#if 201103L <= YY_CPLUSPLUS
3034 static
3035 symbol_type
3036 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
3037 {
3038 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
3039 }
3040#else
3041 static
3042 symbol_type
3044 {
3045 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
3046 }
3047#endif
3048#if 201103L <= YY_CPLUSPLUS
3049 static
3050 symbol_type
3051 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
3052 {
3053 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
3054 }
3055#else
3056 static
3057 symbol_type
3059 {
3060 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
3061 }
3062#endif
3063#if 201103L <= YY_CPLUSPLUS
3064 static
3065 symbol_type
3066 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
3067 {
3068 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
3069 }
3070#else
3071 static
3072 symbol_type
3074 {
3075 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
3076 }
3077#endif
3078#if 201103L <= YY_CPLUSPLUS
3079 static
3080 symbol_type
3081 make_DDNS_GENERATED_PREFIX (location_type l)
3082 {
3083 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
3084 }
3085#else
3086 static
3087 symbol_type
3089 {
3090 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
3091 }
3092#endif
3093#if 201103L <= YY_CPLUSPLUS
3094 static
3095 symbol_type
3096 make_DDNS_QUALIFYING_SUFFIX (location_type l)
3097 {
3098 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
3099 }
3100#else
3101 static
3102 symbol_type
3104 {
3105 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
3106 }
3107#endif
3108#if 201103L <= YY_CPLUSPLUS
3109 static
3110 symbol_type
3111 make_DDNS_UPDATE_ON_RENEW (location_type l)
3112 {
3113 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
3114 }
3115#else
3116 static
3117 symbol_type
3119 {
3120 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
3121 }
3122#endif
3123#if 201103L <= YY_CPLUSPLUS
3124 static
3125 symbol_type
3126 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
3127 {
3128 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
3129 }
3130#else
3131 static
3132 symbol_type
3134 {
3135 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
3136 }
3137#endif
3138#if 201103L <= YY_CPLUSPLUS
3139 static
3140 symbol_type
3141 make_DDNS_TTL_PERCENT (location_type l)
3142 {
3143 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, std::move (l));
3144 }
3145#else
3146 static
3147 symbol_type
3149 {
3150 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, l);
3151 }
3152#endif
3153#if 201103L <= YY_CPLUSPLUS
3154 static
3155 symbol_type
3156 make_STORE_EXTENDED_INFO (location_type l)
3157 {
3158 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
3159 }
3160#else
3161 static
3162 symbol_type
3164 {
3165 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
3166 }
3167#endif
3168#if 201103L <= YY_CPLUSPLUS
3169 static
3170 symbol_type
3171 make_SUBNET4 (location_type l)
3172 {
3173 return symbol_type (token::TOKEN_SUBNET4, std::move (l));
3174 }
3175#else
3176 static
3177 symbol_type
3179 {
3180 return symbol_type (token::TOKEN_SUBNET4, l);
3181 }
3182#endif
3183#if 201103L <= YY_CPLUSPLUS
3184 static
3185 symbol_type
3186 make_SUBNET_4O6_INTERFACE (location_type l)
3187 {
3188 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, std::move (l));
3189 }
3190#else
3191 static
3192 symbol_type
3194 {
3195 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, l);
3196 }
3197#endif
3198#if 201103L <= YY_CPLUSPLUS
3199 static
3200 symbol_type
3201 make_SUBNET_4O6_INTERFACE_ID (location_type l)
3202 {
3203 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, std::move (l));
3204 }
3205#else
3206 static
3207 symbol_type
3209 {
3210 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, l);
3211 }
3212#endif
3213#if 201103L <= YY_CPLUSPLUS
3214 static
3215 symbol_type
3216 make_SUBNET_4O6_SUBNET (location_type l)
3217 {
3218 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, std::move (l));
3219 }
3220#else
3221 static
3222 symbol_type
3224 {
3225 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, l);
3226 }
3227#endif
3228#if 201103L <= YY_CPLUSPLUS
3229 static
3230 symbol_type
3231 make_OPTION_DEF (location_type l)
3232 {
3233 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
3234 }
3235#else
3236 static
3237 symbol_type
3239 {
3240 return symbol_type (token::TOKEN_OPTION_DEF, l);
3241 }
3242#endif
3243#if 201103L <= YY_CPLUSPLUS
3244 static
3245 symbol_type
3246 make_OPTION_DATA (location_type l)
3247 {
3248 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
3249 }
3250#else
3251 static
3252 symbol_type
3254 {
3255 return symbol_type (token::TOKEN_OPTION_DATA, l);
3256 }
3257#endif
3258#if 201103L <= YY_CPLUSPLUS
3259 static
3260 symbol_type
3261 make_NAME (location_type l)
3262 {
3263 return symbol_type (token::TOKEN_NAME, std::move (l));
3264 }
3265#else
3266 static
3267 symbol_type
3269 {
3270 return symbol_type (token::TOKEN_NAME, l);
3271 }
3272#endif
3273#if 201103L <= YY_CPLUSPLUS
3274 static
3275 symbol_type
3276 make_DATA (location_type l)
3277 {
3278 return symbol_type (token::TOKEN_DATA, std::move (l));
3279 }
3280#else
3281 static
3282 symbol_type
3284 {
3285 return symbol_type (token::TOKEN_DATA, l);
3286 }
3287#endif
3288#if 201103L <= YY_CPLUSPLUS
3289 static
3290 symbol_type
3291 make_CODE (location_type l)
3292 {
3293 return symbol_type (token::TOKEN_CODE, std::move (l));
3294 }
3295#else
3296 static
3297 symbol_type
3299 {
3300 return symbol_type (token::TOKEN_CODE, l);
3301 }
3302#endif
3303#if 201103L <= YY_CPLUSPLUS
3304 static
3305 symbol_type
3306 make_SPACE (location_type l)
3307 {
3308 return symbol_type (token::TOKEN_SPACE, std::move (l));
3309 }
3310#else
3311 static
3312 symbol_type
3314 {
3315 return symbol_type (token::TOKEN_SPACE, l);
3316 }
3317#endif
3318#if 201103L <= YY_CPLUSPLUS
3319 static
3320 symbol_type
3321 make_CSV_FORMAT (location_type l)
3322 {
3323 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3324 }
3325#else
3326 static
3327 symbol_type
3329 {
3330 return symbol_type (token::TOKEN_CSV_FORMAT, l);
3331 }
3332#endif
3333#if 201103L <= YY_CPLUSPLUS
3334 static
3335 symbol_type
3336 make_ALWAYS_SEND (location_type l)
3337 {
3338 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3339 }
3340#else
3341 static
3342 symbol_type
3344 {
3345 return symbol_type (token::TOKEN_ALWAYS_SEND, l);
3346 }
3347#endif
3348#if 201103L <= YY_CPLUSPLUS
3349 static
3350 symbol_type
3351 make_NEVER_SEND (location_type l)
3352 {
3353 return symbol_type (token::TOKEN_NEVER_SEND, std::move (l));
3354 }
3355#else
3356 static
3357 symbol_type
3359 {
3360 return symbol_type (token::TOKEN_NEVER_SEND, l);
3361 }
3362#endif
3363#if 201103L <= YY_CPLUSPLUS
3364 static
3365 symbol_type
3366 make_RECORD_TYPES (location_type l)
3367 {
3368 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3369 }
3370#else
3371 static
3372 symbol_type
3374 {
3375 return symbol_type (token::TOKEN_RECORD_TYPES, l);
3376 }
3377#endif
3378#if 201103L <= YY_CPLUSPLUS
3379 static
3380 symbol_type
3381 make_ENCAPSULATE (location_type l)
3382 {
3383 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3384 }
3385#else
3386 static
3387 symbol_type
3389 {
3390 return symbol_type (token::TOKEN_ENCAPSULATE, l);
3391 }
3392#endif
3393#if 201103L <= YY_CPLUSPLUS
3394 static
3395 symbol_type
3396 make_ARRAY (location_type l)
3397 {
3398 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3399 }
3400#else
3401 static
3402 symbol_type
3404 {
3405 return symbol_type (token::TOKEN_ARRAY, l);
3406 }
3407#endif
3408#if 201103L <= YY_CPLUSPLUS
3409 static
3410 symbol_type
3411 make_PARKED_PACKET_LIMIT (location_type l)
3412 {
3413 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3414 }
3415#else
3416 static
3417 symbol_type
3419 {
3420 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, l);
3421 }
3422#endif
3423#if 201103L <= YY_CPLUSPLUS
3424 static
3425 symbol_type
3426 make_ALLOCATOR (location_type l)
3427 {
3428 return symbol_type (token::TOKEN_ALLOCATOR, std::move (l));
3429 }
3430#else
3431 static
3432 symbol_type
3434 {
3435 return symbol_type (token::TOKEN_ALLOCATOR, l);
3436 }
3437#endif
3438#if 201103L <= YY_CPLUSPLUS
3439 static
3440 symbol_type
3441 make_DDNS_CONFLICT_RESOLUTION_MODE (location_type l)
3442 {
3443 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, std::move (l));
3444 }
3445#else
3446 static
3447 symbol_type
3449 {
3450 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, l);
3451 }
3452#endif
3453#if 201103L <= YY_CPLUSPLUS
3454 static
3455 symbol_type
3456 make_CHECK_WITH_DHCID (location_type l)
3457 {
3458 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, std::move (l));
3459 }
3460#else
3461 static
3462 symbol_type
3464 {
3465 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, l);
3466 }
3467#endif
3468#if 201103L <= YY_CPLUSPLUS
3469 static
3470 symbol_type
3471 make_NO_CHECK_WITH_DHCID (location_type l)
3472 {
3473 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, std::move (l));
3474 }
3475#else
3476 static
3477 symbol_type
3479 {
3480 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, l);
3481 }
3482#endif
3483#if 201103L <= YY_CPLUSPLUS
3484 static
3485 symbol_type
3486 make_CHECK_EXISTS_WITH_DHCID (location_type l)
3487 {
3488 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, std::move (l));
3489 }
3490#else
3491 static
3492 symbol_type
3494 {
3495 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, l);
3496 }
3497#endif
3498#if 201103L <= YY_CPLUSPLUS
3499 static
3500 symbol_type
3501 make_NO_CHECK_WITHOUT_DHCID (location_type l)
3502 {
3503 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, std::move (l));
3504 }
3505#else
3506 static
3507 symbol_type
3509 {
3510 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, l);
3511 }
3512#endif
3513#if 201103L <= YY_CPLUSPLUS
3514 static
3515 symbol_type
3516 make_SHARED_NETWORKS (location_type l)
3517 {
3518 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3519 }
3520#else
3521 static
3522 symbol_type
3524 {
3525 return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
3526 }
3527#endif
3528#if 201103L <= YY_CPLUSPLUS
3529 static
3530 symbol_type
3531 make_POOLS (location_type l)
3532 {
3533 return symbol_type (token::TOKEN_POOLS, std::move (l));
3534 }
3535#else
3536 static
3537 symbol_type
3539 {
3540 return symbol_type (token::TOKEN_POOLS, l);
3541 }
3542#endif
3543#if 201103L <= YY_CPLUSPLUS
3544 static
3545 symbol_type
3546 make_POOL (location_type l)
3547 {
3548 return symbol_type (token::TOKEN_POOL, std::move (l));
3549 }
3550#else
3551 static
3552 symbol_type
3554 {
3555 return symbol_type (token::TOKEN_POOL, l);
3556 }
3557#endif
3558#if 201103L <= YY_CPLUSPLUS
3559 static
3560 symbol_type
3561 make_USER_CONTEXT (location_type l)
3562 {
3563 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3564 }
3565#else
3566 static
3567 symbol_type
3569 {
3570 return symbol_type (token::TOKEN_USER_CONTEXT, l);
3571 }
3572#endif
3573#if 201103L <= YY_CPLUSPLUS
3574 static
3575 symbol_type
3576 make_COMMENT (location_type l)
3577 {
3578 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3579 }
3580#else
3581 static
3582 symbol_type
3584 {
3585 return symbol_type (token::TOKEN_COMMENT, l);
3586 }
3587#endif
3588#if 201103L <= YY_CPLUSPLUS
3589 static
3590 symbol_type
3591 make_SUBNET (location_type l)
3592 {
3593 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3594 }
3595#else
3596 static
3597 symbol_type
3599 {
3600 return symbol_type (token::TOKEN_SUBNET, l);
3601 }
3602#endif
3603#if 201103L <= YY_CPLUSPLUS
3604 static
3605 symbol_type
3606 make_INTERFACE (location_type l)
3607 {
3608 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3609 }
3610#else
3611 static
3612 symbol_type
3614 {
3615 return symbol_type (token::TOKEN_INTERFACE, l);
3616 }
3617#endif
3618#if 201103L <= YY_CPLUSPLUS
3619 static
3620 symbol_type
3621 make_ID (location_type l)
3622 {
3623 return symbol_type (token::TOKEN_ID, std::move (l));
3624 }
3625#else
3626 static
3627 symbol_type
3629 {
3630 return symbol_type (token::TOKEN_ID, l);
3631 }
3632#endif
3633#if 201103L <= YY_CPLUSPLUS
3634 static
3635 symbol_type
3636 make_RESERVATION_MODE (location_type l)
3637 {
3638 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3639 }
3640#else
3641 static
3642 symbol_type
3644 {
3645 return symbol_type (token::TOKEN_RESERVATION_MODE, l);
3646 }
3647#endif
3648#if 201103L <= YY_CPLUSPLUS
3649 static
3650 symbol_type
3651 make_DISABLED (location_type l)
3652 {
3653 return symbol_type (token::TOKEN_DISABLED, std::move (l));
3654 }
3655#else
3656 static
3657 symbol_type
3659 {
3660 return symbol_type (token::TOKEN_DISABLED, l);
3661 }
3662#endif
3663#if 201103L <= YY_CPLUSPLUS
3664 static
3665 symbol_type
3666 make_OUT_OF_POOL (location_type l)
3667 {
3668 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3669 }
3670#else
3671 static
3672 symbol_type
3674 {
3675 return symbol_type (token::TOKEN_OUT_OF_POOL, l);
3676 }
3677#endif
3678#if 201103L <= YY_CPLUSPLUS
3679 static
3680 symbol_type
3681 make_GLOBAL (location_type l)
3682 {
3683 return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3684 }
3685#else
3686 static
3687 symbol_type
3689 {
3690 return symbol_type (token::TOKEN_GLOBAL, l);
3691 }
3692#endif
3693#if 201103L <= YY_CPLUSPLUS
3694 static
3695 symbol_type
3696 make_ALL (location_type l)
3697 {
3698 return symbol_type (token::TOKEN_ALL, std::move (l));
3699 }
3700#else
3701 static
3702 symbol_type
3704 {
3705 return symbol_type (token::TOKEN_ALL, l);
3706 }
3707#endif
3708#if 201103L <= YY_CPLUSPLUS
3709 static
3710 symbol_type
3711 make_RESERVATIONS_GLOBAL (location_type l)
3712 {
3713 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3714 }
3715#else
3716 static
3717 symbol_type
3719 {
3720 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l);
3721 }
3722#endif
3723#if 201103L <= YY_CPLUSPLUS
3724 static
3725 symbol_type
3726 make_RESERVATIONS_IN_SUBNET (location_type l)
3727 {
3728 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3729 }
3730#else
3731 static
3732 symbol_type
3734 {
3735 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l);
3736 }
3737#endif
3738#if 201103L <= YY_CPLUSPLUS
3739 static
3740 symbol_type
3741 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3742 {
3743 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3744 }
3745#else
3746 static
3747 symbol_type
3749 {
3750 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l);
3751 }
3752#endif
3753#if 201103L <= YY_CPLUSPLUS
3754 static
3755 symbol_type
3756 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3757 {
3758 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3759 }
3760#else
3761 static
3762 symbol_type
3764 {
3765 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
3766 }
3767#endif
3768#if 201103L <= YY_CPLUSPLUS
3769 static
3770 symbol_type
3771 make_CLIENT_CLASSES (location_type l)
3772 {
3773 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3774 }
3775#else
3776 static
3777 symbol_type
3779 {
3780 return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
3781 }
3782#endif
3783#if 201103L <= YY_CPLUSPLUS
3784 static
3785 symbol_type
3786 make_REQUIRE_CLIENT_CLASSES (location_type l)
3787 {
3788 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3789 }
3790#else
3791 static
3792 symbol_type
3794 {
3795 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
3796 }
3797#endif
3798#if 201103L <= YY_CPLUSPLUS
3799 static
3800 symbol_type
3801 make_TEST (location_type l)
3802 {
3803 return symbol_type (token::TOKEN_TEST, std::move (l));
3804 }
3805#else
3806 static
3807 symbol_type
3809 {
3810 return symbol_type (token::TOKEN_TEST, l);
3811 }
3812#endif
3813#if 201103L <= YY_CPLUSPLUS
3814 static
3815 symbol_type
3816 make_TEMPLATE_TEST (location_type l)
3817 {
3818 return symbol_type (token::TOKEN_TEMPLATE_TEST, std::move (l));
3819 }
3820#else
3821 static
3822 symbol_type
3824 {
3825 return symbol_type (token::TOKEN_TEMPLATE_TEST, l);
3826 }
3827#endif
3828#if 201103L <= YY_CPLUSPLUS
3829 static
3830 symbol_type
3831 make_ONLY_IF_REQUIRED (location_type l)
3832 {
3833 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3834 }
3835#else
3836 static
3837 symbol_type
3839 {
3840 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
3841 }
3842#endif
3843#if 201103L <= YY_CPLUSPLUS
3844 static
3845 symbol_type
3846 make_CLIENT_CLASS (location_type l)
3847 {
3848 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3849 }
3850#else
3851 static
3852 symbol_type
3854 {
3855 return symbol_type (token::TOKEN_CLIENT_CLASS, l);
3856 }
3857#endif
3858#if 201103L <= YY_CPLUSPLUS
3859 static
3860 symbol_type
3861 make_POOL_ID (location_type l)
3862 {
3863 return symbol_type (token::TOKEN_POOL_ID, std::move (l));
3864 }
3865#else
3866 static
3867 symbol_type
3869 {
3870 return symbol_type (token::TOKEN_POOL_ID, l);
3871 }
3872#endif
3873#if 201103L <= YY_CPLUSPLUS
3874 static
3875 symbol_type
3876 make_RESERVATIONS (location_type l)
3877 {
3878 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3879 }
3880#else
3881 static
3882 symbol_type
3884 {
3885 return symbol_type (token::TOKEN_RESERVATIONS, l);
3886 }
3887#endif
3888#if 201103L <= YY_CPLUSPLUS
3889 static
3890 symbol_type
3891 make_DUID (location_type l)
3892 {
3893 return symbol_type (token::TOKEN_DUID, std::move (l));
3894 }
3895#else
3896 static
3897 symbol_type
3899 {
3900 return symbol_type (token::TOKEN_DUID, l);
3901 }
3902#endif
3903#if 201103L <= YY_CPLUSPLUS
3904 static
3905 symbol_type
3906 make_HW_ADDRESS (location_type l)
3907 {
3908 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3909 }
3910#else
3911 static
3912 symbol_type
3914 {
3915 return symbol_type (token::TOKEN_HW_ADDRESS, l);
3916 }
3917#endif
3918#if 201103L <= YY_CPLUSPLUS
3919 static
3920 symbol_type
3921 make_CIRCUIT_ID (location_type l)
3922 {
3923 return symbol_type (token::TOKEN_CIRCUIT_ID, std::move (l));
3924 }
3925#else
3926 static
3927 symbol_type
3929 {
3930 return symbol_type (token::TOKEN_CIRCUIT_ID, l);
3931 }
3932#endif
3933#if 201103L <= YY_CPLUSPLUS
3934 static
3935 symbol_type
3936 make_CLIENT_ID (location_type l)
3937 {
3938 return symbol_type (token::TOKEN_CLIENT_ID, std::move (l));
3939 }
3940#else
3941 static
3942 symbol_type
3944 {
3945 return symbol_type (token::TOKEN_CLIENT_ID, l);
3946 }
3947#endif
3948#if 201103L <= YY_CPLUSPLUS
3949 static
3950 symbol_type
3951 make_HOSTNAME (location_type l)
3952 {
3953 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3954 }
3955#else
3956 static
3957 symbol_type
3959 {
3960 return symbol_type (token::TOKEN_HOSTNAME, l);
3961 }
3962#endif
3963#if 201103L <= YY_CPLUSPLUS
3964 static
3965 symbol_type
3966 make_FLEX_ID (location_type l)
3967 {
3968 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3969 }
3970#else
3971 static
3972 symbol_type
3974 {
3975 return symbol_type (token::TOKEN_FLEX_ID, l);
3976 }
3977#endif
3978#if 201103L <= YY_CPLUSPLUS
3979 static
3980 symbol_type
3981 make_RELAY (location_type l)
3982 {
3983 return symbol_type (token::TOKEN_RELAY, std::move (l));
3984 }
3985#else
3986 static
3987 symbol_type
3989 {
3990 return symbol_type (token::TOKEN_RELAY, l);
3991 }
3992#endif
3993#if 201103L <= YY_CPLUSPLUS
3994 static
3995 symbol_type
3996 make_IP_ADDRESS (location_type l)
3997 {
3998 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3999 }
4000#else
4001 static
4002 symbol_type
4004 {
4005 return symbol_type (token::TOKEN_IP_ADDRESS, l);
4006 }
4007#endif
4008#if 201103L <= YY_CPLUSPLUS
4009 static
4010 symbol_type
4011 make_IP_ADDRESSES (location_type l)
4012 {
4013 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
4014 }
4015#else
4016 static
4017 symbol_type
4019 {
4020 return symbol_type (token::TOKEN_IP_ADDRESSES, l);
4021 }
4022#endif
4023#if 201103L <= YY_CPLUSPLUS
4024 static
4025 symbol_type
4026 make_HOOKS_LIBRARIES (location_type l)
4027 {
4028 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
4029 }
4030#else
4031 static
4032 symbol_type
4034 {
4035 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
4036 }
4037#endif
4038#if 201103L <= YY_CPLUSPLUS
4039 static
4040 symbol_type
4041 make_LIBRARY (location_type l)
4042 {
4043 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
4044 }
4045#else
4046 static
4047 symbol_type
4049 {
4050 return symbol_type (token::TOKEN_LIBRARY, l);
4051 }
4052#endif
4053#if 201103L <= YY_CPLUSPLUS
4054 static
4055 symbol_type
4056 make_PARAMETERS (location_type l)
4057 {
4058 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
4059 }
4060#else
4061 static
4062 symbol_type
4064 {
4065 return symbol_type (token::TOKEN_PARAMETERS, l);
4066 }
4067#endif
4068#if 201103L <= YY_CPLUSPLUS
4069 static
4070 symbol_type
4071 make_EXPIRED_LEASES_PROCESSING (location_type l)
4072 {
4073 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
4074 }
4075#else
4076 static
4077 symbol_type
4079 {
4080 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
4081 }
4082#endif
4083#if 201103L <= YY_CPLUSPLUS
4084 static
4085 symbol_type
4086 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
4087 {
4088 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
4089 }
4090#else
4091 static
4092 symbol_type
4094 {
4095 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
4096 }
4097#endif
4098#if 201103L <= YY_CPLUSPLUS
4099 static
4100 symbol_type
4101 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
4102 {
4103 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
4104 }
4105#else
4106 static
4107 symbol_type
4109 {
4110 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
4111 }
4112#endif
4113#if 201103L <= YY_CPLUSPLUS
4114 static
4115 symbol_type
4116 make_HOLD_RECLAIMED_TIME (location_type l)
4117 {
4118 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
4119 }
4120#else
4121 static
4122 symbol_type
4124 {
4125 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
4126 }
4127#endif
4128#if 201103L <= YY_CPLUSPLUS
4129 static
4130 symbol_type
4131 make_MAX_RECLAIM_LEASES (location_type l)
4132 {
4133 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
4134 }
4135#else
4136 static
4137 symbol_type
4139 {
4140 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
4141 }
4142#endif
4143#if 201103L <= YY_CPLUSPLUS
4144 static
4145 symbol_type
4146 make_MAX_RECLAIM_TIME (location_type l)
4147 {
4148 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
4149 }
4150#else
4151 static
4152 symbol_type
4154 {
4155 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
4156 }
4157#endif
4158#if 201103L <= YY_CPLUSPLUS
4159 static
4160 symbol_type
4161 make_UNWARNED_RECLAIM_CYCLES (location_type l)
4162 {
4163 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
4164 }
4165#else
4166 static
4167 symbol_type
4169 {
4170 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
4171 }
4172#endif
4173#if 201103L <= YY_CPLUSPLUS
4174 static
4175 symbol_type
4176 make_DHCP4O6_PORT (location_type l)
4177 {
4178 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4179 }
4180#else
4181 static
4182 symbol_type
4184 {
4185 return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
4186 }
4187#endif
4188#if 201103L <= YY_CPLUSPLUS
4189 static
4190 symbol_type
4191 make_DHCP_MULTI_THREADING (location_type l)
4192 {
4193 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4194 }
4195#else
4196 static
4197 symbol_type
4199 {
4200 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
4201 }
4202#endif
4203#if 201103L <= YY_CPLUSPLUS
4204 static
4205 symbol_type
4206 make_ENABLE_MULTI_THREADING (location_type l)
4207 {
4208 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4209 }
4210#else
4211 static
4212 symbol_type
4214 {
4215 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
4216 }
4217#endif
4218#if 201103L <= YY_CPLUSPLUS
4219 static
4220 symbol_type
4221 make_THREAD_POOL_SIZE (location_type l)
4222 {
4223 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4224 }
4225#else
4226 static
4227 symbol_type
4229 {
4230 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
4231 }
4232#endif
4233#if 201103L <= YY_CPLUSPLUS
4234 static
4235 symbol_type
4236 make_PACKET_QUEUE_SIZE (location_type l)
4237 {
4238 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4239 }
4240#else
4241 static
4242 symbol_type
4244 {
4245 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
4246 }
4247#endif
4248#if 201103L <= YY_CPLUSPLUS
4249 static
4250 symbol_type
4251 make_CONTROL_SOCKET (location_type l)
4252 {
4253 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4254 }
4255#else
4256 static
4257 symbol_type
4259 {
4260 return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
4261 }
4262#endif
4263#if 201103L <= YY_CPLUSPLUS
4264 static
4265 symbol_type
4266 make_SOCKET_TYPE (location_type l)
4267 {
4268 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4269 }
4270#else
4271 static
4272 symbol_type
4274 {
4275 return symbol_type (token::TOKEN_SOCKET_TYPE, l);
4276 }
4277#endif
4278#if 201103L <= YY_CPLUSPLUS
4279 static
4280 symbol_type
4281 make_SOCKET_NAME (location_type l)
4282 {
4283 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4284 }
4285#else
4286 static
4287 symbol_type
4289 {
4290 return symbol_type (token::TOKEN_SOCKET_NAME, l);
4291 }
4292#endif
4293#if 201103L <= YY_CPLUSPLUS
4294 static
4295 symbol_type
4296 make_DHCP_QUEUE_CONTROL (location_type l)
4297 {
4298 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4299 }
4300#else
4301 static
4302 symbol_type
4304 {
4305 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
4306 }
4307#endif
4308#if 201103L <= YY_CPLUSPLUS
4309 static
4310 symbol_type
4311 make_ENABLE_QUEUE (location_type l)
4312 {
4313 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4314 }
4315#else
4316 static
4317 symbol_type
4319 {
4320 return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
4321 }
4322#endif
4323#if 201103L <= YY_CPLUSPLUS
4324 static
4325 symbol_type
4326 make_QUEUE_TYPE (location_type l)
4327 {
4328 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4329 }
4330#else
4331 static
4332 symbol_type
4334 {
4335 return symbol_type (token::TOKEN_QUEUE_TYPE, l);
4336 }
4337#endif
4338#if 201103L <= YY_CPLUSPLUS
4339 static
4340 symbol_type
4341 make_CAPACITY (location_type l)
4342 {
4343 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4344 }
4345#else
4346 static
4347 symbol_type
4349 {
4350 return symbol_type (token::TOKEN_CAPACITY, l);
4351 }
4352#endif
4353#if 201103L <= YY_CPLUSPLUS
4354 static
4355 symbol_type
4356 make_DHCP_DDNS (location_type l)
4357 {
4358 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4359 }
4360#else
4361 static
4362 symbol_type
4364 {
4365 return symbol_type (token::TOKEN_DHCP_DDNS, l);
4366 }
4367#endif
4368#if 201103L <= YY_CPLUSPLUS
4369 static
4370 symbol_type
4371 make_ENABLE_UPDATES (location_type l)
4372 {
4373 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4374 }
4375#else
4376 static
4377 symbol_type
4379 {
4380 return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
4381 }
4382#endif
4383#if 201103L <= YY_CPLUSPLUS
4384 static
4385 symbol_type
4386 make_QUALIFYING_SUFFIX (location_type l)
4387 {
4388 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4389 }
4390#else
4391 static
4392 symbol_type
4394 {
4395 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
4396 }
4397#endif
4398#if 201103L <= YY_CPLUSPLUS
4399 static
4400 symbol_type
4401 make_SERVER_IP (location_type l)
4402 {
4403 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4404 }
4405#else
4406 static
4407 symbol_type
4409 {
4410 return symbol_type (token::TOKEN_SERVER_IP, l);
4411 }
4412#endif
4413#if 201103L <= YY_CPLUSPLUS
4414 static
4415 symbol_type
4416 make_SERVER_PORT (location_type l)
4417 {
4418 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4419 }
4420#else
4421 static
4422 symbol_type
4424 {
4425 return symbol_type (token::TOKEN_SERVER_PORT, l);
4426 }
4427#endif
4428#if 201103L <= YY_CPLUSPLUS
4429 static
4430 symbol_type
4431 make_SENDER_IP (location_type l)
4432 {
4433 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4434 }
4435#else
4436 static
4437 symbol_type
4439 {
4440 return symbol_type (token::TOKEN_SENDER_IP, l);
4441 }
4442#endif
4443#if 201103L <= YY_CPLUSPLUS
4444 static
4445 symbol_type
4446 make_SENDER_PORT (location_type l)
4447 {
4448 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4449 }
4450#else
4451 static
4452 symbol_type
4454 {
4455 return symbol_type (token::TOKEN_SENDER_PORT, l);
4456 }
4457#endif
4458#if 201103L <= YY_CPLUSPLUS
4459 static
4460 symbol_type
4461 make_MAX_QUEUE_SIZE (location_type l)
4462 {
4463 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4464 }
4465#else
4466 static
4467 symbol_type
4469 {
4470 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
4471 }
4472#endif
4473#if 201103L <= YY_CPLUSPLUS
4474 static
4475 symbol_type
4476 make_NCR_PROTOCOL (location_type l)
4477 {
4478 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4479 }
4480#else
4481 static
4482 symbol_type
4484 {
4485 return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
4486 }
4487#endif
4488#if 201103L <= YY_CPLUSPLUS
4489 static
4490 symbol_type
4491 make_NCR_FORMAT (location_type l)
4492 {
4493 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4494 }
4495#else
4496 static
4497 symbol_type
4499 {
4500 return symbol_type (token::TOKEN_NCR_FORMAT, l);
4501 }
4502#endif
4503#if 201103L <= YY_CPLUSPLUS
4504 static
4505 symbol_type
4506 make_OVERRIDE_NO_UPDATE (location_type l)
4507 {
4508 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4509 }
4510#else
4511 static
4512 symbol_type
4514 {
4515 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
4516 }
4517#endif
4518#if 201103L <= YY_CPLUSPLUS
4519 static
4520 symbol_type
4521 make_OVERRIDE_CLIENT_UPDATE (location_type l)
4522 {
4523 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4524 }
4525#else
4526 static
4527 symbol_type
4529 {
4530 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
4531 }
4532#endif
4533#if 201103L <= YY_CPLUSPLUS
4534 static
4535 symbol_type
4536 make_REPLACE_CLIENT_NAME (location_type l)
4537 {
4538 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4539 }
4540#else
4541 static
4542 symbol_type
4544 {
4545 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
4546 }
4547#endif
4548#if 201103L <= YY_CPLUSPLUS
4549 static
4550 symbol_type
4551 make_GENERATED_PREFIX (location_type l)
4552 {
4553 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4554 }
4555#else
4556 static
4557 symbol_type
4559 {
4560 return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
4561 }
4562#endif
4563#if 201103L <= YY_CPLUSPLUS
4564 static
4565 symbol_type
4566 make_TCP (location_type l)
4567 {
4568 return symbol_type (token::TOKEN_TCP, std::move (l));
4569 }
4570#else
4571 static
4572 symbol_type
4574 {
4575 return symbol_type (token::TOKEN_TCP, l);
4576 }
4577#endif
4578#if 201103L <= YY_CPLUSPLUS
4579 static
4580 symbol_type
4581 make_JSON (location_type l)
4582 {
4583 return symbol_type (token::TOKEN_JSON, std::move (l));
4584 }
4585#else
4586 static
4587 symbol_type
4589 {
4590 return symbol_type (token::TOKEN_JSON, l);
4591 }
4592#endif
4593#if 201103L <= YY_CPLUSPLUS
4594 static
4595 symbol_type
4596 make_WHEN_PRESENT (location_type l)
4597 {
4598 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4599 }
4600#else
4601 static
4602 symbol_type
4604 {
4605 return symbol_type (token::TOKEN_WHEN_PRESENT, l);
4606 }
4607#endif
4608#if 201103L <= YY_CPLUSPLUS
4609 static
4610 symbol_type
4611 make_NEVER (location_type l)
4612 {
4613 return symbol_type (token::TOKEN_NEVER, std::move (l));
4614 }
4615#else
4616 static
4617 symbol_type
4619 {
4620 return symbol_type (token::TOKEN_NEVER, l);
4621 }
4622#endif
4623#if 201103L <= YY_CPLUSPLUS
4624 static
4625 symbol_type
4626 make_ALWAYS (location_type l)
4627 {
4628 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4629 }
4630#else
4631 static
4632 symbol_type
4634 {
4635 return symbol_type (token::TOKEN_ALWAYS, l);
4636 }
4637#endif
4638#if 201103L <= YY_CPLUSPLUS
4639 static
4640 symbol_type
4641 make_WHEN_NOT_PRESENT (location_type l)
4642 {
4643 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4644 }
4645#else
4646 static
4647 symbol_type
4649 {
4650 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
4651 }
4652#endif
4653#if 201103L <= YY_CPLUSPLUS
4654 static
4655 symbol_type
4656 make_HOSTNAME_CHAR_SET (location_type l)
4657 {
4658 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4659 }
4660#else
4661 static
4662 symbol_type
4664 {
4665 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
4666 }
4667#endif
4668#if 201103L <= YY_CPLUSPLUS
4669 static
4670 symbol_type
4671 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4672 {
4673 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4674 }
4675#else
4676 static
4677 symbol_type
4679 {
4680 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
4681 }
4682#endif
4683#if 201103L <= YY_CPLUSPLUS
4684 static
4685 symbol_type
4686 make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
4687 {
4688 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
4689 }
4690#else
4691 static
4692 symbol_type
4694 {
4695 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, l);
4696 }
4697#endif
4698#if 201103L <= YY_CPLUSPLUS
4699 static
4700 symbol_type
4701 make_IP_RESERVATIONS_UNIQUE (location_type l)
4702 {
4703 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4704 }
4705#else
4706 static
4707 symbol_type
4709 {
4710 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
4711 }
4712#endif
4713#if 201103L <= YY_CPLUSPLUS
4714 static
4715 symbol_type
4716 make_RESERVATIONS_LOOKUP_FIRST (location_type l)
4717 {
4718 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
4719 }
4720#else
4721 static
4722 symbol_type
4724 {
4725 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, l);
4726 }
4727#endif
4728#if 201103L <= YY_CPLUSPLUS
4729 static
4730 symbol_type
4731 make_LOGGERS (location_type l)
4732 {
4733 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4734 }
4735#else
4736 static
4737 symbol_type
4739 {
4740 return symbol_type (token::TOKEN_LOGGERS, l);
4741 }
4742#endif
4743#if 201103L <= YY_CPLUSPLUS
4744 static
4745 symbol_type
4746 make_OUTPUT_OPTIONS (location_type l)
4747 {
4748 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4749 }
4750#else
4751 static
4752 symbol_type
4754 {
4755 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
4756 }
4757#endif
4758#if 201103L <= YY_CPLUSPLUS
4759 static
4760 symbol_type
4761 make_OUTPUT (location_type l)
4762 {
4763 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4764 }
4765#else
4766 static
4767 symbol_type
4769 {
4770 return symbol_type (token::TOKEN_OUTPUT, l);
4771 }
4772#endif
4773#if 201103L <= YY_CPLUSPLUS
4774 static
4775 symbol_type
4776 make_DEBUGLEVEL (location_type l)
4777 {
4778 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4779 }
4780#else
4781 static
4782 symbol_type
4784 {
4785 return symbol_type (token::TOKEN_DEBUGLEVEL, l);
4786 }
4787#endif
4788#if 201103L <= YY_CPLUSPLUS
4789 static
4790 symbol_type
4791 make_SEVERITY (location_type l)
4792 {
4793 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4794 }
4795#else
4796 static
4797 symbol_type
4799 {
4800 return symbol_type (token::TOKEN_SEVERITY, l);
4801 }
4802#endif
4803#if 201103L <= YY_CPLUSPLUS
4804 static
4805 symbol_type
4806 make_FLUSH (location_type l)
4807 {
4808 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4809 }
4810#else
4811 static
4812 symbol_type
4814 {
4815 return symbol_type (token::TOKEN_FLUSH, l);
4816 }
4817#endif
4818#if 201103L <= YY_CPLUSPLUS
4819 static
4820 symbol_type
4821 make_MAXSIZE (location_type l)
4822 {
4823 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4824 }
4825#else
4826 static
4827 symbol_type
4829 {
4830 return symbol_type (token::TOKEN_MAXSIZE, l);
4831 }
4832#endif
4833#if 201103L <= YY_CPLUSPLUS
4834 static
4835 symbol_type
4836 make_MAXVER (location_type l)
4837 {
4838 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4839 }
4840#else
4841 static
4842 symbol_type
4844 {
4845 return symbol_type (token::TOKEN_MAXVER, l);
4846 }
4847#endif
4848#if 201103L <= YY_CPLUSPLUS
4849 static
4850 symbol_type
4851 make_PATTERN (location_type l)
4852 {
4853 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4854 }
4855#else
4856 static
4857 symbol_type
4859 {
4860 return symbol_type (token::TOKEN_PATTERN, l);
4861 }
4862#endif
4863#if 201103L <= YY_CPLUSPLUS
4864 static
4865 symbol_type
4866 make_COMPATIBILITY (location_type l)
4867 {
4868 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4869 }
4870#else
4871 static
4872 symbol_type
4874 {
4875 return symbol_type (token::TOKEN_COMPATIBILITY, l);
4876 }
4877#endif
4878#if 201103L <= YY_CPLUSPLUS
4879 static
4880 symbol_type
4881 make_LENIENT_OPTION_PARSING (location_type l)
4882 {
4883 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4884 }
4885#else
4886 static
4887 symbol_type
4889 {
4890 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, l);
4891 }
4892#endif
4893#if 201103L <= YY_CPLUSPLUS
4894 static
4895 symbol_type
4896 make_IGNORE_DHCP_SERVER_ID (location_type l)
4897 {
4898 return symbol_type (token::TOKEN_IGNORE_DHCP_SERVER_ID, std::move (l));
4899 }
4900#else
4901 static
4902 symbol_type
4904 {
4905 return symbol_type (token::TOKEN_IGNORE_DHCP_SERVER_ID, l);
4906 }
4907#endif
4908#if 201103L <= YY_CPLUSPLUS
4909 static
4910 symbol_type
4911 make_IGNORE_RAI_LINK_SEL (location_type l)
4912 {
4913 return symbol_type (token::TOKEN_IGNORE_RAI_LINK_SEL, std::move (l));
4914 }
4915#else
4916 static
4917 symbol_type
4919 {
4920 return symbol_type (token::TOKEN_IGNORE_RAI_LINK_SEL, l);
4921 }
4922#endif
4923#if 201103L <= YY_CPLUSPLUS
4924 static
4925 symbol_type
4926 make_EXCLUDE_FIRST_LAST_24 (location_type l)
4927 {
4928 return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, std::move (l));
4929 }
4930#else
4931 static
4932 symbol_type
4934 {
4935 return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, l);
4936 }
4937#endif
4938#if 201103L <= YY_CPLUSPLUS
4939 static
4940 symbol_type
4941 make_TOPLEVEL_JSON (location_type l)
4942 {
4943 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4944 }
4945#else
4946 static
4947 symbol_type
4949 {
4950 return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
4951 }
4952#endif
4953#if 201103L <= YY_CPLUSPLUS
4954 static
4955 symbol_type
4956 make_TOPLEVEL_DHCP4 (location_type l)
4957 {
4958 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, std::move (l));
4959 }
4960#else
4961 static
4962 symbol_type
4964 {
4965 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, l);
4966 }
4967#endif
4968#if 201103L <= YY_CPLUSPLUS
4969 static
4970 symbol_type
4971 make_SUB_DHCP4 (location_type l)
4972 {
4973 return symbol_type (token::TOKEN_SUB_DHCP4, std::move (l));
4974 }
4975#else
4976 static
4977 symbol_type
4979 {
4980 return symbol_type (token::TOKEN_SUB_DHCP4, l);
4981 }
4982#endif
4983#if 201103L <= YY_CPLUSPLUS
4984 static
4985 symbol_type
4986 make_SUB_INTERFACES4 (location_type l)
4987 {
4988 return symbol_type (token::TOKEN_SUB_INTERFACES4, std::move (l));
4989 }
4990#else
4991 static
4992 symbol_type
4994 {
4995 return symbol_type (token::TOKEN_SUB_INTERFACES4, l);
4996 }
4997#endif
4998#if 201103L <= YY_CPLUSPLUS
4999 static
5000 symbol_type
5001 make_SUB_SUBNET4 (location_type l)
5002 {
5003 return symbol_type (token::TOKEN_SUB_SUBNET4, std::move (l));
5004 }
5005#else
5006 static
5007 symbol_type
5009 {
5010 return symbol_type (token::TOKEN_SUB_SUBNET4, l);
5011 }
5012#endif
5013#if 201103L <= YY_CPLUSPLUS
5014 static
5015 symbol_type
5016 make_SUB_POOL4 (location_type l)
5017 {
5018 return symbol_type (token::TOKEN_SUB_POOL4, std::move (l));
5019 }
5020#else
5021 static
5022 symbol_type
5024 {
5025 return symbol_type (token::TOKEN_SUB_POOL4, l);
5026 }
5027#endif
5028#if 201103L <= YY_CPLUSPLUS
5029 static
5030 symbol_type
5031 make_SUB_RESERVATION (location_type l)
5032 {
5033 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
5034 }
5035#else
5036 static
5037 symbol_type
5039 {
5040 return symbol_type (token::TOKEN_SUB_RESERVATION, l);
5041 }
5042#endif
5043#if 201103L <= YY_CPLUSPLUS
5044 static
5045 symbol_type
5046 make_SUB_OPTION_DEFS (location_type l)
5047 {
5048 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
5049 }
5050#else
5051 static
5052 symbol_type
5054 {
5055 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
5056 }
5057#endif
5058#if 201103L <= YY_CPLUSPLUS
5059 static
5060 symbol_type
5061 make_SUB_OPTION_DEF (location_type l)
5062 {
5063 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
5064 }
5065#else
5066 static
5067 symbol_type
5069 {
5070 return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
5071 }
5072#endif
5073#if 201103L <= YY_CPLUSPLUS
5074 static
5075 symbol_type
5076 make_SUB_OPTION_DATA (location_type l)
5077 {
5078 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
5079 }
5080#else
5081 static
5082 symbol_type
5084 {
5085 return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
5086 }
5087#endif
5088#if 201103L <= YY_CPLUSPLUS
5089 static
5090 symbol_type
5091 make_SUB_HOOKS_LIBRARY (location_type l)
5092 {
5093 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
5094 }
5095#else
5096 static
5097 symbol_type
5099 {
5100 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
5101 }
5102#endif
5103#if 201103L <= YY_CPLUSPLUS
5104 static
5105 symbol_type
5106 make_SUB_DHCP_DDNS (location_type l)
5107 {
5108 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
5109 }
5110#else
5111 static
5112 symbol_type
5114 {
5115 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
5116 }
5117#endif
5118#if 201103L <= YY_CPLUSPLUS
5119 static
5120 symbol_type
5121 make_SUB_CONFIG_CONTROL (location_type l)
5122 {
5123 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
5124 }
5125#else
5126 static
5127 symbol_type
5129 {
5130 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
5131 }
5132#endif
5133#if 201103L <= YY_CPLUSPLUS
5134 static
5135 symbol_type
5136 make_STRING (std::string v, location_type l)
5137 {
5138 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
5139 }
5140#else
5141 static
5142 symbol_type
5143 make_STRING (const std::string& v, const location_type& l)
5144 {
5145 return symbol_type (token::TOKEN_STRING, v, l);
5146 }
5147#endif
5148#if 201103L <= YY_CPLUSPLUS
5149 static
5150 symbol_type
5151 make_INTEGER (int64_t v, location_type l)
5152 {
5153 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
5154 }
5155#else
5156 static
5157 symbol_type
5158 make_INTEGER (const int64_t& v, const location_type& l)
5159 {
5160 return symbol_type (token::TOKEN_INTEGER, v, l);
5161 }
5162#endif
5163#if 201103L <= YY_CPLUSPLUS
5164 static
5165 symbol_type
5166 make_FLOAT (double v, location_type l)
5167 {
5168 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
5169 }
5170#else
5171 static
5172 symbol_type
5173 make_FLOAT (const double& v, const location_type& l)
5174 {
5175 return symbol_type (token::TOKEN_FLOAT, v, l);
5176 }
5177#endif
5178#if 201103L <= YY_CPLUSPLUS
5179 static
5180 symbol_type
5181 make_BOOLEAN (bool v, location_type l)
5182 {
5183 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
5184 }
5185#else
5186 static
5187 symbol_type
5188 make_BOOLEAN (const bool& v, const location_type& l)
5189 {
5190 return symbol_type (token::TOKEN_BOOLEAN, v, l);
5191 }
5192#endif
5193
5194
5196 {
5197 public:
5198 context (const Dhcp4Parser& yyparser, const symbol_type& yyla);
5199 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
5200 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
5201 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
5202
5206 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
5207
5208 private:
5209 const Dhcp4Parser& yyparser_;
5210 const symbol_type& yyla_;
5211 };
5212
5213 private:
5214#if YY_CPLUSPLUS < 201103L
5216 Dhcp4Parser (const Dhcp4Parser&);
5218 Dhcp4Parser& operator= (const Dhcp4Parser&);
5219#endif
5220
5221
5223 typedef short state_type;
5224
5226 int yy_syntax_error_arguments_ (const context& yyctx,
5227 symbol_kind_type yyarg[], int yyargn) const;
5228
5231 virtual std::string yysyntax_error_ (const context& yyctx) const;
5235 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
5236
5239 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
5240
5243 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
5244
5245 static const short yypact_ninf_;
5246 static const signed char yytable_ninf_;
5247
5251 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
5252
5254 static std::string yytnamerr_ (const char *yystr);
5255
5257 static const char* const yytname_[];
5258
5259
5260 // Tables.
5261 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5262 // STATE-NUM.
5263 static const short yypact_[];
5264
5265 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5266 // Performed when YYTABLE does not specify something else to do. Zero
5267 // means the default is an error.
5268 static const short yydefact_[];
5269
5270 // YYPGOTO[NTERM-NUM].
5271 static const short yypgoto_[];
5272
5273 // YYDEFGOTO[NTERM-NUM].
5274 static const short yydefgoto_[];
5275
5276 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5277 // positive, shift that token. If negative, reduce the rule whose
5278 // number is the opposite. If YYTABLE_NINF, syntax error.
5279 static const short yytable_[];
5280
5281 static const short yycheck_[];
5282
5283 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
5284 // state STATE-NUM.
5285 static const short yystos_[];
5286
5287 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
5288 static const short yyr1_[];
5289
5290 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
5291 static const signed char yyr2_[];
5292
5293
5294#if PARSER4_DEBUG
5295 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5296 static const short yyrline_[];
5298 virtual void yy_reduce_print_ (int r) const;
5300 virtual void yy_stack_print_ () const;
5301
5303 int yydebug_;
5305 std::ostream* yycdebug_;
5306
5310 template <typename Base>
5311 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5312#endif
5313
5318 template <typename Base>
5319 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5320
5321 private:
5323 struct by_state
5324 {
5326 by_state () YY_NOEXCEPT;
5327
5329 typedef state_type kind_type;
5330
5332 by_state (kind_type s) YY_NOEXCEPT;
5333
5335 by_state (const by_state& that) YY_NOEXCEPT;
5336
5338 void clear () YY_NOEXCEPT;
5339
5341 void move (by_state& that);
5342
5345 symbol_kind_type kind () const YY_NOEXCEPT;
5346
5349 enum { empty_state = 0 };
5350
5353 state_type state;
5354 };
5355
5357 struct stack_symbol_type : basic_symbol<by_state>
5358 {
5360 typedef basic_symbol<by_state> super_type;
5362 stack_symbol_type ();
5364 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5366 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5367#if YY_CPLUSPLUS < 201103L
5370 stack_symbol_type& operator= (stack_symbol_type& that);
5371
5374 stack_symbol_type& operator= (const stack_symbol_type& that);
5375#endif
5376 };
5377
5379 template <typename T, typename S = std::vector<T> >
5380 class stack
5381 {
5382 public:
5383 // Hide our reversed order.
5384 typedef typename S::iterator iterator;
5385 typedef typename S::const_iterator const_iterator;
5386 typedef typename S::size_type size_type;
5387 typedef typename std::ptrdiff_t index_type;
5388
5389 stack (size_type n = 200) YY_NOEXCEPT
5390 : seq_ (n)
5391 {}
5392
5393#if 201103L <= YY_CPLUSPLUS
5395 stack (const stack&) = delete;
5397 stack& operator= (const stack&) = delete;
5398#endif
5399
5403 const T&
5404 operator[] (index_type i) const
5405 {
5406 return seq_[size_type (size () - 1 - i)];
5407 }
5408
5412 T&
5413 operator[] (index_type i)
5414 {
5415 return seq_[size_type (size () - 1 - i)];
5416 }
5417
5421 void
5422 push (YY_MOVE_REF (T) t)
5423 {
5424 seq_.push_back (T ());
5425 operator[] (0).move (t);
5426 }
5427
5429 void
5430 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5431 {
5432 for (; 0 < n; --n)
5433 seq_.pop_back ();
5434 }
5435
5437 void
5438 clear () YY_NOEXCEPT
5439 {
5440 seq_.clear ();
5441 }
5442
5444 index_type
5445 size () const YY_NOEXCEPT
5446 {
5447 return index_type (seq_.size ());
5448 }
5449
5451 const_iterator
5452 begin () const YY_NOEXCEPT
5453 {
5454 return seq_.begin ();
5455 }
5456
5458 const_iterator
5459 end () const YY_NOEXCEPT
5460 {
5461 return seq_.end ();
5462 }
5463
5465 class slice
5466 {
5467 public:
5468 slice (const stack& stack, index_type range) YY_NOEXCEPT
5469 : stack_ (stack)
5470 , range_ (range)
5471 {}
5472
5473 const T&
5474 operator[] (index_type i) const
5475 {
5476 return stack_[range_ - i];
5477 }
5478
5479 private:
5480 const stack& stack_;
5481 index_type range_;
5482 };
5483
5484 private:
5485#if YY_CPLUSPLUS < 201103L
5487 stack (const stack&);
5489 stack& operator= (const stack&);
5490#endif
5492 S seq_;
5493 };
5494
5495
5497 typedef stack<stack_symbol_type> stack_type;
5498
5500 stack_type yystack_;
5501
5507 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5508
5515 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5516
5518 void yypop_ (int n = 1) YY_NOEXCEPT;
5519
5521 enum
5522 {
5523 yylast_ = 1352,
5524 yynnts_ = 442,
5525 yyfinal_ = 28
5526 };
5527
5528
5529 // User arguments.
5531
5532 };