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