Kea 3.1.9
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
38
39// C++ LALR(1) parser skeleton written by Akim Demaille.
40
41// DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
42// especially those whose name start with YY_ or yy_. They are
43// private implementation details that can be changed or removed.
44
45#ifndef YY_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 // ssl_mode
436 // control_socket_type_value
437 // auth_type_value
438 // ncr_protocol_value
439 char dummy1[sizeof (ElementPtr)];
440
441 // "boolean"
442 char dummy2[sizeof (bool)];
443
444 // "floating point"
445 char dummy3[sizeof (double)];
446
447 // "integer"
448 char dummy4[sizeof (int64_t)];
449
450 // "constant string"
451 char dummy5[sizeof (std::string)];
452 };
453
455 enum { size = sizeof (union_type) };
456
458 union
459 {
461 long double yyalign_me_;
463 char yyraw_[size];
464 };
465
467 const std::type_info *yytypeid_;
468 };
469
470#endif
473
475 typedef location location_type;
476
478 struct syntax_error : std::runtime_error
479 {
480 syntax_error (const location_type& l, const std::string& m)
481 : std::runtime_error (m)
482 , location (l)
483 {}
484
486 : std::runtime_error (s.what ())
487 , location (s.location)
488 {}
489
491
493 };
494
496 struct token
497 {
499 {
501 TOKEN_END = 0, // "end of file"
502 TOKEN_PARSER4_error = 256, // error
503 TOKEN_PARSER4_UNDEF = 257, // "invalid token"
504 TOKEN_COMMA = 258, // ","
505 TOKEN_COLON = 259, // ":"
510 TOKEN_NULL_TYPE = 264, // "null"
511 TOKEN_DHCP4 = 265, // "Dhcp4"
512 TOKEN_CONFIG_CONTROL = 266, // "config-control"
513 TOKEN_CONFIG_DATABASES = 267, // "config-databases"
514 TOKEN_CONFIG_FETCH_WAIT_TIME = 268, // "config-fetch-wait-time"
515 TOKEN_INTERFACES_CONFIG = 269, // "interfaces-config"
516 TOKEN_INTERFACES = 270, // "interfaces"
517 TOKEN_DHCP_SOCKET_TYPE = 271, // "dhcp-socket-type"
518 TOKEN_RAW = 272, // "raw"
519 TOKEN_UDP = 273, // "udp"
520 TOKEN_OUTBOUND_INTERFACE = 274, // "outbound-interface"
521 TOKEN_SAME_AS_INBOUND = 275, // "same-as-inbound"
522 TOKEN_USE_ROUTING = 276, // "use-routing"
523 TOKEN_RE_DETECT = 277, // "re-detect"
524 TOKEN_SERVICE_SOCKETS_REQUIRE_ALL = 278, // "service-sockets-require-all"
525 TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME = 279, // "service-sockets-retry-wait-time"
526 TOKEN_SERVICE_SOCKETS_MAX_RETRIES = 280, // "service-sockets-max-retries"
527 TOKEN_SANITY_CHECKS = 281, // "sanity-checks"
528 TOKEN_LEASE_CHECKS = 282, // "lease-checks"
529 TOKEN_EXTENDED_INFO_CHECKS = 283, // "extended-info-checks"
530 TOKEN_ECHO_CLIENT_ID = 284, // "echo-client-id"
531 TOKEN_MATCH_CLIENT_ID = 285, // "match-client-id"
532 TOKEN_AUTHORITATIVE = 286, // "authoritative"
533 TOKEN_NEXT_SERVER = 287, // "next-server"
534 TOKEN_SERVER_HOSTNAME = 288, // "server-hostname"
535 TOKEN_BOOT_FILE_NAME = 289, // "boot-file-name"
536 TOKEN_OFFER_LFT = 290, // "offer-lifetime"
537 TOKEN_STASH_AGENT_OPTIONS = 291, // "stash-agent-options"
538 TOKEN_LEASE_DATABASE = 292, // "lease-database"
539 TOKEN_HOSTS_DATABASE = 293, // "hosts-database"
540 TOKEN_HOSTS_DATABASES = 294, // "hosts-databases"
541 TOKEN_TYPE = 295, // "type"
542 TOKEN_USER = 296, // "user"
543 TOKEN_PASSWORD = 297, // "password"
544 TOKEN_HOST = 298, // "host"
545 TOKEN_PORT = 299, // "port"
546 TOKEN_PERSIST = 300, // "persist"
547 TOKEN_LFC_INTERVAL = 301, // "lfc-interval"
548 TOKEN_READONLY = 302, // "readonly"
549 TOKEN_CONNECT_TIMEOUT = 303, // "connect-timeout"
550 TOKEN_READ_TIMEOUT = 304, // "read-timeout"
551 TOKEN_WRITE_TIMEOUT = 305, // "write-timeout"
552 TOKEN_TCP_USER_TIMEOUT = 306, // "tcp-user-timeout"
553 TOKEN_MAX_RECONNECT_TRIES = 307, // "max-reconnect-tries"
554 TOKEN_RECONNECT_WAIT_TIME = 308, // "reconnect-wait-time"
555 TOKEN_ON_FAIL = 309, // "on-fail"
556 TOKEN_STOP_RETRY_EXIT = 310, // "stop-retry-exit"
557 TOKEN_SERVE_RETRY_EXIT = 311, // "serve-retry-exit"
558 TOKEN_SERVE_RETRY_CONTINUE = 312, // "serve-retry-continue"
559 TOKEN_RETRY_ON_STARTUP = 313, // "retry-on-startup"
560 TOKEN_MAX_ROW_ERRORS = 314, // "max-row-errors"
561 TOKEN_TRUST_ANCHOR = 315, // "trust-anchor"
562 TOKEN_CERT_FILE = 316, // "cert-file"
563 TOKEN_KEY_FILE = 317, // "key-file"
564 TOKEN_SSL_MODE = 318, // "ssl-mode"
565 TOKEN_DISABLE = 319, // "disable"
566 TOKEN_PREFER = 320, // "prefer"
567 TOKEN_REQUIRE = 321, // "require"
568 TOKEN_VERIFY_CA = 322, // "verify-ca"
569 TOKEN_VERIFY_FULL = 323, // "verify-full"
570 TOKEN_CIPHER_LIST = 324, // "cipher-list"
571 TOKEN_VALID_LIFETIME = 325, // "valid-lifetime"
572 TOKEN_MIN_VALID_LIFETIME = 326, // "min-valid-lifetime"
573 TOKEN_MAX_VALID_LIFETIME = 327, // "max-valid-lifetime"
574 TOKEN_RENEW_TIMER = 328, // "renew-timer"
575 TOKEN_REBIND_TIMER = 329, // "rebind-timer"
576 TOKEN_CALCULATE_TEE_TIMES = 330, // "calculate-tee-times"
577 TOKEN_T1_PERCENT = 331, // "t1-percent"
578 TOKEN_T2_PERCENT = 332, // "t2-percent"
579 TOKEN_CACHE_THRESHOLD = 333, // "cache-threshold"
580 TOKEN_CACHE_MAX_AGE = 334, // "cache-max-age"
581 TOKEN_ADAPTIVE_LEASE_TIME_THRESHOLD = 335, // "adaptive-lease-time-threshold"
582 TOKEN_DECLINE_PROBATION_PERIOD = 336, // "decline-probation-period"
583 TOKEN_SERVER_TAG = 337, // "server-tag"
584 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 338, // "statistic-default-sample-count"
585 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 339, // "statistic-default-sample-age"
586 TOKEN_DDNS_SEND_UPDATES = 340, // "ddns-send-updates"
587 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 341, // "ddns-override-no-update"
588 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 342, // "ddns-override-client-update"
589 TOKEN_DDNS_REPLACE_CLIENT_NAME = 343, // "ddns-replace-client-name"
590 TOKEN_DDNS_GENERATED_PREFIX = 344, // "ddns-generated-prefix"
591 TOKEN_DDNS_QUALIFYING_SUFFIX = 345, // "ddns-qualifying-suffix"
592 TOKEN_DDNS_UPDATE_ON_RENEW = 346, // "ddns-update-on-renew"
593 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 347, // "ddns-use-conflict-resolution"
594 TOKEN_DDNS_TTL_PERCENT = 348, // "ddns-ttl-percent"
595 TOKEN_DDNS_TTL = 349, // "ddns-ttl"
596 TOKEN_DDNS_TTL_MIN = 350, // "ddns-ttl-min"
597 TOKEN_DDNS_TTL_MAX = 351, // "ddns-ttl-max"
598 TOKEN_STORE_EXTENDED_INFO = 352, // "store-extended-info"
599 TOKEN_SUBNET4 = 353, // "subnet4"
600 TOKEN_SUBNET_4O6_INTERFACE = 354, // "4o6-interface"
601 TOKEN_SUBNET_4O6_INTERFACE_ID = 355, // "4o6-interface-id"
602 TOKEN_SUBNET_4O6_SUBNET = 356, // "4o6-subnet"
603 TOKEN_OPTION_DEF = 357, // "option-def"
604 TOKEN_OPTION_DATA = 358, // "option-data"
605 TOKEN_NAME = 359, // "name"
606 TOKEN_DATA = 360, // "data"
607 TOKEN_CODE = 361, // "code"
608 TOKEN_SPACE = 362, // "space"
609 TOKEN_CSV_FORMAT = 363, // "csv-format"
610 TOKEN_ALWAYS_SEND = 364, // "always-send"
611 TOKEN_NEVER_SEND = 365, // "never-send"
612 TOKEN_RECORD_TYPES = 366, // "record-types"
613 TOKEN_ENCAPSULATE = 367, // "encapsulate"
614 TOKEN_ARRAY = 368, // "array"
615 TOKEN_PARKED_PACKET_LIMIT = 369, // "parked-packet-limit"
616 TOKEN_ALLOCATOR = 370, // "allocator"
617 TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 371, // "ddns-conflict-resolution-mode"
618 TOKEN_CHECK_WITH_DHCID = 372, // "check-with-dhcid"
619 TOKEN_NO_CHECK_WITH_DHCID = 373, // "no-check-with-dhcid"
620 TOKEN_CHECK_EXISTS_WITH_DHCID = 374, // "check-exists-with-dhcid"
621 TOKEN_NO_CHECK_WITHOUT_DHCID = 375, // "no-check-without-dhcid"
622 TOKEN_SHARED_NETWORKS = 376, // "shared-networks"
623 TOKEN_POOLS = 377, // "pools"
624 TOKEN_POOL = 378, // "pool"
625 TOKEN_USER_CONTEXT = 379, // "user-context"
626 TOKEN_COMMENT = 380, // "comment"
627 TOKEN_SUBNET = 381, // "subnet"
628 TOKEN_INTERFACE = 382, // "interface"
629 TOKEN_ID = 383, // "id"
630 TOKEN_RESERVATIONS_GLOBAL = 384, // "reservations-global"
631 TOKEN_RESERVATIONS_IN_SUBNET = 385, // "reservations-in-subnet"
632 TOKEN_RESERVATIONS_OUT_OF_POOL = 386, // "reservations-out-of-pool"
633 TOKEN_HOST_RESERVATION_IDENTIFIERS = 387, // "host-reservation-identifiers"
634 TOKEN_CLIENT_CLASSES = 388, // "client-classes"
635 TOKEN_REQUIRE_CLIENT_CLASSES = 389, // "require-client-classes"
636 TOKEN_EVALUATE_ADDITIONAL_CLASSES = 390, // "evaluate-additional-classes"
637 TOKEN_TEST = 391, // "test"
638 TOKEN_TEMPLATE_TEST = 392, // "template-test"
639 TOKEN_ONLY_IF_REQUIRED = 393, // "only-if-required"
640 TOKEN_ONLY_IN_ADDITIONAL_LIST = 394, // "only-in-additional-list"
641 TOKEN_CLIENT_CLASS = 395, // "client-class"
642 TOKEN_POOL_ID = 396, // "pool-id"
643 TOKEN_RESERVATIONS = 397, // "reservations"
644 TOKEN_IP_ADDRESS = 398, // "ip-address"
645 TOKEN_DUID = 399, // "duid"
646 TOKEN_HW_ADDRESS = 400, // "hw-address"
647 TOKEN_CIRCUIT_ID = 401, // "circuit-id"
648 TOKEN_CLIENT_ID = 402, // "client-id"
649 TOKEN_HOSTNAME = 403, // "hostname"
650 TOKEN_FLEX_ID = 404, // "flex-id"
651 TOKEN_RELAY = 405, // "relay"
652 TOKEN_IP_ADDRESSES = 406, // "ip-addresses"
653 TOKEN_HOOKS_LIBRARIES = 407, // "hooks-libraries"
654 TOKEN_LIBRARY = 408, // "library"
655 TOKEN_PARAMETERS = 409, // "parameters"
656 TOKEN_EXPIRED_LEASES_PROCESSING = 410, // "expired-leases-processing"
657 TOKEN_RECLAIM_TIMER_WAIT_TIME = 411, // "reclaim-timer-wait-time"
658 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 412, // "flush-reclaimed-timer-wait-time"
659 TOKEN_HOLD_RECLAIMED_TIME = 413, // "hold-reclaimed-time"
660 TOKEN_MAX_RECLAIM_LEASES = 414, // "max-reclaim-leases"
661 TOKEN_MAX_RECLAIM_TIME = 415, // "max-reclaim-time"
662 TOKEN_UNWARNED_RECLAIM_CYCLES = 416, // "unwarned-reclaim-cycles"
663 TOKEN_DHCP4O6_PORT = 417, // "dhcp4o6-port"
664 TOKEN_DHCP_MULTI_THREADING = 418, // "multi-threading"
665 TOKEN_ENABLE_MULTI_THREADING = 419, // "enable-multi-threading"
666 TOKEN_THREAD_POOL_SIZE = 420, // "thread-pool-size"
667 TOKEN_PACKET_QUEUE_SIZE = 421, // "packet-queue-size"
668 TOKEN_CONTROL_SOCKET = 422, // "control-socket"
669 TOKEN_CONTROL_SOCKETS = 423, // "control-sockets"
670 TOKEN_SOCKET_TYPE = 424, // "socket-type"
671 TOKEN_UNIX = 425, // "unix"
672 TOKEN_HTTP = 426, // "http"
673 TOKEN_HTTPS = 427, // "https"
674 TOKEN_SOCKET_NAME = 428, // "socket-name"
675 TOKEN_SOCKET_ADDRESS = 429, // "socket-address"
676 TOKEN_SOCKET_PORT = 430, // "socket-port"
677 TOKEN_AUTHENTICATION = 431, // "authentication"
678 TOKEN_BASIC = 432, // "basic"
679 TOKEN_REALM = 433, // "realm"
680 TOKEN_DIRECTORY = 434, // "directory"
681 TOKEN_CLIENTS = 435, // "clients"
682 TOKEN_USER_FILE = 436, // "user-file"
683 TOKEN_PASSWORD_FILE = 437, // "password-file"
684 TOKEN_CERT_REQUIRED = 438, // "cert-required"
685 TOKEN_HTTP_HEADERS = 439, // "http-headers"
686 TOKEN_VALUE = 440, // "value"
687 TOKEN_DHCP_QUEUE_CONTROL = 441, // "dhcp-queue-control"
688 TOKEN_ENABLE_QUEUE = 442, // "enable-queue"
689 TOKEN_QUEUE_TYPE = 443, // "queue-type"
690 TOKEN_CAPACITY = 444, // "capacity"
691 TOKEN_DHCP_DDNS = 445, // "dhcp-ddns"
692 TOKEN_ENABLE_UPDATES = 446, // "enable-updates"
693 TOKEN_SERVER_IP = 447, // "server-ip"
694 TOKEN_SERVER_PORT = 448, // "server-port"
695 TOKEN_SENDER_IP = 449, // "sender-ip"
696 TOKEN_SENDER_PORT = 450, // "sender-port"
697 TOKEN_MAX_QUEUE_SIZE = 451, // "max-queue-size"
698 TOKEN_NCR_PROTOCOL = 452, // "ncr-protocol"
699 TOKEN_NCR_FORMAT = 453, // "ncr-format"
700 TOKEN_TCP = 454, // "tcp"
701 TOKEN_JSON = 455, // "JSON"
702 TOKEN_WHEN_PRESENT = 456, // "when-present"
703 TOKEN_NEVER = 457, // "never"
704 TOKEN_ALWAYS = 458, // "always"
705 TOKEN_WHEN_NOT_PRESENT = 459, // "when-not-present"
706 TOKEN_HOSTNAME_CHAR_SET = 460, // "hostname-char-set"
707 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 461, // "hostname-char-replacement"
708 TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 462, // "early-global-reservations-lookup"
709 TOKEN_IP_RESERVATIONS_UNIQUE = 463, // "ip-reservations-unique"
710 TOKEN_RESERVATIONS_LOOKUP_FIRST = 464, // "reservations-lookup-first"
711 TOKEN_LOGGERS = 465, // "loggers"
712 TOKEN_OUTPUT_OPTIONS = 466, // "output-options"
713 TOKEN_OUTPUT = 467, // "output"
714 TOKEN_DEBUGLEVEL = 468, // "debuglevel"
715 TOKEN_SEVERITY = 469, // "severity"
716 TOKEN_FLUSH = 470, // "flush"
717 TOKEN_MAXSIZE = 471, // "maxsize"
718 TOKEN_MAXVER = 472, // "maxver"
719 TOKEN_PATTERN = 473, // "pattern"
720 TOKEN_COMPATIBILITY = 474, // "compatibility"
721 TOKEN_LENIENT_OPTION_PARSING = 475, // "lenient-option-parsing"
722 TOKEN_IGNORE_DHCP_SERVER_ID = 476, // "ignore-dhcp-server-identifier"
723 TOKEN_IGNORE_RAI_LINK_SEL = 477, // "ignore-rai-link-selection"
724 TOKEN_EXCLUDE_FIRST_LAST_24 = 478, // "exclude-first-last-24"
725 TOKEN_TOPLEVEL_JSON = 479, // TOPLEVEL_JSON
726 TOKEN_TOPLEVEL_DHCP4 = 480, // TOPLEVEL_DHCP4
727 TOKEN_SUB_DHCP4 = 481, // SUB_DHCP4
728 TOKEN_SUB_INTERFACES4 = 482, // SUB_INTERFACES4
729 TOKEN_SUB_SUBNET4 = 483, // SUB_SUBNET4
730 TOKEN_SUB_POOL4 = 484, // SUB_POOL4
731 TOKEN_SUB_RESERVATION = 485, // SUB_RESERVATION
732 TOKEN_SUB_OPTION_DEFS = 486, // SUB_OPTION_DEFS
733 TOKEN_SUB_OPTION_DEF = 487, // SUB_OPTION_DEF
734 TOKEN_SUB_OPTION_DATA = 488, // SUB_OPTION_DATA
735 TOKEN_SUB_HOOKS_LIBRARY = 489, // SUB_HOOKS_LIBRARY
736 TOKEN_SUB_DHCP_DDNS = 490, // SUB_DHCP_DDNS
737 TOKEN_SUB_CONFIG_CONTROL = 491, // SUB_CONFIG_CONTROL
738 TOKEN_STRING = 492, // "constant string"
739 TOKEN_INTEGER = 493, // "integer"
740 TOKEN_FLOAT = 494, // "floating point"
741 TOKEN_BOOLEAN = 495 // "boolean"
742 };
743
745 };
746
749
752
755 {
757 {
758 YYNTOKENS = 241,
760 S_YYEOF = 0, // "end of file"
761 S_YYerror = 1, // error
762 S_YYUNDEF = 2, // "invalid token"
763 S_COMMA = 3, // ","
764 S_COLON = 4, // ":"
769 S_NULL_TYPE = 9, // "null"
770 S_DHCP4 = 10, // "Dhcp4"
771 S_CONFIG_CONTROL = 11, // "config-control"
772 S_CONFIG_DATABASES = 12, // "config-databases"
773 S_CONFIG_FETCH_WAIT_TIME = 13, // "config-fetch-wait-time"
774 S_INTERFACES_CONFIG = 14, // "interfaces-config"
775 S_INTERFACES = 15, // "interfaces"
776 S_DHCP_SOCKET_TYPE = 16, // "dhcp-socket-type"
777 S_RAW = 17, // "raw"
778 S_UDP = 18, // "udp"
779 S_OUTBOUND_INTERFACE = 19, // "outbound-interface"
780 S_SAME_AS_INBOUND = 20, // "same-as-inbound"
781 S_USE_ROUTING = 21, // "use-routing"
782 S_RE_DETECT = 22, // "re-detect"
783 S_SERVICE_SOCKETS_REQUIRE_ALL = 23, // "service-sockets-require-all"
784 S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 24, // "service-sockets-retry-wait-time"
785 S_SERVICE_SOCKETS_MAX_RETRIES = 25, // "service-sockets-max-retries"
786 S_SANITY_CHECKS = 26, // "sanity-checks"
787 S_LEASE_CHECKS = 27, // "lease-checks"
788 S_EXTENDED_INFO_CHECKS = 28, // "extended-info-checks"
789 S_ECHO_CLIENT_ID = 29, // "echo-client-id"
790 S_MATCH_CLIENT_ID = 30, // "match-client-id"
791 S_AUTHORITATIVE = 31, // "authoritative"
792 S_NEXT_SERVER = 32, // "next-server"
793 S_SERVER_HOSTNAME = 33, // "server-hostname"
794 S_BOOT_FILE_NAME = 34, // "boot-file-name"
795 S_OFFER_LFT = 35, // "offer-lifetime"
796 S_STASH_AGENT_OPTIONS = 36, // "stash-agent-options"
797 S_LEASE_DATABASE = 37, // "lease-database"
798 S_HOSTS_DATABASE = 38, // "hosts-database"
799 S_HOSTS_DATABASES = 39, // "hosts-databases"
800 S_TYPE = 40, // "type"
801 S_USER = 41, // "user"
802 S_PASSWORD = 42, // "password"
803 S_HOST = 43, // "host"
804 S_PORT = 44, // "port"
805 S_PERSIST = 45, // "persist"
806 S_LFC_INTERVAL = 46, // "lfc-interval"
807 S_READONLY = 47, // "readonly"
808 S_CONNECT_TIMEOUT = 48, // "connect-timeout"
809 S_READ_TIMEOUT = 49, // "read-timeout"
810 S_WRITE_TIMEOUT = 50, // "write-timeout"
811 S_TCP_USER_TIMEOUT = 51, // "tcp-user-timeout"
812 S_MAX_RECONNECT_TRIES = 52, // "max-reconnect-tries"
813 S_RECONNECT_WAIT_TIME = 53, // "reconnect-wait-time"
814 S_ON_FAIL = 54, // "on-fail"
815 S_STOP_RETRY_EXIT = 55, // "stop-retry-exit"
816 S_SERVE_RETRY_EXIT = 56, // "serve-retry-exit"
817 S_SERVE_RETRY_CONTINUE = 57, // "serve-retry-continue"
818 S_RETRY_ON_STARTUP = 58, // "retry-on-startup"
819 S_MAX_ROW_ERRORS = 59, // "max-row-errors"
820 S_TRUST_ANCHOR = 60, // "trust-anchor"
821 S_CERT_FILE = 61, // "cert-file"
822 S_KEY_FILE = 62, // "key-file"
823 S_SSL_MODE = 63, // "ssl-mode"
824 S_DISABLE = 64, // "disable"
825 S_PREFER = 65, // "prefer"
826 S_REQUIRE = 66, // "require"
827 S_VERIFY_CA = 67, // "verify-ca"
828 S_VERIFY_FULL = 68, // "verify-full"
829 S_CIPHER_LIST = 69, // "cipher-list"
830 S_VALID_LIFETIME = 70, // "valid-lifetime"
831 S_MIN_VALID_LIFETIME = 71, // "min-valid-lifetime"
832 S_MAX_VALID_LIFETIME = 72, // "max-valid-lifetime"
833 S_RENEW_TIMER = 73, // "renew-timer"
834 S_REBIND_TIMER = 74, // "rebind-timer"
835 S_CALCULATE_TEE_TIMES = 75, // "calculate-tee-times"
836 S_T1_PERCENT = 76, // "t1-percent"
837 S_T2_PERCENT = 77, // "t2-percent"
838 S_CACHE_THRESHOLD = 78, // "cache-threshold"
839 S_CACHE_MAX_AGE = 79, // "cache-max-age"
840 S_ADAPTIVE_LEASE_TIME_THRESHOLD = 80, // "adaptive-lease-time-threshold"
841 S_DECLINE_PROBATION_PERIOD = 81, // "decline-probation-period"
842 S_SERVER_TAG = 82, // "server-tag"
843 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 83, // "statistic-default-sample-count"
844 S_STATISTIC_DEFAULT_SAMPLE_AGE = 84, // "statistic-default-sample-age"
845 S_DDNS_SEND_UPDATES = 85, // "ddns-send-updates"
846 S_DDNS_OVERRIDE_NO_UPDATE = 86, // "ddns-override-no-update"
847 S_DDNS_OVERRIDE_CLIENT_UPDATE = 87, // "ddns-override-client-update"
848 S_DDNS_REPLACE_CLIENT_NAME = 88, // "ddns-replace-client-name"
849 S_DDNS_GENERATED_PREFIX = 89, // "ddns-generated-prefix"
850 S_DDNS_QUALIFYING_SUFFIX = 90, // "ddns-qualifying-suffix"
851 S_DDNS_UPDATE_ON_RENEW = 91, // "ddns-update-on-renew"
852 S_DDNS_USE_CONFLICT_RESOLUTION = 92, // "ddns-use-conflict-resolution"
853 S_DDNS_TTL_PERCENT = 93, // "ddns-ttl-percent"
854 S_DDNS_TTL = 94, // "ddns-ttl"
855 S_DDNS_TTL_MIN = 95, // "ddns-ttl-min"
856 S_DDNS_TTL_MAX = 96, // "ddns-ttl-max"
857 S_STORE_EXTENDED_INFO = 97, // "store-extended-info"
858 S_SUBNET4 = 98, // "subnet4"
859 S_SUBNET_4O6_INTERFACE = 99, // "4o6-interface"
860 S_SUBNET_4O6_INTERFACE_ID = 100, // "4o6-interface-id"
861 S_SUBNET_4O6_SUBNET = 101, // "4o6-subnet"
862 S_OPTION_DEF = 102, // "option-def"
863 S_OPTION_DATA = 103, // "option-data"
864 S_NAME = 104, // "name"
865 S_DATA = 105, // "data"
866 S_CODE = 106, // "code"
867 S_SPACE = 107, // "space"
868 S_CSV_FORMAT = 108, // "csv-format"
869 S_ALWAYS_SEND = 109, // "always-send"
870 S_NEVER_SEND = 110, // "never-send"
871 S_RECORD_TYPES = 111, // "record-types"
872 S_ENCAPSULATE = 112, // "encapsulate"
873 S_ARRAY = 113, // "array"
874 S_PARKED_PACKET_LIMIT = 114, // "parked-packet-limit"
875 S_ALLOCATOR = 115, // "allocator"
876 S_DDNS_CONFLICT_RESOLUTION_MODE = 116, // "ddns-conflict-resolution-mode"
877 S_CHECK_WITH_DHCID = 117, // "check-with-dhcid"
878 S_NO_CHECK_WITH_DHCID = 118, // "no-check-with-dhcid"
879 S_CHECK_EXISTS_WITH_DHCID = 119, // "check-exists-with-dhcid"
880 S_NO_CHECK_WITHOUT_DHCID = 120, // "no-check-without-dhcid"
881 S_SHARED_NETWORKS = 121, // "shared-networks"
882 S_POOLS = 122, // "pools"
883 S_POOL = 123, // "pool"
884 S_USER_CONTEXT = 124, // "user-context"
885 S_COMMENT = 125, // "comment"
886 S_SUBNET = 126, // "subnet"
887 S_INTERFACE = 127, // "interface"
888 S_ID = 128, // "id"
889 S_RESERVATIONS_GLOBAL = 129, // "reservations-global"
890 S_RESERVATIONS_IN_SUBNET = 130, // "reservations-in-subnet"
891 S_RESERVATIONS_OUT_OF_POOL = 131, // "reservations-out-of-pool"
892 S_HOST_RESERVATION_IDENTIFIERS = 132, // "host-reservation-identifiers"
893 S_CLIENT_CLASSES = 133, // "client-classes"
894 S_REQUIRE_CLIENT_CLASSES = 134, // "require-client-classes"
895 S_EVALUATE_ADDITIONAL_CLASSES = 135, // "evaluate-additional-classes"
896 S_TEST = 136, // "test"
897 S_TEMPLATE_TEST = 137, // "template-test"
898 S_ONLY_IF_REQUIRED = 138, // "only-if-required"
899 S_ONLY_IN_ADDITIONAL_LIST = 139, // "only-in-additional-list"
900 S_CLIENT_CLASS = 140, // "client-class"
901 S_POOL_ID = 141, // "pool-id"
902 S_RESERVATIONS = 142, // "reservations"
903 S_IP_ADDRESS = 143, // "ip-address"
904 S_DUID = 144, // "duid"
905 S_HW_ADDRESS = 145, // "hw-address"
906 S_CIRCUIT_ID = 146, // "circuit-id"
907 S_CLIENT_ID = 147, // "client-id"
908 S_HOSTNAME = 148, // "hostname"
909 S_FLEX_ID = 149, // "flex-id"
910 S_RELAY = 150, // "relay"
911 S_IP_ADDRESSES = 151, // "ip-addresses"
912 S_HOOKS_LIBRARIES = 152, // "hooks-libraries"
913 S_LIBRARY = 153, // "library"
914 S_PARAMETERS = 154, // "parameters"
915 S_EXPIRED_LEASES_PROCESSING = 155, // "expired-leases-processing"
916 S_RECLAIM_TIMER_WAIT_TIME = 156, // "reclaim-timer-wait-time"
917 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 157, // "flush-reclaimed-timer-wait-time"
918 S_HOLD_RECLAIMED_TIME = 158, // "hold-reclaimed-time"
919 S_MAX_RECLAIM_LEASES = 159, // "max-reclaim-leases"
920 S_MAX_RECLAIM_TIME = 160, // "max-reclaim-time"
921 S_UNWARNED_RECLAIM_CYCLES = 161, // "unwarned-reclaim-cycles"
922 S_DHCP4O6_PORT = 162, // "dhcp4o6-port"
923 S_DHCP_MULTI_THREADING = 163, // "multi-threading"
924 S_ENABLE_MULTI_THREADING = 164, // "enable-multi-threading"
925 S_THREAD_POOL_SIZE = 165, // "thread-pool-size"
926 S_PACKET_QUEUE_SIZE = 166, // "packet-queue-size"
927 S_CONTROL_SOCKET = 167, // "control-socket"
928 S_CONTROL_SOCKETS = 168, // "control-sockets"
929 S_SOCKET_TYPE = 169, // "socket-type"
930 S_UNIX = 170, // "unix"
931 S_HTTP = 171, // "http"
932 S_HTTPS = 172, // "https"
933 S_SOCKET_NAME = 173, // "socket-name"
934 S_SOCKET_ADDRESS = 174, // "socket-address"
935 S_SOCKET_PORT = 175, // "socket-port"
936 S_AUTHENTICATION = 176, // "authentication"
937 S_BASIC = 177, // "basic"
938 S_REALM = 178, // "realm"
939 S_DIRECTORY = 179, // "directory"
940 S_CLIENTS = 180, // "clients"
941 S_USER_FILE = 181, // "user-file"
942 S_PASSWORD_FILE = 182, // "password-file"
943 S_CERT_REQUIRED = 183, // "cert-required"
944 S_HTTP_HEADERS = 184, // "http-headers"
945 S_VALUE = 185, // "value"
946 S_DHCP_QUEUE_CONTROL = 186, // "dhcp-queue-control"
947 S_ENABLE_QUEUE = 187, // "enable-queue"
948 S_QUEUE_TYPE = 188, // "queue-type"
949 S_CAPACITY = 189, // "capacity"
950 S_DHCP_DDNS = 190, // "dhcp-ddns"
951 S_ENABLE_UPDATES = 191, // "enable-updates"
952 S_SERVER_IP = 192, // "server-ip"
953 S_SERVER_PORT = 193, // "server-port"
954 S_SENDER_IP = 194, // "sender-ip"
955 S_SENDER_PORT = 195, // "sender-port"
956 S_MAX_QUEUE_SIZE = 196, // "max-queue-size"
957 S_NCR_PROTOCOL = 197, // "ncr-protocol"
958 S_NCR_FORMAT = 198, // "ncr-format"
959 S_TCP = 199, // "tcp"
960 S_JSON = 200, // "JSON"
961 S_WHEN_PRESENT = 201, // "when-present"
962 S_NEVER = 202, // "never"
963 S_ALWAYS = 203, // "always"
964 S_WHEN_NOT_PRESENT = 204, // "when-not-present"
965 S_HOSTNAME_CHAR_SET = 205, // "hostname-char-set"
966 S_HOSTNAME_CHAR_REPLACEMENT = 206, // "hostname-char-replacement"
967 S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 207, // "early-global-reservations-lookup"
968 S_IP_RESERVATIONS_UNIQUE = 208, // "ip-reservations-unique"
969 S_RESERVATIONS_LOOKUP_FIRST = 209, // "reservations-lookup-first"
970 S_LOGGERS = 210, // "loggers"
971 S_OUTPUT_OPTIONS = 211, // "output-options"
972 S_OUTPUT = 212, // "output"
973 S_DEBUGLEVEL = 213, // "debuglevel"
974 S_SEVERITY = 214, // "severity"
975 S_FLUSH = 215, // "flush"
976 S_MAXSIZE = 216, // "maxsize"
977 S_MAXVER = 217, // "maxver"
978 S_PATTERN = 218, // "pattern"
979 S_COMPATIBILITY = 219, // "compatibility"
980 S_LENIENT_OPTION_PARSING = 220, // "lenient-option-parsing"
981 S_IGNORE_DHCP_SERVER_ID = 221, // "ignore-dhcp-server-identifier"
982 S_IGNORE_RAI_LINK_SEL = 222, // "ignore-rai-link-selection"
983 S_EXCLUDE_FIRST_LAST_24 = 223, // "exclude-first-last-24"
984 S_TOPLEVEL_JSON = 224, // TOPLEVEL_JSON
985 S_TOPLEVEL_DHCP4 = 225, // TOPLEVEL_DHCP4
986 S_SUB_DHCP4 = 226, // SUB_DHCP4
987 S_SUB_INTERFACES4 = 227, // SUB_INTERFACES4
988 S_SUB_SUBNET4 = 228, // SUB_SUBNET4
989 S_SUB_POOL4 = 229, // SUB_POOL4
990 S_SUB_RESERVATION = 230, // SUB_RESERVATION
991 S_SUB_OPTION_DEFS = 231, // SUB_OPTION_DEFS
992 S_SUB_OPTION_DEF = 232, // SUB_OPTION_DEF
993 S_SUB_OPTION_DATA = 233, // SUB_OPTION_DATA
994 S_SUB_HOOKS_LIBRARY = 234, // SUB_HOOKS_LIBRARY
995 S_SUB_DHCP_DDNS = 235, // SUB_DHCP_DDNS
996 S_SUB_CONFIG_CONTROL = 236, // SUB_CONFIG_CONTROL
997 S_STRING = 237, // "constant string"
998 S_INTEGER = 238, // "integer"
999 S_FLOAT = 239, // "floating point"
1000 S_BOOLEAN = 240, // "boolean"
1001 S_YYACCEPT = 241, // $accept
1002 S_start = 242, // start
1003 S_243_1 = 243, // $@1
1004 S_244_2 = 244, // $@2
1005 S_245_3 = 245, // $@3
1006 S_246_4 = 246, // $@4
1007 S_247_5 = 247, // $@5
1008 S_248_6 = 248, // $@6
1009 S_249_7 = 249, // $@7
1010 S_250_8 = 250, // $@8
1011 S_251_9 = 251, // $@9
1012 S_252_10 = 252, // $@10
1013 S_253_11 = 253, // $@11
1014 S_254_12 = 254, // $@12
1015 S_255_13 = 255, // $@13
1016 S_value = 256, // value
1017 S_sub_json = 257, // sub_json
1018 S_map2 = 258, // map2
1019 S_259_14 = 259, // $@14
1020 S_map_value = 260, // map_value
1021 S_map_content = 261, // map_content
1022 S_not_empty_map = 262, // not_empty_map
1023 S_list_generic = 263, // list_generic
1024 S_264_15 = 264, // $@15
1025 S_list_content = 265, // list_content
1026 S_not_empty_list = 266, // not_empty_list
1027 S_list_strings = 267, // list_strings
1028 S_268_16 = 268, // $@16
1029 S_list_strings_content = 269, // list_strings_content
1030 S_not_empty_list_strings = 270, // not_empty_list_strings
1031 S_unknown_map_entry = 271, // unknown_map_entry
1032 S_syntax_map = 272, // syntax_map
1033 S_273_17 = 273, // $@17
1034 S_global_object = 274, // global_object
1035 S_275_18 = 275, // $@18
1036 S_global_object_comma = 276, // global_object_comma
1037 S_sub_dhcp4 = 277, // sub_dhcp4
1038 S_278_19 = 278, // $@19
1039 S_global_params = 279, // global_params
1040 S_global_param = 280, // global_param
1041 S_valid_lifetime = 281, // valid_lifetime
1042 S_min_valid_lifetime = 282, // min_valid_lifetime
1043 S_max_valid_lifetime = 283, // max_valid_lifetime
1044 S_renew_timer = 284, // renew_timer
1045 S_rebind_timer = 285, // rebind_timer
1046 S_calculate_tee_times = 286, // calculate_tee_times
1047 S_t1_percent = 287, // t1_percent
1048 S_t2_percent = 288, // t2_percent
1049 S_cache_threshold = 289, // cache_threshold
1050 S_cache_max_age = 290, // cache_max_age
1051 S_adaptive_lease_time_threshold = 291, // adaptive_lease_time_threshold
1052 S_decline_probation_period = 292, // decline_probation_period
1053 S_server_tag = 293, // server_tag
1054 S_294_20 = 294, // $@20
1055 S_parked_packet_limit = 295, // parked_packet_limit
1056 S_allocator = 296, // allocator
1057 S_297_21 = 297, // $@21
1058 S_echo_client_id = 298, // echo_client_id
1059 S_match_client_id = 299, // match_client_id
1060 S_authoritative = 300, // authoritative
1061 S_ddns_send_updates = 301, // ddns_send_updates
1062 S_ddns_override_no_update = 302, // ddns_override_no_update
1063 S_ddns_override_client_update = 303, // ddns_override_client_update
1064 S_ddns_replace_client_name = 304, // ddns_replace_client_name
1065 S_305_22 = 305, // $@22
1066 S_ddns_replace_client_name_value = 306, // ddns_replace_client_name_value
1067 S_ddns_generated_prefix = 307, // ddns_generated_prefix
1068 S_308_23 = 308, // $@23
1069 S_ddns_qualifying_suffix = 309, // ddns_qualifying_suffix
1070 S_310_24 = 310, // $@24
1071 S_ddns_update_on_renew = 311, // ddns_update_on_renew
1072 S_ddns_use_conflict_resolution = 312, // ddns_use_conflict_resolution
1073 S_ddns_conflict_resolution_mode = 313, // ddns_conflict_resolution_mode
1074 S_314_25 = 314, // $@25
1075 S_ddns_conflict_resolution_mode_value = 315, // ddns_conflict_resolution_mode_value
1076 S_ddns_ttl_percent = 316, // ddns_ttl_percent
1077 S_ddns_ttl = 317, // ddns_ttl
1078 S_ddns_ttl_min = 318, // ddns_ttl_min
1079 S_ddns_ttl_max = 319, // ddns_ttl_max
1080 S_hostname_char_set = 320, // hostname_char_set
1081 S_321_26 = 321, // $@26
1082 S_hostname_char_replacement = 322, // hostname_char_replacement
1083 S_323_27 = 323, // $@27
1084 S_store_extended_info = 324, // store_extended_info
1085 S_statistic_default_sample_count = 325, // statistic_default_sample_count
1086 S_statistic_default_sample_age = 326, // statistic_default_sample_age
1087 S_early_global_reservations_lookup = 327, // early_global_reservations_lookup
1088 S_ip_reservations_unique = 328, // ip_reservations_unique
1089 S_reservations_lookup_first = 329, // reservations_lookup_first
1090 S_offer_lifetime = 330, // offer_lifetime
1091 S_stash_agent_options = 331, // stash_agent_options
1092 S_interfaces_config = 332, // interfaces_config
1093 S_333_28 = 333, // $@28
1094 S_interfaces_config_params = 334, // interfaces_config_params
1095 S_interfaces_config_param = 335, // interfaces_config_param
1096 S_sub_interfaces4 = 336, // sub_interfaces4
1097 S_337_29 = 337, // $@29
1098 S_interfaces_list = 338, // interfaces_list
1099 S_339_30 = 339, // $@30
1100 S_dhcp_socket_type = 340, // dhcp_socket_type
1101 S_341_31 = 341, // $@31
1102 S_socket_type = 342, // socket_type
1103 S_outbound_interface = 343, // outbound_interface
1104 S_344_32 = 344, // $@32
1105 S_outbound_interface_value = 345, // outbound_interface_value
1106 S_re_detect = 346, // re_detect
1107 S_service_sockets_require_all = 347, // service_sockets_require_all
1108 S_service_sockets_retry_wait_time = 348, // service_sockets_retry_wait_time
1109 S_service_sockets_max_retries = 349, // service_sockets_max_retries
1110 S_lease_database = 350, // lease_database
1111 S_351_33 = 351, // $@33
1112 S_sanity_checks = 352, // sanity_checks
1113 S_353_34 = 353, // $@34
1114 S_sanity_checks_params = 354, // sanity_checks_params
1115 S_sanity_checks_param = 355, // sanity_checks_param
1116 S_lease_checks = 356, // lease_checks
1117 S_357_35 = 357, // $@35
1118 S_extended_info_checks = 358, // extended_info_checks
1119 S_359_36 = 359, // $@36
1120 S_hosts_database = 360, // hosts_database
1121 S_361_37 = 361, // $@37
1122 S_hosts_databases = 362, // hosts_databases
1123 S_363_38 = 363, // $@38
1124 S_database_list = 364, // database_list
1125 S_not_empty_database_list = 365, // not_empty_database_list
1126 S_database = 366, // database
1127 S_367_39 = 367, // $@39
1128 S_database_map_params = 368, // database_map_params
1129 S_database_map_param = 369, // database_map_param
1130 S_database_type = 370, // database_type
1131 S_371_40 = 371, // $@40
1132 S_user = 372, // user
1133 S_373_41 = 373, // $@41
1134 S_password = 374, // password
1135 S_375_42 = 375, // $@42
1136 S_host = 376, // host
1137 S_377_43 = 377, // $@43
1138 S_port = 378, // port
1139 S_name = 379, // name
1140 S_380_44 = 380, // $@44
1141 S_persist = 381, // persist
1142 S_lfc_interval = 382, // lfc_interval
1143 S_readonly = 383, // readonly
1144 S_connect_timeout = 384, // connect_timeout
1145 S_read_timeout = 385, // read_timeout
1146 S_write_timeout = 386, // write_timeout
1147 S_tcp_user_timeout = 387, // tcp_user_timeout
1148 S_max_reconnect_tries = 388, // max_reconnect_tries
1149 S_reconnect_wait_time = 389, // reconnect_wait_time
1150 S_on_fail = 390, // on_fail
1151 S_391_45 = 391, // $@45
1152 S_on_fail_mode = 392, // on_fail_mode
1153 S_retry_on_startup = 393, // retry_on_startup
1154 S_max_row_errors = 394, // max_row_errors
1155 S_trust_anchor = 395, // trust_anchor
1156 S_396_46 = 396, // $@46
1157 S_cert_file = 397, // cert_file
1158 S_398_47 = 398, // $@47
1159 S_key_file = 399, // key_file
1160 S_400_48 = 400, // $@48
1161 S_ssl_mode = 401, // ssl_mode
1162 S_402_49 = 402, // $@49
1163 S_cipher_list = 403, // cipher_list
1164 S_404_50 = 404, // $@50
1165 S_host_reservation_identifiers = 405, // host_reservation_identifiers
1166 S_406_51 = 406, // $@51
1167 S_host_reservation_identifiers_list = 407, // host_reservation_identifiers_list
1168 S_host_reservation_identifier = 408, // host_reservation_identifier
1169 S_duid_id = 409, // duid_id
1170 S_hw_address_id = 410, // hw_address_id
1171 S_circuit_id = 411, // circuit_id
1172 S_client_id = 412, // client_id
1173 S_flex_id = 413, // flex_id
1174 S_dhcp_multi_threading = 414, // dhcp_multi_threading
1175 S_415_52 = 415, // $@52
1176 S_multi_threading_params = 416, // multi_threading_params
1177 S_multi_threading_param = 417, // multi_threading_param
1178 S_enable_multi_threading = 418, // enable_multi_threading
1179 S_thread_pool_size = 419, // thread_pool_size
1180 S_packet_queue_size = 420, // packet_queue_size
1181 S_hooks_libraries = 421, // hooks_libraries
1182 S_422_53 = 422, // $@53
1183 S_hooks_libraries_list = 423, // hooks_libraries_list
1184 S_not_empty_hooks_libraries_list = 424, // not_empty_hooks_libraries_list
1185 S_hooks_library = 425, // hooks_library
1186 S_426_54 = 426, // $@54
1187 S_sub_hooks_library = 427, // sub_hooks_library
1188 S_428_55 = 428, // $@55
1189 S_hooks_params = 429, // hooks_params
1190 S_hooks_param = 430, // hooks_param
1191 S_library = 431, // library
1192 S_432_56 = 432, // $@56
1193 S_parameters = 433, // parameters
1194 S_434_57 = 434, // $@57
1195 S_expired_leases_processing = 435, // expired_leases_processing
1196 S_436_58 = 436, // $@58
1197 S_expired_leases_params = 437, // expired_leases_params
1198 S_expired_leases_param = 438, // expired_leases_param
1199 S_reclaim_timer_wait_time = 439, // reclaim_timer_wait_time
1200 S_flush_reclaimed_timer_wait_time = 440, // flush_reclaimed_timer_wait_time
1201 S_hold_reclaimed_time = 441, // hold_reclaimed_time
1202 S_max_reclaim_leases = 442, // max_reclaim_leases
1203 S_max_reclaim_time = 443, // max_reclaim_time
1204 S_unwarned_reclaim_cycles = 444, // unwarned_reclaim_cycles
1205 S_subnet4_list = 445, // subnet4_list
1206 S_446_59 = 446, // $@59
1207 S_subnet4_list_content = 447, // subnet4_list_content
1208 S_not_empty_subnet4_list = 448, // not_empty_subnet4_list
1209 S_subnet4 = 449, // subnet4
1210 S_450_60 = 450, // $@60
1211 S_sub_subnet4 = 451, // sub_subnet4
1212 S_452_61 = 452, // $@61
1213 S_subnet4_params = 453, // subnet4_params
1214 S_subnet4_param = 454, // subnet4_param
1215 S_subnet = 455, // subnet
1216 S_456_62 = 456, // $@62
1217 S_subnet_4o6_interface = 457, // subnet_4o6_interface
1218 S_458_63 = 458, // $@63
1219 S_subnet_4o6_interface_id = 459, // subnet_4o6_interface_id
1220 S_460_64 = 460, // $@64
1221 S_subnet_4o6_subnet = 461, // subnet_4o6_subnet
1222 S_462_65 = 462, // $@65
1223 S_interface = 463, // interface
1224 S_464_66 = 464, // $@66
1225 S_client_class = 465, // client_class
1226 S_466_67 = 466, // $@67
1227 S_network_client_classes = 467, // network_client_classes
1228 S_468_68 = 468, // $@68
1229 S_require_client_classes = 469, // require_client_classes
1230 S_470_69 = 470, // $@69
1231 S_evaluate_additional_classes = 471, // evaluate_additional_classes
1232 S_472_70 = 472, // $@70
1233 S_reservations_global = 473, // reservations_global
1234 S_reservations_in_subnet = 474, // reservations_in_subnet
1235 S_reservations_out_of_pool = 475, // reservations_out_of_pool
1236 S_id = 476, // id
1237 S_shared_networks = 477, // shared_networks
1238 S_478_71 = 478, // $@71
1239 S_shared_networks_content = 479, // shared_networks_content
1240 S_shared_networks_list = 480, // shared_networks_list
1241 S_shared_network = 481, // shared_network
1242 S_482_72 = 482, // $@72
1243 S_shared_network_params = 483, // shared_network_params
1244 S_shared_network_param = 484, // shared_network_param
1245 S_option_def_list = 485, // option_def_list
1246 S_486_73 = 486, // $@73
1247 S_sub_option_def_list = 487, // sub_option_def_list
1248 S_488_74 = 488, // $@74
1249 S_option_def_list_content = 489, // option_def_list_content
1250 S_not_empty_option_def_list = 490, // not_empty_option_def_list
1251 S_option_def_entry = 491, // option_def_entry
1252 S_492_75 = 492, // $@75
1253 S_sub_option_def = 493, // sub_option_def
1254 S_494_76 = 494, // $@76
1255 S_option_def_params = 495, // option_def_params
1256 S_not_empty_option_def_params = 496, // not_empty_option_def_params
1257 S_option_def_param = 497, // option_def_param
1258 S_option_def_name = 498, // option_def_name
1259 S_code = 499, // code
1260 S_option_def_code = 500, // option_def_code
1261 S_option_def_type = 501, // option_def_type
1262 S_502_77 = 502, // $@77
1263 S_option_def_record_types = 503, // option_def_record_types
1264 S_504_78 = 504, // $@78
1265 S_space = 505, // space
1266 S_506_79 = 506, // $@79
1267 S_option_def_space = 507, // option_def_space
1268 S_option_def_encapsulate = 508, // option_def_encapsulate
1269 S_509_80 = 509, // $@80
1270 S_option_def_array = 510, // option_def_array
1271 S_option_data_list = 511, // option_data_list
1272 S_512_81 = 512, // $@81
1273 S_option_data_list_content = 513, // option_data_list_content
1274 S_not_empty_option_data_list = 514, // not_empty_option_data_list
1275 S_option_data_entry = 515, // option_data_entry
1276 S_516_82 = 516, // $@82
1277 S_sub_option_data = 517, // sub_option_data
1278 S_518_83 = 518, // $@83
1279 S_option_data_params = 519, // option_data_params
1280 S_not_empty_option_data_params = 520, // not_empty_option_data_params
1281 S_option_data_param = 521, // option_data_param
1282 S_option_data_name = 522, // option_data_name
1283 S_option_data_data = 523, // option_data_data
1284 S_524_84 = 524, // $@84
1285 S_option_data_code = 525, // option_data_code
1286 S_option_data_space = 526, // option_data_space
1287 S_option_data_csv_format = 527, // option_data_csv_format
1288 S_option_data_always_send = 528, // option_data_always_send
1289 S_option_data_never_send = 529, // option_data_never_send
1290 S_option_data_client_classes = 530, // option_data_client_classes
1291 S_531_85 = 531, // $@85
1292 S_pools_list = 532, // pools_list
1293 S_533_86 = 533, // $@86
1294 S_pools_list_content = 534, // pools_list_content
1295 S_not_empty_pools_list = 535, // not_empty_pools_list
1296 S_pool_list_entry = 536, // pool_list_entry
1297 S_537_87 = 537, // $@87
1298 S_sub_pool4 = 538, // sub_pool4
1299 S_539_88 = 539, // $@88
1300 S_pool_params = 540, // pool_params
1301 S_pool_param = 541, // pool_param
1302 S_pool_entry = 542, // pool_entry
1303 S_543_89 = 543, // $@89
1304 S_pool_id = 544, // pool_id
1305 S_user_context = 545, // user_context
1306 S_546_90 = 546, // $@90
1307 S_comment = 547, // comment
1308 S_548_91 = 548, // $@91
1309 S_reservations = 549, // reservations
1310 S_550_92 = 550, // $@92
1311 S_reservations_list = 551, // reservations_list
1312 S_not_empty_reservations_list = 552, // not_empty_reservations_list
1313 S_reservation = 553, // reservation
1314 S_554_93 = 554, // $@93
1315 S_sub_reservation = 555, // sub_reservation
1316 S_556_94 = 556, // $@94
1317 S_reservation_params = 557, // reservation_params
1318 S_not_empty_reservation_params = 558, // not_empty_reservation_params
1319 S_reservation_param = 559, // reservation_param
1320 S_next_server = 560, // next_server
1321 S_561_95 = 561, // $@95
1322 S_server_hostname = 562, // server_hostname
1323 S_563_96 = 563, // $@96
1324 S_boot_file_name = 564, // boot_file_name
1325 S_565_97 = 565, // $@97
1326 S_ip_address = 566, // ip_address
1327 S_567_98 = 567, // $@98
1328 S_duid = 568, // duid
1329 S_569_99 = 569, // $@99
1330 S_hw_address = 570, // hw_address
1331 S_571_100 = 571, // $@100
1332 S_client_id_value = 572, // client_id_value
1333 S_573_101 = 573, // $@101
1334 S_circuit_id_value = 574, // circuit_id_value
1335 S_575_102 = 575, // $@102
1336 S_flex_id_value = 576, // flex_id_value
1337 S_577_103 = 577, // $@103
1338 S_hostname = 578, // hostname
1339 S_579_104 = 579, // $@104
1340 S_reservation_client_classes = 580, // reservation_client_classes
1341 S_581_105 = 581, // $@105
1342 S_relay = 582, // relay
1343 S_583_106 = 583, // $@106
1344 S_relay_map = 584, // relay_map
1345 S_ip_addresses = 585, // ip_addresses
1346 S_586_107 = 586, // $@107
1347 S_client_classes = 587, // client_classes
1348 S_588_108 = 588, // $@108
1349 S_client_classes_list = 589, // client_classes_list
1350 S_not_empty_classes_list = 590, // not_empty_classes_list
1351 S_client_class_entry = 591, // client_class_entry
1352 S_592_109 = 592, // $@109
1353 S_client_class_params = 593, // client_class_params
1354 S_not_empty_client_class_params = 594, // not_empty_client_class_params
1355 S_client_class_param = 595, // client_class_param
1356 S_client_class_name = 596, // client_class_name
1357 S_client_class_test = 597, // client_class_test
1358 S_598_110 = 598, // $@110
1359 S_client_class_template_test = 599, // client_class_template_test
1360 S_600_111 = 600, // $@111
1361 S_only_if_required = 601, // only_if_required
1362 S_only_in_additional_list = 602, // only_in_additional_list
1363 S_dhcp4o6_port = 603, // dhcp4o6_port
1364 S_control_socket = 604, // control_socket
1365 S_605_112 = 605, // $@112
1366 S_control_sockets = 606, // control_sockets
1367 S_607_113 = 607, // $@113
1368 S_control_socket_list = 608, // control_socket_list
1369 S_not_empty_control_socket_list = 609, // not_empty_control_socket_list
1370 S_control_socket_entry = 610, // control_socket_entry
1371 S_611_114 = 611, // $@114
1372 S_control_socket_params = 612, // control_socket_params
1373 S_control_socket_param = 613, // control_socket_param
1374 S_control_socket_type = 614, // control_socket_type
1375 S_615_115 = 615, // $@115
1376 S_control_socket_type_value = 616, // control_socket_type_value
1377 S_control_socket_name = 617, // control_socket_name
1378 S_618_116 = 618, // $@116
1379 S_control_socket_address = 619, // control_socket_address
1380 S_620_117 = 620, // $@117
1381 S_control_socket_port = 621, // control_socket_port
1382 S_cert_required = 622, // cert_required
1383 S_http_headers = 623, // http_headers
1384 S_624_118 = 624, // $@118
1385 S_http_header_list = 625, // http_header_list
1386 S_not_empty_http_header_list = 626, // not_empty_http_header_list
1387 S_http_header = 627, // http_header
1388 S_628_119 = 628, // $@119
1389 S_http_header_params = 629, // http_header_params
1390 S_http_header_param = 630, // http_header_param
1391 S_header_value = 631, // header_value
1392 S_632_120 = 632, // $@120
1393 S_authentication = 633, // authentication
1394 S_634_121 = 634, // $@121
1395 S_auth_params = 635, // auth_params
1396 S_auth_param = 636, // auth_param
1397 S_auth_type = 637, // auth_type
1398 S_638_122 = 638, // $@122
1399 S_auth_type_value = 639, // auth_type_value
1400 S_realm = 640, // realm
1401 S_641_123 = 641, // $@123
1402 S_directory = 642, // directory
1403 S_643_124 = 643, // $@124
1404 S_clients = 644, // clients
1405 S_645_125 = 645, // $@125
1406 S_clients_list = 646, // clients_list
1407 S_not_empty_clients_list = 647, // not_empty_clients_list
1408 S_basic_auth = 648, // basic_auth
1409 S_649_126 = 649, // $@126
1410 S_clients_params = 650, // clients_params
1411 S_clients_param = 651, // clients_param
1412 S_user_file = 652, // user_file
1413 S_653_127 = 653, // $@127
1414 S_password_file = 654, // password_file
1415 S_655_128 = 655, // $@128
1416 S_dhcp_queue_control = 656, // dhcp_queue_control
1417 S_657_129 = 657, // $@129
1418 S_queue_control_params = 658, // queue_control_params
1419 S_queue_control_param = 659, // queue_control_param
1420 S_enable_queue = 660, // enable_queue
1421 S_queue_type = 661, // queue_type
1422 S_662_130 = 662, // $@130
1423 S_capacity = 663, // capacity
1424 S_arbitrary_map_entry = 664, // arbitrary_map_entry
1425 S_665_131 = 665, // $@131
1426 S_dhcp_ddns = 666, // dhcp_ddns
1427 S_667_132 = 667, // $@132
1428 S_sub_dhcp_ddns = 668, // sub_dhcp_ddns
1429 S_669_133 = 669, // $@133
1430 S_dhcp_ddns_params = 670, // dhcp_ddns_params
1431 S_dhcp_ddns_param = 671, // dhcp_ddns_param
1432 S_enable_updates = 672, // enable_updates
1433 S_server_ip = 673, // server_ip
1434 S_674_134 = 674, // $@134
1435 S_server_port = 675, // server_port
1436 S_sender_ip = 676, // sender_ip
1437 S_677_135 = 677, // $@135
1438 S_sender_port = 678, // sender_port
1439 S_max_queue_size = 679, // max_queue_size
1440 S_ncr_protocol = 680, // ncr_protocol
1441 S_681_136 = 681, // $@136
1442 S_ncr_protocol_value = 682, // ncr_protocol_value
1443 S_ncr_format = 683, // ncr_format
1444 S_684_137 = 684, // $@137
1445 S_config_control = 685, // config_control
1446 S_686_138 = 686, // $@138
1447 S_sub_config_control = 687, // sub_config_control
1448 S_688_139 = 688, // $@139
1449 S_config_control_params = 689, // config_control_params
1450 S_config_control_param = 690, // config_control_param
1451 S_config_databases = 691, // config_databases
1452 S_692_140 = 692, // $@140
1453 S_config_fetch_wait_time = 693, // config_fetch_wait_time
1454 S_loggers = 694, // loggers
1455 S_695_141 = 695, // $@141
1456 S_loggers_entries = 696, // loggers_entries
1457 S_logger_entry = 697, // logger_entry
1458 S_698_142 = 698, // $@142
1459 S_logger_params = 699, // logger_params
1460 S_logger_param = 700, // logger_param
1461 S_debuglevel = 701, // debuglevel
1462 S_severity = 702, // severity
1463 S_703_143 = 703, // $@143
1464 S_output_options_list = 704, // output_options_list
1465 S_705_144 = 705, // $@144
1466 S_output_options_list_content = 706, // output_options_list_content
1467 S_output_entry = 707, // output_entry
1468 S_708_145 = 708, // $@145
1469 S_output_params_list = 709, // output_params_list
1470 S_output_params = 710, // output_params
1471 S_output = 711, // output
1472 S_712_146 = 712, // $@146
1473 S_flush = 713, // flush
1474 S_maxsize = 714, // maxsize
1475 S_maxver = 715, // maxver
1476 S_pattern = 716, // pattern
1477 S_717_147 = 717, // $@147
1478 S_compatibility = 718, // compatibility
1479 S_719_148 = 719, // $@148
1480 S_compatibility_params = 720, // compatibility_params
1481 S_compatibility_param = 721, // compatibility_param
1482 S_lenient_option_parsing = 722, // lenient_option_parsing
1483 S_ignore_dhcp_server_identifier = 723, // ignore_dhcp_server_identifier
1484 S_ignore_rai_link_selection = 724, // ignore_rai_link_selection
1485 S_exclude_first_last_24 = 725 // exclude_first_last_24
1486 };
1487 };
1488
1491
1494
1501 template <typename Base>
1502 struct basic_symbol : Base
1503 {
1505 typedef Base super_type;
1506
1509 : value ()
1510 , location ()
1511 {}
1512
1513#if 201103L <= YY_CPLUSPLUS
1515 basic_symbol (basic_symbol&& that)
1516 : Base (std::move (that))
1517 , value ()
1518 , location (std::move (that.location))
1519 {
1520 switch (this->kind ())
1521 {
1522 case symbol_kind::S_value: // value
1523 case symbol_kind::S_map_value: // map_value
1524 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1525 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1526 case symbol_kind::S_socket_type: // socket_type
1527 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1528 case symbol_kind::S_on_fail_mode: // on_fail_mode
1529 case symbol_kind::S_ssl_mode: // ssl_mode
1530 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
1531 case symbol_kind::S_auth_type_value: // auth_type_value
1532 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1533 value.move< ElementPtr > (std::move (that.value));
1534 break;
1535
1536 case symbol_kind::S_BOOLEAN: // "boolean"
1537 value.move< bool > (std::move (that.value));
1538 break;
1539
1540 case symbol_kind::S_FLOAT: // "floating point"
1541 value.move< double > (std::move (that.value));
1542 break;
1543
1544 case symbol_kind::S_INTEGER: // "integer"
1545 value.move< int64_t > (std::move (that.value));
1546 break;
1547
1548 case symbol_kind::S_STRING: // "constant string"
1549 value.move< std::string > (std::move (that.value));
1550 break;
1551
1552 default:
1553 break;
1554 }
1555
1556 }
1557#endif
1558
1561
1563#if 201103L <= YY_CPLUSPLUS
1564 basic_symbol (typename Base::kind_type t, location_type&& l)
1565 : Base (t)
1566 , location (std::move (l))
1567 {}
1568#else
1569 basic_symbol (typename Base::kind_type t, const location_type& l)
1570 : Base (t)
1571 , location (l)
1572 {}
1573#endif
1574
1575#if 201103L <= YY_CPLUSPLUS
1576 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1577 : Base (t)
1578 , value (std::move (v))
1579 , location (std::move (l))
1580 {}
1581#else
1582 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1583 : Base (t)
1584 , value (v)
1585 , location (l)
1586 {}
1587#endif
1588
1589#if 201103L <= YY_CPLUSPLUS
1590 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1591 : Base (t)
1592 , value (std::move (v))
1593 , location (std::move (l))
1594 {}
1595#else
1596 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1597 : Base (t)
1598 , value (v)
1599 , location (l)
1600 {}
1601#endif
1602
1603#if 201103L <= YY_CPLUSPLUS
1604 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1605 : Base (t)
1606 , value (std::move (v))
1607 , location (std::move (l))
1608 {}
1609#else
1610 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1611 : Base (t)
1612 , value (v)
1613 , location (l)
1614 {}
1615#endif
1616
1617#if 201103L <= YY_CPLUSPLUS
1618 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1619 : Base (t)
1620 , value (std::move (v))
1621 , location (std::move (l))
1622 {}
1623#else
1624 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1625 : Base (t)
1626 , value (v)
1627 , location (l)
1628 {}
1629#endif
1630
1631#if 201103L <= YY_CPLUSPLUS
1632 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1633 : Base (t)
1634 , value (std::move (v))
1635 , location (std::move (l))
1636 {}
1637#else
1638 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1639 : Base (t)
1640 , value (v)
1641 , location (l)
1642 {}
1643#endif
1644
1647 {
1648 clear ();
1649 }
1650
1651
1652
1655 {
1656 // User destructor.
1657 symbol_kind_type yykind = this->kind ();
1658 basic_symbol<Base>& yysym = *this;
1659 (void) yysym;
1660 switch (yykind)
1661 {
1662 default:
1663 break;
1664 }
1665
1666 // Value type destructor.
1667switch (yykind)
1668 {
1669 case symbol_kind::S_value: // value
1670 case symbol_kind::S_map_value: // map_value
1671 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1672 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1673 case symbol_kind::S_socket_type: // socket_type
1674 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1675 case symbol_kind::S_on_fail_mode: // on_fail_mode
1676 case symbol_kind::S_ssl_mode: // ssl_mode
1677 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
1678 case symbol_kind::S_auth_type_value: // auth_type_value
1679 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1680 value.template destroy< ElementPtr > ();
1681 break;
1682
1683 case symbol_kind::S_BOOLEAN: // "boolean"
1684 value.template destroy< bool > ();
1685 break;
1686
1687 case symbol_kind::S_FLOAT: // "floating point"
1688 value.template destroy< double > ();
1689 break;
1690
1691 case symbol_kind::S_INTEGER: // "integer"
1692 value.template destroy< int64_t > ();
1693 break;
1694
1695 case symbol_kind::S_STRING: // "constant string"
1696 value.template destroy< std::string > ();
1697 break;
1698
1699 default:
1700 break;
1701 }
1702
1703 Base::clear ();
1704 }
1705
1707 std::string name () const YY_NOEXCEPT
1708 {
1709 return Dhcp4Parser::symbol_name (this->kind ());
1710 }
1711
1714
1716 bool empty () const YY_NOEXCEPT;
1717
1720
1723
1726
1727 private:
1728#if YY_CPLUSPLUS < 201103L
1730 basic_symbol& operator= (const basic_symbol& that);
1731#endif
1732 };
1733
1735 struct by_kind
1736 {
1739
1742
1743#if 201103L <= YY_CPLUSPLUS
1745 by_kind (by_kind&& that) YY_NOEXCEPT;
1746#endif
1747
1749 by_kind (const by_kind& that) YY_NOEXCEPT;
1750
1753
1754
1755
1757 void clear () YY_NOEXCEPT;
1758
1760 void move (by_kind& that);
1761
1765
1768
1772 };
1773
1776
1779 {
1782
1785
1787#if 201103L <= YY_CPLUSPLUS
1788 symbol_type (int tok, location_type l)
1789 : super_type (token_kind_type (tok), std::move (l))
1790#else
1791 symbol_type (int tok, const location_type& l)
1792 : super_type (token_kind_type (tok), l)
1793#endif
1794 {
1795#if !defined _MSC_VER || defined __clang__
1798#endif
1799 }
1800#if 201103L <= YY_CPLUSPLUS
1801 symbol_type (int tok, bool v, location_type l)
1802 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1803#else
1804 symbol_type (int tok, const bool& v, const location_type& l)
1805 : super_type (token_kind_type (tok), v, l)
1806#endif
1807 {
1808#if !defined _MSC_VER || defined __clang__
1810#endif
1811 }
1812#if 201103L <= YY_CPLUSPLUS
1813 symbol_type (int tok, double v, location_type l)
1814 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1815#else
1816 symbol_type (int tok, const double& v, const location_type& l)
1817 : super_type (token_kind_type (tok), v, l)
1818#endif
1819 {
1820#if !defined _MSC_VER || defined __clang__
1822#endif
1823 }
1824#if 201103L <= YY_CPLUSPLUS
1825 symbol_type (int tok, int64_t v, location_type l)
1826 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1827#else
1828 symbol_type (int tok, const int64_t& v, const location_type& l)
1829 : super_type (token_kind_type (tok), v, l)
1830#endif
1831 {
1832#if !defined _MSC_VER || defined __clang__
1834#endif
1835 }
1836#if 201103L <= YY_CPLUSPLUS
1837 symbol_type (int tok, std::string v, location_type l)
1838 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1839#else
1840 symbol_type (int tok, const std::string& v, const location_type& l)
1841 : super_type (token_kind_type (tok), v, l)
1842#endif
1843 {
1844#if !defined _MSC_VER || defined __clang__
1846#endif
1847 }
1848 };
1849
1852 virtual ~Dhcp4Parser ();
1853
1854#if 201103L <= YY_CPLUSPLUS
1856 Dhcp4Parser (const Dhcp4Parser&) = delete;
1858 Dhcp4Parser& operator= (const Dhcp4Parser&) = delete;
1859#endif
1860
1863 int operator() ();
1864
1867 virtual int parse ();
1868
1869#if PARSER4_DEBUG
1871 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1873 void set_debug_stream (std::ostream &);
1874
1876 typedef int debug_level_type;
1878 debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
1880 void set_debug_level (debug_level_type l);
1881#endif
1882
1886 virtual void error (const location_type& loc, const std::string& msg);
1887
1889 void error (const syntax_error& err);
1890
1893 static std::string symbol_name (symbol_kind_type yysymbol);
1894
1895 // Implementation of make_symbol for each token kind.
1896#if 201103L <= YY_CPLUSPLUS
1897 static
1898 symbol_type
1899 make_END (location_type l)
1900 {
1901 return symbol_type (token::TOKEN_END, std::move (l));
1902 }
1903#else
1904 static
1905 symbol_type
1907 {
1908 return symbol_type (token::TOKEN_END, l);
1909 }
1910#endif
1911#if 201103L <= YY_CPLUSPLUS
1912 static
1913 symbol_type
1914 make_PARSER4_error (location_type l)
1915 {
1916 return symbol_type (token::TOKEN_PARSER4_error, std::move (l));
1917 }
1918#else
1919 static
1920 symbol_type
1925#endif
1926#if 201103L <= YY_CPLUSPLUS
1927 static
1928 symbol_type
1929 make_PARSER4_UNDEF (location_type l)
1930 {
1931 return symbol_type (token::TOKEN_PARSER4_UNDEF, std::move (l));
1932 }
1933#else
1934 static
1935 symbol_type
1940#endif
1941#if 201103L <= YY_CPLUSPLUS
1942 static
1943 symbol_type
1944 make_COMMA (location_type l)
1945 {
1946 return symbol_type (token::TOKEN_COMMA, std::move (l));
1947 }
1948#else
1949 static
1950 symbol_type
1952 {
1953 return symbol_type (token::TOKEN_COMMA, l);
1954 }
1955#endif
1956#if 201103L <= YY_CPLUSPLUS
1957 static
1958 symbol_type
1959 make_COLON (location_type l)
1960 {
1961 return symbol_type (token::TOKEN_COLON, std::move (l));
1962 }
1963#else
1964 static
1965 symbol_type
1967 {
1968 return symbol_type (token::TOKEN_COLON, l);
1969 }
1970#endif
1971#if 201103L <= YY_CPLUSPLUS
1972 static
1973 symbol_type
1974 make_LSQUARE_BRACKET (location_type l)
1975 {
1976 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1977 }
1978#else
1979 static
1980 symbol_type
1985#endif
1986#if 201103L <= YY_CPLUSPLUS
1987 static
1988 symbol_type
1989 make_RSQUARE_BRACKET (location_type l)
1990 {
1991 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1992 }
1993#else
1994 static
1995 symbol_type
2000#endif
2001#if 201103L <= YY_CPLUSPLUS
2002 static
2003 symbol_type
2004 make_LCURLY_BRACKET (location_type l)
2005 {
2006 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
2007 }
2008#else
2009 static
2010 symbol_type
2015#endif
2016#if 201103L <= YY_CPLUSPLUS
2017 static
2018 symbol_type
2019 make_RCURLY_BRACKET (location_type l)
2020 {
2021 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
2022 }
2023#else
2024 static
2025 symbol_type
2030#endif
2031#if 201103L <= YY_CPLUSPLUS
2032 static
2033 symbol_type
2034 make_NULL_TYPE (location_type l)
2035 {
2036 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
2037 }
2038#else
2039 static
2040 symbol_type
2042 {
2044 }
2045#endif
2046#if 201103L <= YY_CPLUSPLUS
2047 static
2048 symbol_type
2049 make_DHCP4 (location_type l)
2050 {
2051 return symbol_type (token::TOKEN_DHCP4, std::move (l));
2052 }
2053#else
2054 static
2055 symbol_type
2057 {
2058 return symbol_type (token::TOKEN_DHCP4, l);
2059 }
2060#endif
2061#if 201103L <= YY_CPLUSPLUS
2062 static
2063 symbol_type
2064 make_CONFIG_CONTROL (location_type l)
2065 {
2066 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
2067 }
2068#else
2069 static
2070 symbol_type
2075#endif
2076#if 201103L <= YY_CPLUSPLUS
2077 static
2078 symbol_type
2079 make_CONFIG_DATABASES (location_type l)
2080 {
2081 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
2082 }
2083#else
2084 static
2085 symbol_type
2090#endif
2091#if 201103L <= YY_CPLUSPLUS
2092 static
2093 symbol_type
2094 make_CONFIG_FETCH_WAIT_TIME (location_type l)
2095 {
2096 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2097 }
2098#else
2099 static
2100 symbol_type
2105#endif
2106#if 201103L <= YY_CPLUSPLUS
2107 static
2108 symbol_type
2109 make_INTERFACES_CONFIG (location_type l)
2110 {
2111 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2112 }
2113#else
2114 static
2115 symbol_type
2120#endif
2121#if 201103L <= YY_CPLUSPLUS
2122 static
2123 symbol_type
2124 make_INTERFACES (location_type l)
2125 {
2126 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2127 }
2128#else
2129 static
2130 symbol_type
2132 {
2134 }
2135#endif
2136#if 201103L <= YY_CPLUSPLUS
2137 static
2138 symbol_type
2139 make_DHCP_SOCKET_TYPE (location_type l)
2140 {
2141 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, std::move (l));
2142 }
2143#else
2144 static
2145 symbol_type
2150#endif
2151#if 201103L <= YY_CPLUSPLUS
2152 static
2153 symbol_type
2154 make_RAW (location_type l)
2155 {
2156 return symbol_type (token::TOKEN_RAW, std::move (l));
2157 }
2158#else
2159 static
2160 symbol_type
2162 {
2163 return symbol_type (token::TOKEN_RAW, l);
2164 }
2165#endif
2166#if 201103L <= YY_CPLUSPLUS
2167 static
2168 symbol_type
2169 make_UDP (location_type l)
2170 {
2171 return symbol_type (token::TOKEN_UDP, std::move (l));
2172 }
2173#else
2174 static
2175 symbol_type
2177 {
2178 return symbol_type (token::TOKEN_UDP, l);
2179 }
2180#endif
2181#if 201103L <= YY_CPLUSPLUS
2182 static
2183 symbol_type
2184 make_OUTBOUND_INTERFACE (location_type l)
2185 {
2186 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, std::move (l));
2187 }
2188#else
2189 static
2190 symbol_type
2195#endif
2196#if 201103L <= YY_CPLUSPLUS
2197 static
2198 symbol_type
2199 make_SAME_AS_INBOUND (location_type l)
2200 {
2201 return symbol_type (token::TOKEN_SAME_AS_INBOUND, std::move (l));
2202 }
2203#else
2204 static
2205 symbol_type
2210#endif
2211#if 201103L <= YY_CPLUSPLUS
2212 static
2213 symbol_type
2214 make_USE_ROUTING (location_type l)
2215 {
2216 return symbol_type (token::TOKEN_USE_ROUTING, std::move (l));
2217 }
2218#else
2219 static
2220 symbol_type
2222 {
2224 }
2225#endif
2226#if 201103L <= YY_CPLUSPLUS
2227 static
2228 symbol_type
2229 make_RE_DETECT (location_type l)
2230 {
2231 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2232 }
2233#else
2234 static
2235 symbol_type
2237 {
2239 }
2240#endif
2241#if 201103L <= YY_CPLUSPLUS
2242 static
2243 symbol_type
2244 make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2245 {
2246 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2247 }
2248#else
2249 static
2250 symbol_type
2255#endif
2256#if 201103L <= YY_CPLUSPLUS
2257 static
2258 symbol_type
2259 make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2260 {
2261 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2262 }
2263#else
2264 static
2265 symbol_type
2270#endif
2271#if 201103L <= YY_CPLUSPLUS
2272 static
2273 symbol_type
2274 make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2275 {
2276 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2277 }
2278#else
2279 static
2280 symbol_type
2285#endif
2286#if 201103L <= YY_CPLUSPLUS
2287 static
2288 symbol_type
2289 make_SANITY_CHECKS (location_type l)
2290 {
2291 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
2292 }
2293#else
2294 static
2295 symbol_type
2300#endif
2301#if 201103L <= YY_CPLUSPLUS
2302 static
2303 symbol_type
2304 make_LEASE_CHECKS (location_type l)
2305 {
2306 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
2307 }
2308#else
2309 static
2310 symbol_type
2312 {
2314 }
2315#endif
2316#if 201103L <= YY_CPLUSPLUS
2317 static
2318 symbol_type
2319 make_EXTENDED_INFO_CHECKS (location_type l)
2320 {
2321 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, std::move (l));
2322 }
2323#else
2324 static
2325 symbol_type
2330#endif
2331#if 201103L <= YY_CPLUSPLUS
2332 static
2333 symbol_type
2334 make_ECHO_CLIENT_ID (location_type l)
2335 {
2336 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, std::move (l));
2337 }
2338#else
2339 static
2340 symbol_type
2345#endif
2346#if 201103L <= YY_CPLUSPLUS
2347 static
2348 symbol_type
2349 make_MATCH_CLIENT_ID (location_type l)
2350 {
2351 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, std::move (l));
2352 }
2353#else
2354 static
2355 symbol_type
2360#endif
2361#if 201103L <= YY_CPLUSPLUS
2362 static
2363 symbol_type
2364 make_AUTHORITATIVE (location_type l)
2365 {
2366 return symbol_type (token::TOKEN_AUTHORITATIVE, std::move (l));
2367 }
2368#else
2369 static
2370 symbol_type
2375#endif
2376#if 201103L <= YY_CPLUSPLUS
2377 static
2378 symbol_type
2379 make_NEXT_SERVER (location_type l)
2380 {
2381 return symbol_type (token::TOKEN_NEXT_SERVER, std::move (l));
2382 }
2383#else
2384 static
2385 symbol_type
2387 {
2389 }
2390#endif
2391#if 201103L <= YY_CPLUSPLUS
2392 static
2393 symbol_type
2394 make_SERVER_HOSTNAME (location_type l)
2395 {
2396 return symbol_type (token::TOKEN_SERVER_HOSTNAME, std::move (l));
2397 }
2398#else
2399 static
2400 symbol_type
2405#endif
2406#if 201103L <= YY_CPLUSPLUS
2407 static
2408 symbol_type
2409 make_BOOT_FILE_NAME (location_type l)
2410 {
2411 return symbol_type (token::TOKEN_BOOT_FILE_NAME, std::move (l));
2412 }
2413#else
2414 static
2415 symbol_type
2420#endif
2421#if 201103L <= YY_CPLUSPLUS
2422 static
2423 symbol_type
2424 make_OFFER_LFT (location_type l)
2425 {
2426 return symbol_type (token::TOKEN_OFFER_LFT, std::move (l));
2427 }
2428#else
2429 static
2430 symbol_type
2432 {
2434 }
2435#endif
2436#if 201103L <= YY_CPLUSPLUS
2437 static
2438 symbol_type
2439 make_STASH_AGENT_OPTIONS (location_type l)
2440 {
2441 return symbol_type (token::TOKEN_STASH_AGENT_OPTIONS, std::move (l));
2442 }
2443#else
2444 static
2445 symbol_type
2450#endif
2451#if 201103L <= YY_CPLUSPLUS
2452 static
2453 symbol_type
2454 make_LEASE_DATABASE (location_type l)
2455 {
2456 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2457 }
2458#else
2459 static
2460 symbol_type
2465#endif
2466#if 201103L <= YY_CPLUSPLUS
2467 static
2468 symbol_type
2469 make_HOSTS_DATABASE (location_type l)
2470 {
2471 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2472 }
2473#else
2474 static
2475 symbol_type
2480#endif
2481#if 201103L <= YY_CPLUSPLUS
2482 static
2483 symbol_type
2484 make_HOSTS_DATABASES (location_type l)
2485 {
2486 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2487 }
2488#else
2489 static
2490 symbol_type
2495#endif
2496#if 201103L <= YY_CPLUSPLUS
2497 static
2498 symbol_type
2499 make_TYPE (location_type l)
2500 {
2501 return symbol_type (token::TOKEN_TYPE, std::move (l));
2502 }
2503#else
2504 static
2505 symbol_type
2507 {
2508 return symbol_type (token::TOKEN_TYPE, l);
2509 }
2510#endif
2511#if 201103L <= YY_CPLUSPLUS
2512 static
2513 symbol_type
2514 make_USER (location_type l)
2515 {
2516 return symbol_type (token::TOKEN_USER, std::move (l));
2517 }
2518#else
2519 static
2520 symbol_type
2522 {
2523 return symbol_type (token::TOKEN_USER, l);
2524 }
2525#endif
2526#if 201103L <= YY_CPLUSPLUS
2527 static
2528 symbol_type
2529 make_PASSWORD (location_type l)
2530 {
2531 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2532 }
2533#else
2534 static
2535 symbol_type
2537 {
2539 }
2540#endif
2541#if 201103L <= YY_CPLUSPLUS
2542 static
2543 symbol_type
2544 make_HOST (location_type l)
2545 {
2546 return symbol_type (token::TOKEN_HOST, std::move (l));
2547 }
2548#else
2549 static
2550 symbol_type
2552 {
2553 return symbol_type (token::TOKEN_HOST, l);
2554 }
2555#endif
2556#if 201103L <= YY_CPLUSPLUS
2557 static
2558 symbol_type
2559 make_PORT (location_type l)
2560 {
2561 return symbol_type (token::TOKEN_PORT, std::move (l));
2562 }
2563#else
2564 static
2565 symbol_type
2567 {
2568 return symbol_type (token::TOKEN_PORT, l);
2569 }
2570#endif
2571#if 201103L <= YY_CPLUSPLUS
2572 static
2573 symbol_type
2574 make_PERSIST (location_type l)
2575 {
2576 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2577 }
2578#else
2579 static
2580 symbol_type
2582 {
2584 }
2585#endif
2586#if 201103L <= YY_CPLUSPLUS
2587 static
2588 symbol_type
2589 make_LFC_INTERVAL (location_type l)
2590 {
2591 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2592 }
2593#else
2594 static
2595 symbol_type
2597 {
2599 }
2600#endif
2601#if 201103L <= YY_CPLUSPLUS
2602 static
2603 symbol_type
2604 make_READONLY (location_type l)
2605 {
2606 return symbol_type (token::TOKEN_READONLY, std::move (l));
2607 }
2608#else
2609 static
2610 symbol_type
2612 {
2614 }
2615#endif
2616#if 201103L <= YY_CPLUSPLUS
2617 static
2618 symbol_type
2619 make_CONNECT_TIMEOUT (location_type l)
2620 {
2621 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2622 }
2623#else
2624 static
2625 symbol_type
2630#endif
2631#if 201103L <= YY_CPLUSPLUS
2632 static
2633 symbol_type
2634 make_READ_TIMEOUT (location_type l)
2635 {
2636 return symbol_type (token::TOKEN_READ_TIMEOUT, std::move (l));
2637 }
2638#else
2639 static
2640 symbol_type
2642 {
2644 }
2645#endif
2646#if 201103L <= YY_CPLUSPLUS
2647 static
2648 symbol_type
2649 make_WRITE_TIMEOUT (location_type l)
2650 {
2651 return symbol_type (token::TOKEN_WRITE_TIMEOUT, std::move (l));
2652 }
2653#else
2654 static
2655 symbol_type
2660#endif
2661#if 201103L <= YY_CPLUSPLUS
2662 static
2663 symbol_type
2664 make_TCP_USER_TIMEOUT (location_type l)
2665 {
2666 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, std::move (l));
2667 }
2668#else
2669 static
2670 symbol_type
2675#endif
2676#if 201103L <= YY_CPLUSPLUS
2677 static
2678 symbol_type
2679 make_MAX_RECONNECT_TRIES (location_type l)
2680 {
2681 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2682 }
2683#else
2684 static
2685 symbol_type
2690#endif
2691#if 201103L <= YY_CPLUSPLUS
2692 static
2693 symbol_type
2694 make_RECONNECT_WAIT_TIME (location_type l)
2695 {
2696 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2697 }
2698#else
2699 static
2700 symbol_type
2705#endif
2706#if 201103L <= YY_CPLUSPLUS
2707 static
2708 symbol_type
2709 make_ON_FAIL (location_type l)
2710 {
2711 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2712 }
2713#else
2714 static
2715 symbol_type
2717 {
2719 }
2720#endif
2721#if 201103L <= YY_CPLUSPLUS
2722 static
2723 symbol_type
2724 make_STOP_RETRY_EXIT (location_type l)
2725 {
2726 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2727 }
2728#else
2729 static
2730 symbol_type
2735#endif
2736#if 201103L <= YY_CPLUSPLUS
2737 static
2738 symbol_type
2739 make_SERVE_RETRY_EXIT (location_type l)
2740 {
2741 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2742 }
2743#else
2744 static
2745 symbol_type
2750#endif
2751#if 201103L <= YY_CPLUSPLUS
2752 static
2753 symbol_type
2754 make_SERVE_RETRY_CONTINUE (location_type l)
2755 {
2756 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2757 }
2758#else
2759 static
2760 symbol_type
2765#endif
2766#if 201103L <= YY_CPLUSPLUS
2767 static
2768 symbol_type
2769 make_RETRY_ON_STARTUP (location_type l)
2770 {
2771 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, std::move (l));
2772 }
2773#else
2774 static
2775 symbol_type
2780#endif
2781#if 201103L <= YY_CPLUSPLUS
2782 static
2783 symbol_type
2784 make_MAX_ROW_ERRORS (location_type l)
2785 {
2786 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2787 }
2788#else
2789 static
2790 symbol_type
2795#endif
2796#if 201103L <= YY_CPLUSPLUS
2797 static
2798 symbol_type
2799 make_TRUST_ANCHOR (location_type l)
2800 {
2801 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2802 }
2803#else
2804 static
2805 symbol_type
2807 {
2809 }
2810#endif
2811#if 201103L <= YY_CPLUSPLUS
2812 static
2813 symbol_type
2814 make_CERT_FILE (location_type l)
2815 {
2816 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2817 }
2818#else
2819 static
2820 symbol_type
2822 {
2824 }
2825#endif
2826#if 201103L <= YY_CPLUSPLUS
2827 static
2828 symbol_type
2829 make_KEY_FILE (location_type l)
2830 {
2831 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2832 }
2833#else
2834 static
2835 symbol_type
2837 {
2839 }
2840#endif
2841#if 201103L <= YY_CPLUSPLUS
2842 static
2843 symbol_type
2844 make_SSL_MODE (location_type l)
2845 {
2846 return symbol_type (token::TOKEN_SSL_MODE, std::move (l));
2847 }
2848#else
2849 static
2850 symbol_type
2852 {
2854 }
2855#endif
2856#if 201103L <= YY_CPLUSPLUS
2857 static
2858 symbol_type
2859 make_DISABLE (location_type l)
2860 {
2861 return symbol_type (token::TOKEN_DISABLE, std::move (l));
2862 }
2863#else
2864 static
2865 symbol_type
2867 {
2869 }
2870#endif
2871#if 201103L <= YY_CPLUSPLUS
2872 static
2873 symbol_type
2874 make_PREFER (location_type l)
2875 {
2876 return symbol_type (token::TOKEN_PREFER, std::move (l));
2877 }
2878#else
2879 static
2880 symbol_type
2882 {
2883 return symbol_type (token::TOKEN_PREFER, l);
2884 }
2885#endif
2886#if 201103L <= YY_CPLUSPLUS
2887 static
2888 symbol_type
2889 make_REQUIRE (location_type l)
2890 {
2891 return symbol_type (token::TOKEN_REQUIRE, std::move (l));
2892 }
2893#else
2894 static
2895 symbol_type
2897 {
2899 }
2900#endif
2901#if 201103L <= YY_CPLUSPLUS
2902 static
2903 symbol_type
2904 make_VERIFY_CA (location_type l)
2905 {
2906 return symbol_type (token::TOKEN_VERIFY_CA, std::move (l));
2907 }
2908#else
2909 static
2910 symbol_type
2912 {
2914 }
2915#endif
2916#if 201103L <= YY_CPLUSPLUS
2917 static
2918 symbol_type
2919 make_VERIFY_FULL (location_type l)
2920 {
2921 return symbol_type (token::TOKEN_VERIFY_FULL, std::move (l));
2922 }
2923#else
2924 static
2925 symbol_type
2927 {
2929 }
2930#endif
2931#if 201103L <= YY_CPLUSPLUS
2932 static
2933 symbol_type
2934 make_CIPHER_LIST (location_type l)
2935 {
2936 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2937 }
2938#else
2939 static
2940 symbol_type
2942 {
2944 }
2945#endif
2946#if 201103L <= YY_CPLUSPLUS
2947 static
2948 symbol_type
2949 make_VALID_LIFETIME (location_type l)
2950 {
2951 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2952 }
2953#else
2954 static
2955 symbol_type
2960#endif
2961#if 201103L <= YY_CPLUSPLUS
2962 static
2963 symbol_type
2964 make_MIN_VALID_LIFETIME (location_type l)
2965 {
2966 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2967 }
2968#else
2969 static
2970 symbol_type
2975#endif
2976#if 201103L <= YY_CPLUSPLUS
2977 static
2978 symbol_type
2979 make_MAX_VALID_LIFETIME (location_type l)
2980 {
2981 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2982 }
2983#else
2984 static
2985 symbol_type
2990#endif
2991#if 201103L <= YY_CPLUSPLUS
2992 static
2993 symbol_type
2994 make_RENEW_TIMER (location_type l)
2995 {
2996 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2997 }
2998#else
2999 static
3000 symbol_type
3002 {
3004 }
3005#endif
3006#if 201103L <= YY_CPLUSPLUS
3007 static
3008 symbol_type
3009 make_REBIND_TIMER (location_type l)
3010 {
3011 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
3012 }
3013#else
3014 static
3015 symbol_type
3017 {
3019 }
3020#endif
3021#if 201103L <= YY_CPLUSPLUS
3022 static
3023 symbol_type
3024 make_CALCULATE_TEE_TIMES (location_type l)
3025 {
3026 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
3027 }
3028#else
3029 static
3030 symbol_type
3035#endif
3036#if 201103L <= YY_CPLUSPLUS
3037 static
3038 symbol_type
3039 make_T1_PERCENT (location_type l)
3040 {
3041 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
3042 }
3043#else
3044 static
3045 symbol_type
3047 {
3049 }
3050#endif
3051#if 201103L <= YY_CPLUSPLUS
3052 static
3053 symbol_type
3054 make_T2_PERCENT (location_type l)
3055 {
3056 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
3057 }
3058#else
3059 static
3060 symbol_type
3062 {
3064 }
3065#endif
3066#if 201103L <= YY_CPLUSPLUS
3067 static
3068 symbol_type
3069 make_CACHE_THRESHOLD (location_type l)
3070 {
3071 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
3072 }
3073#else
3074 static
3075 symbol_type
3080#endif
3081#if 201103L <= YY_CPLUSPLUS
3082 static
3083 symbol_type
3084 make_CACHE_MAX_AGE (location_type l)
3085 {
3086 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
3087 }
3088#else
3089 static
3090 symbol_type
3095#endif
3096#if 201103L <= YY_CPLUSPLUS
3097 static
3098 symbol_type
3099 make_ADAPTIVE_LEASE_TIME_THRESHOLD (location_type l)
3100 {
3101 return symbol_type (token::TOKEN_ADAPTIVE_LEASE_TIME_THRESHOLD, std::move (l));
3102 }
3103#else
3104 static
3105 symbol_type
3110#endif
3111#if 201103L <= YY_CPLUSPLUS
3112 static
3113 symbol_type
3114 make_DECLINE_PROBATION_PERIOD (location_type l)
3115 {
3116 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
3117 }
3118#else
3119 static
3120 symbol_type
3125#endif
3126#if 201103L <= YY_CPLUSPLUS
3127 static
3128 symbol_type
3129 make_SERVER_TAG (location_type l)
3130 {
3131 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
3132 }
3133#else
3134 static
3135 symbol_type
3137 {
3139 }
3140#endif
3141#if 201103L <= YY_CPLUSPLUS
3142 static
3143 symbol_type
3144 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
3145 {
3146 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
3147 }
3148#else
3149 static
3150 symbol_type
3155#endif
3156#if 201103L <= YY_CPLUSPLUS
3157 static
3158 symbol_type
3159 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
3160 {
3161 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
3162 }
3163#else
3164 static
3165 symbol_type
3170#endif
3171#if 201103L <= YY_CPLUSPLUS
3172 static
3173 symbol_type
3174 make_DDNS_SEND_UPDATES (location_type l)
3175 {
3176 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
3177 }
3178#else
3179 static
3180 symbol_type
3185#endif
3186#if 201103L <= YY_CPLUSPLUS
3187 static
3188 symbol_type
3189 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
3190 {
3191 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
3192 }
3193#else
3194 static
3195 symbol_type
3200#endif
3201#if 201103L <= YY_CPLUSPLUS
3202 static
3203 symbol_type
3204 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
3205 {
3206 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
3207 }
3208#else
3209 static
3210 symbol_type
3215#endif
3216#if 201103L <= YY_CPLUSPLUS
3217 static
3218 symbol_type
3219 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
3220 {
3221 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
3222 }
3223#else
3224 static
3225 symbol_type
3230#endif
3231#if 201103L <= YY_CPLUSPLUS
3232 static
3233 symbol_type
3234 make_DDNS_GENERATED_PREFIX (location_type l)
3235 {
3236 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
3237 }
3238#else
3239 static
3240 symbol_type
3245#endif
3246#if 201103L <= YY_CPLUSPLUS
3247 static
3248 symbol_type
3249 make_DDNS_QUALIFYING_SUFFIX (location_type l)
3250 {
3251 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
3252 }
3253#else
3254 static
3255 symbol_type
3260#endif
3261#if 201103L <= YY_CPLUSPLUS
3262 static
3263 symbol_type
3264 make_DDNS_UPDATE_ON_RENEW (location_type l)
3265 {
3266 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
3267 }
3268#else
3269 static
3270 symbol_type
3275#endif
3276#if 201103L <= YY_CPLUSPLUS
3277 static
3278 symbol_type
3279 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
3280 {
3281 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
3282 }
3283#else
3284 static
3285 symbol_type
3290#endif
3291#if 201103L <= YY_CPLUSPLUS
3292 static
3293 symbol_type
3294 make_DDNS_TTL_PERCENT (location_type l)
3295 {
3296 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, std::move (l));
3297 }
3298#else
3299 static
3300 symbol_type
3305#endif
3306#if 201103L <= YY_CPLUSPLUS
3307 static
3308 symbol_type
3309 make_DDNS_TTL (location_type l)
3310 {
3311 return symbol_type (token::TOKEN_DDNS_TTL, std::move (l));
3312 }
3313#else
3314 static
3315 symbol_type
3317 {
3319 }
3320#endif
3321#if 201103L <= YY_CPLUSPLUS
3322 static
3323 symbol_type
3324 make_DDNS_TTL_MIN (location_type l)
3325 {
3326 return symbol_type (token::TOKEN_DDNS_TTL_MIN, std::move (l));
3327 }
3328#else
3329 static
3330 symbol_type
3332 {
3334 }
3335#endif
3336#if 201103L <= YY_CPLUSPLUS
3337 static
3338 symbol_type
3339 make_DDNS_TTL_MAX (location_type l)
3340 {
3341 return symbol_type (token::TOKEN_DDNS_TTL_MAX, std::move (l));
3342 }
3343#else
3344 static
3345 symbol_type
3347 {
3349 }
3350#endif
3351#if 201103L <= YY_CPLUSPLUS
3352 static
3353 symbol_type
3354 make_STORE_EXTENDED_INFO (location_type l)
3355 {
3356 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
3357 }
3358#else
3359 static
3360 symbol_type
3365#endif
3366#if 201103L <= YY_CPLUSPLUS
3367 static
3368 symbol_type
3369 make_SUBNET4 (location_type l)
3370 {
3371 return symbol_type (token::TOKEN_SUBNET4, std::move (l));
3372 }
3373#else
3374 static
3375 symbol_type
3377 {
3379 }
3380#endif
3381#if 201103L <= YY_CPLUSPLUS
3382 static
3383 symbol_type
3384 make_SUBNET_4O6_INTERFACE (location_type l)
3385 {
3386 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, std::move (l));
3387 }
3388#else
3389 static
3390 symbol_type
3395#endif
3396#if 201103L <= YY_CPLUSPLUS
3397 static
3398 symbol_type
3399 make_SUBNET_4O6_INTERFACE_ID (location_type l)
3400 {
3401 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, std::move (l));
3402 }
3403#else
3404 static
3405 symbol_type
3410#endif
3411#if 201103L <= YY_CPLUSPLUS
3412 static
3413 symbol_type
3414 make_SUBNET_4O6_SUBNET (location_type l)
3415 {
3416 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, std::move (l));
3417 }
3418#else
3419 static
3420 symbol_type
3425#endif
3426#if 201103L <= YY_CPLUSPLUS
3427 static
3428 symbol_type
3429 make_OPTION_DEF (location_type l)
3430 {
3431 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
3432 }
3433#else
3434 static
3435 symbol_type
3437 {
3439 }
3440#endif
3441#if 201103L <= YY_CPLUSPLUS
3442 static
3443 symbol_type
3444 make_OPTION_DATA (location_type l)
3445 {
3446 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
3447 }
3448#else
3449 static
3450 symbol_type
3452 {
3454 }
3455#endif
3456#if 201103L <= YY_CPLUSPLUS
3457 static
3458 symbol_type
3459 make_NAME (location_type l)
3460 {
3461 return symbol_type (token::TOKEN_NAME, std::move (l));
3462 }
3463#else
3464 static
3465 symbol_type
3467 {
3468 return symbol_type (token::TOKEN_NAME, l);
3469 }
3470#endif
3471#if 201103L <= YY_CPLUSPLUS
3472 static
3473 symbol_type
3474 make_DATA (location_type l)
3475 {
3476 return symbol_type (token::TOKEN_DATA, std::move (l));
3477 }
3478#else
3479 static
3480 symbol_type
3482 {
3483 return symbol_type (token::TOKEN_DATA, l);
3484 }
3485#endif
3486#if 201103L <= YY_CPLUSPLUS
3487 static
3488 symbol_type
3489 make_CODE (location_type l)
3490 {
3491 return symbol_type (token::TOKEN_CODE, std::move (l));
3492 }
3493#else
3494 static
3495 symbol_type
3497 {
3498 return symbol_type (token::TOKEN_CODE, l);
3499 }
3500#endif
3501#if 201103L <= YY_CPLUSPLUS
3502 static
3503 symbol_type
3504 make_SPACE (location_type l)
3505 {
3506 return symbol_type (token::TOKEN_SPACE, std::move (l));
3507 }
3508#else
3509 static
3510 symbol_type
3512 {
3513 return symbol_type (token::TOKEN_SPACE, l);
3514 }
3515#endif
3516#if 201103L <= YY_CPLUSPLUS
3517 static
3518 symbol_type
3519 make_CSV_FORMAT (location_type l)
3520 {
3521 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3522 }
3523#else
3524 static
3525 symbol_type
3527 {
3529 }
3530#endif
3531#if 201103L <= YY_CPLUSPLUS
3532 static
3533 symbol_type
3534 make_ALWAYS_SEND (location_type l)
3535 {
3536 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3537 }
3538#else
3539 static
3540 symbol_type
3542 {
3544 }
3545#endif
3546#if 201103L <= YY_CPLUSPLUS
3547 static
3548 symbol_type
3549 make_NEVER_SEND (location_type l)
3550 {
3551 return symbol_type (token::TOKEN_NEVER_SEND, std::move (l));
3552 }
3553#else
3554 static
3555 symbol_type
3557 {
3559 }
3560#endif
3561#if 201103L <= YY_CPLUSPLUS
3562 static
3563 symbol_type
3564 make_RECORD_TYPES (location_type l)
3565 {
3566 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3567 }
3568#else
3569 static
3570 symbol_type
3572 {
3574 }
3575#endif
3576#if 201103L <= YY_CPLUSPLUS
3577 static
3578 symbol_type
3579 make_ENCAPSULATE (location_type l)
3580 {
3581 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3582 }
3583#else
3584 static
3585 symbol_type
3587 {
3589 }
3590#endif
3591#if 201103L <= YY_CPLUSPLUS
3592 static
3593 symbol_type
3594 make_ARRAY (location_type l)
3595 {
3596 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3597 }
3598#else
3599 static
3600 symbol_type
3602 {
3603 return symbol_type (token::TOKEN_ARRAY, l);
3604 }
3605#endif
3606#if 201103L <= YY_CPLUSPLUS
3607 static
3608 symbol_type
3609 make_PARKED_PACKET_LIMIT (location_type l)
3610 {
3611 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3612 }
3613#else
3614 static
3615 symbol_type
3620#endif
3621#if 201103L <= YY_CPLUSPLUS
3622 static
3623 symbol_type
3624 make_ALLOCATOR (location_type l)
3625 {
3626 return symbol_type (token::TOKEN_ALLOCATOR, std::move (l));
3627 }
3628#else
3629 static
3630 symbol_type
3632 {
3634 }
3635#endif
3636#if 201103L <= YY_CPLUSPLUS
3637 static
3638 symbol_type
3639 make_DDNS_CONFLICT_RESOLUTION_MODE (location_type l)
3640 {
3641 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, std::move (l));
3642 }
3643#else
3644 static
3645 symbol_type
3650#endif
3651#if 201103L <= YY_CPLUSPLUS
3652 static
3653 symbol_type
3654 make_CHECK_WITH_DHCID (location_type l)
3655 {
3656 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, std::move (l));
3657 }
3658#else
3659 static
3660 symbol_type
3665#endif
3666#if 201103L <= YY_CPLUSPLUS
3667 static
3668 symbol_type
3669 make_NO_CHECK_WITH_DHCID (location_type l)
3670 {
3671 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, std::move (l));
3672 }
3673#else
3674 static
3675 symbol_type
3680#endif
3681#if 201103L <= YY_CPLUSPLUS
3682 static
3683 symbol_type
3684 make_CHECK_EXISTS_WITH_DHCID (location_type l)
3685 {
3686 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, std::move (l));
3687 }
3688#else
3689 static
3690 symbol_type
3695#endif
3696#if 201103L <= YY_CPLUSPLUS
3697 static
3698 symbol_type
3699 make_NO_CHECK_WITHOUT_DHCID (location_type l)
3700 {
3701 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, std::move (l));
3702 }
3703#else
3704 static
3705 symbol_type
3710#endif
3711#if 201103L <= YY_CPLUSPLUS
3712 static
3713 symbol_type
3714 make_SHARED_NETWORKS (location_type l)
3715 {
3716 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3717 }
3718#else
3719 static
3720 symbol_type
3725#endif
3726#if 201103L <= YY_CPLUSPLUS
3727 static
3728 symbol_type
3729 make_POOLS (location_type l)
3730 {
3731 return symbol_type (token::TOKEN_POOLS, std::move (l));
3732 }
3733#else
3734 static
3735 symbol_type
3737 {
3738 return symbol_type (token::TOKEN_POOLS, l);
3739 }
3740#endif
3741#if 201103L <= YY_CPLUSPLUS
3742 static
3743 symbol_type
3744 make_POOL (location_type l)
3745 {
3746 return symbol_type (token::TOKEN_POOL, std::move (l));
3747 }
3748#else
3749 static
3750 symbol_type
3752 {
3753 return symbol_type (token::TOKEN_POOL, l);
3754 }
3755#endif
3756#if 201103L <= YY_CPLUSPLUS
3757 static
3758 symbol_type
3759 make_USER_CONTEXT (location_type l)
3760 {
3761 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3762 }
3763#else
3764 static
3765 symbol_type
3767 {
3769 }
3770#endif
3771#if 201103L <= YY_CPLUSPLUS
3772 static
3773 symbol_type
3774 make_COMMENT (location_type l)
3775 {
3776 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3777 }
3778#else
3779 static
3780 symbol_type
3782 {
3784 }
3785#endif
3786#if 201103L <= YY_CPLUSPLUS
3787 static
3788 symbol_type
3789 make_SUBNET (location_type l)
3790 {
3791 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3792 }
3793#else
3794 static
3795 symbol_type
3797 {
3798 return symbol_type (token::TOKEN_SUBNET, l);
3799 }
3800#endif
3801#if 201103L <= YY_CPLUSPLUS
3802 static
3803 symbol_type
3804 make_INTERFACE (location_type l)
3805 {
3806 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3807 }
3808#else
3809 static
3810 symbol_type
3812 {
3814 }
3815#endif
3816#if 201103L <= YY_CPLUSPLUS
3817 static
3818 symbol_type
3819 make_ID (location_type l)
3820 {
3821 return symbol_type (token::TOKEN_ID, std::move (l));
3822 }
3823#else
3824 static
3825 symbol_type
3827 {
3828 return symbol_type (token::TOKEN_ID, l);
3829 }
3830#endif
3831#if 201103L <= YY_CPLUSPLUS
3832 static
3833 symbol_type
3834 make_RESERVATIONS_GLOBAL (location_type l)
3835 {
3836 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3837 }
3838#else
3839 static
3840 symbol_type
3845#endif
3846#if 201103L <= YY_CPLUSPLUS
3847 static
3848 symbol_type
3849 make_RESERVATIONS_IN_SUBNET (location_type l)
3850 {
3851 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3852 }
3853#else
3854 static
3855 symbol_type
3860#endif
3861#if 201103L <= YY_CPLUSPLUS
3862 static
3863 symbol_type
3864 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3865 {
3866 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3867 }
3868#else
3869 static
3870 symbol_type
3875#endif
3876#if 201103L <= YY_CPLUSPLUS
3877 static
3878 symbol_type
3879 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3880 {
3881 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3882 }
3883#else
3884 static
3885 symbol_type
3890#endif
3891#if 201103L <= YY_CPLUSPLUS
3892 static
3893 symbol_type
3894 make_CLIENT_CLASSES (location_type l)
3895 {
3896 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3897 }
3898#else
3899 static
3900 symbol_type
3905#endif
3906#if 201103L <= YY_CPLUSPLUS
3907 static
3908 symbol_type
3909 make_REQUIRE_CLIENT_CLASSES (location_type l)
3910 {
3911 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3912 }
3913#else
3914 static
3915 symbol_type
3920#endif
3921#if 201103L <= YY_CPLUSPLUS
3922 static
3923 symbol_type
3924 make_EVALUATE_ADDITIONAL_CLASSES (location_type l)
3925 {
3926 return symbol_type (token::TOKEN_EVALUATE_ADDITIONAL_CLASSES, std::move (l));
3927 }
3928#else
3929 static
3930 symbol_type
3935#endif
3936#if 201103L <= YY_CPLUSPLUS
3937 static
3938 symbol_type
3939 make_TEST (location_type l)
3940 {
3941 return symbol_type (token::TOKEN_TEST, std::move (l));
3942 }
3943#else
3944 static
3945 symbol_type
3947 {
3948 return symbol_type (token::TOKEN_TEST, l);
3949 }
3950#endif
3951#if 201103L <= YY_CPLUSPLUS
3952 static
3953 symbol_type
3954 make_TEMPLATE_TEST (location_type l)
3955 {
3956 return symbol_type (token::TOKEN_TEMPLATE_TEST, std::move (l));
3957 }
3958#else
3959 static
3960 symbol_type
3965#endif
3966#if 201103L <= YY_CPLUSPLUS
3967 static
3968 symbol_type
3969 make_ONLY_IF_REQUIRED (location_type l)
3970 {
3971 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3972 }
3973#else
3974 static
3975 symbol_type
3980#endif
3981#if 201103L <= YY_CPLUSPLUS
3982 static
3983 symbol_type
3984 make_ONLY_IN_ADDITIONAL_LIST (location_type l)
3985 {
3986 return symbol_type (token::TOKEN_ONLY_IN_ADDITIONAL_LIST, std::move (l));
3987 }
3988#else
3989 static
3990 symbol_type
3995#endif
3996#if 201103L <= YY_CPLUSPLUS
3997 static
3998 symbol_type
3999 make_CLIENT_CLASS (location_type l)
4000 {
4001 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
4002 }
4003#else
4004 static
4005 symbol_type
4007 {
4009 }
4010#endif
4011#if 201103L <= YY_CPLUSPLUS
4012 static
4013 symbol_type
4014 make_POOL_ID (location_type l)
4015 {
4016 return symbol_type (token::TOKEN_POOL_ID, std::move (l));
4017 }
4018#else
4019 static
4020 symbol_type
4022 {
4024 }
4025#endif
4026#if 201103L <= YY_CPLUSPLUS
4027 static
4028 symbol_type
4029 make_RESERVATIONS (location_type l)
4030 {
4031 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
4032 }
4033#else
4034 static
4035 symbol_type
4037 {
4039 }
4040#endif
4041#if 201103L <= YY_CPLUSPLUS
4042 static
4043 symbol_type
4044 make_IP_ADDRESS (location_type l)
4045 {
4046 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
4047 }
4048#else
4049 static
4050 symbol_type
4052 {
4054 }
4055#endif
4056#if 201103L <= YY_CPLUSPLUS
4057 static
4058 symbol_type
4059 make_DUID (location_type l)
4060 {
4061 return symbol_type (token::TOKEN_DUID, std::move (l));
4062 }
4063#else
4064 static
4065 symbol_type
4067 {
4068 return symbol_type (token::TOKEN_DUID, l);
4069 }
4070#endif
4071#if 201103L <= YY_CPLUSPLUS
4072 static
4073 symbol_type
4074 make_HW_ADDRESS (location_type l)
4075 {
4076 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
4077 }
4078#else
4079 static
4080 symbol_type
4082 {
4084 }
4085#endif
4086#if 201103L <= YY_CPLUSPLUS
4087 static
4088 symbol_type
4089 make_CIRCUIT_ID (location_type l)
4090 {
4091 return symbol_type (token::TOKEN_CIRCUIT_ID, std::move (l));
4092 }
4093#else
4094 static
4095 symbol_type
4097 {
4099 }
4100#endif
4101#if 201103L <= YY_CPLUSPLUS
4102 static
4103 symbol_type
4104 make_CLIENT_ID (location_type l)
4105 {
4106 return symbol_type (token::TOKEN_CLIENT_ID, std::move (l));
4107 }
4108#else
4109 static
4110 symbol_type
4112 {
4114 }
4115#endif
4116#if 201103L <= YY_CPLUSPLUS
4117 static
4118 symbol_type
4119 make_HOSTNAME (location_type l)
4120 {
4121 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
4122 }
4123#else
4124 static
4125 symbol_type
4127 {
4129 }
4130#endif
4131#if 201103L <= YY_CPLUSPLUS
4132 static
4133 symbol_type
4134 make_FLEX_ID (location_type l)
4135 {
4136 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
4137 }
4138#else
4139 static
4140 symbol_type
4142 {
4144 }
4145#endif
4146#if 201103L <= YY_CPLUSPLUS
4147 static
4148 symbol_type
4149 make_RELAY (location_type l)
4150 {
4151 return symbol_type (token::TOKEN_RELAY, std::move (l));
4152 }
4153#else
4154 static
4155 symbol_type
4157 {
4158 return symbol_type (token::TOKEN_RELAY, l);
4159 }
4160#endif
4161#if 201103L <= YY_CPLUSPLUS
4162 static
4163 symbol_type
4164 make_IP_ADDRESSES (location_type l)
4165 {
4166 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
4167 }
4168#else
4169 static
4170 symbol_type
4172 {
4174 }
4175#endif
4176#if 201103L <= YY_CPLUSPLUS
4177 static
4178 symbol_type
4179 make_HOOKS_LIBRARIES (location_type l)
4180 {
4181 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
4182 }
4183#else
4184 static
4185 symbol_type
4190#endif
4191#if 201103L <= YY_CPLUSPLUS
4192 static
4193 symbol_type
4194 make_LIBRARY (location_type l)
4195 {
4196 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
4197 }
4198#else
4199 static
4200 symbol_type
4202 {
4204 }
4205#endif
4206#if 201103L <= YY_CPLUSPLUS
4207 static
4208 symbol_type
4209 make_PARAMETERS (location_type l)
4210 {
4211 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
4212 }
4213#else
4214 static
4215 symbol_type
4217 {
4219 }
4220#endif
4221#if 201103L <= YY_CPLUSPLUS
4222 static
4223 symbol_type
4224 make_EXPIRED_LEASES_PROCESSING (location_type l)
4225 {
4226 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
4227 }
4228#else
4229 static
4230 symbol_type
4235#endif
4236#if 201103L <= YY_CPLUSPLUS
4237 static
4238 symbol_type
4239 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
4240 {
4241 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
4242 }
4243#else
4244 static
4245 symbol_type
4250#endif
4251#if 201103L <= YY_CPLUSPLUS
4252 static
4253 symbol_type
4254 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
4255 {
4256 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
4257 }
4258#else
4259 static
4260 symbol_type
4265#endif
4266#if 201103L <= YY_CPLUSPLUS
4267 static
4268 symbol_type
4269 make_HOLD_RECLAIMED_TIME (location_type l)
4270 {
4271 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
4272 }
4273#else
4274 static
4275 symbol_type
4280#endif
4281#if 201103L <= YY_CPLUSPLUS
4282 static
4283 symbol_type
4284 make_MAX_RECLAIM_LEASES (location_type l)
4285 {
4286 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
4287 }
4288#else
4289 static
4290 symbol_type
4295#endif
4296#if 201103L <= YY_CPLUSPLUS
4297 static
4298 symbol_type
4299 make_MAX_RECLAIM_TIME (location_type l)
4300 {
4301 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
4302 }
4303#else
4304 static
4305 symbol_type
4310#endif
4311#if 201103L <= YY_CPLUSPLUS
4312 static
4313 symbol_type
4314 make_UNWARNED_RECLAIM_CYCLES (location_type l)
4315 {
4316 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
4317 }
4318#else
4319 static
4320 symbol_type
4325#endif
4326#if 201103L <= YY_CPLUSPLUS
4327 static
4328 symbol_type
4329 make_DHCP4O6_PORT (location_type l)
4330 {
4331 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4332 }
4333#else
4334 static
4335 symbol_type
4337 {
4339 }
4340#endif
4341#if 201103L <= YY_CPLUSPLUS
4342 static
4343 symbol_type
4344 make_DHCP_MULTI_THREADING (location_type l)
4345 {
4346 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4347 }
4348#else
4349 static
4350 symbol_type
4355#endif
4356#if 201103L <= YY_CPLUSPLUS
4357 static
4358 symbol_type
4359 make_ENABLE_MULTI_THREADING (location_type l)
4360 {
4361 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4362 }
4363#else
4364 static
4365 symbol_type
4370#endif
4371#if 201103L <= YY_CPLUSPLUS
4372 static
4373 symbol_type
4374 make_THREAD_POOL_SIZE (location_type l)
4375 {
4376 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4377 }
4378#else
4379 static
4380 symbol_type
4385#endif
4386#if 201103L <= YY_CPLUSPLUS
4387 static
4388 symbol_type
4389 make_PACKET_QUEUE_SIZE (location_type l)
4390 {
4391 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4392 }
4393#else
4394 static
4395 symbol_type
4400#endif
4401#if 201103L <= YY_CPLUSPLUS
4402 static
4403 symbol_type
4404 make_CONTROL_SOCKET (location_type l)
4405 {
4406 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4407 }
4408#else
4409 static
4410 symbol_type
4415#endif
4416#if 201103L <= YY_CPLUSPLUS
4417 static
4418 symbol_type
4419 make_CONTROL_SOCKETS (location_type l)
4420 {
4421 return symbol_type (token::TOKEN_CONTROL_SOCKETS, std::move (l));
4422 }
4423#else
4424 static
4425 symbol_type
4430#endif
4431#if 201103L <= YY_CPLUSPLUS
4432 static
4433 symbol_type
4434 make_SOCKET_TYPE (location_type l)
4435 {
4436 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4437 }
4438#else
4439 static
4440 symbol_type
4442 {
4444 }
4445#endif
4446#if 201103L <= YY_CPLUSPLUS
4447 static
4448 symbol_type
4449 make_UNIX (location_type l)
4450 {
4451 return symbol_type (token::TOKEN_UNIX, std::move (l));
4452 }
4453#else
4454 static
4455 symbol_type
4457 {
4458 return symbol_type (token::TOKEN_UNIX, l);
4459 }
4460#endif
4461#if 201103L <= YY_CPLUSPLUS
4462 static
4463 symbol_type
4464 make_HTTP (location_type l)
4465 {
4466 return symbol_type (token::TOKEN_HTTP, std::move (l));
4467 }
4468#else
4469 static
4470 symbol_type
4472 {
4473 return symbol_type (token::TOKEN_HTTP, l);
4474 }
4475#endif
4476#if 201103L <= YY_CPLUSPLUS
4477 static
4478 symbol_type
4479 make_HTTPS (location_type l)
4480 {
4481 return symbol_type (token::TOKEN_HTTPS, std::move (l));
4482 }
4483#else
4484 static
4485 symbol_type
4487 {
4488 return symbol_type (token::TOKEN_HTTPS, l);
4489 }
4490#endif
4491#if 201103L <= YY_CPLUSPLUS
4492 static
4493 symbol_type
4494 make_SOCKET_NAME (location_type l)
4495 {
4496 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4497 }
4498#else
4499 static
4500 symbol_type
4502 {
4504 }
4505#endif
4506#if 201103L <= YY_CPLUSPLUS
4507 static
4508 symbol_type
4509 make_SOCKET_ADDRESS (location_type l)
4510 {
4511 return symbol_type (token::TOKEN_SOCKET_ADDRESS, std::move (l));
4512 }
4513#else
4514 static
4515 symbol_type
4520#endif
4521#if 201103L <= YY_CPLUSPLUS
4522 static
4523 symbol_type
4524 make_SOCKET_PORT (location_type l)
4525 {
4526 return symbol_type (token::TOKEN_SOCKET_PORT, std::move (l));
4527 }
4528#else
4529 static
4530 symbol_type
4532 {
4534 }
4535#endif
4536#if 201103L <= YY_CPLUSPLUS
4537 static
4538 symbol_type
4539 make_AUTHENTICATION (location_type l)
4540 {
4541 return symbol_type (token::TOKEN_AUTHENTICATION, std::move (l));
4542 }
4543#else
4544 static
4545 symbol_type
4550#endif
4551#if 201103L <= YY_CPLUSPLUS
4552 static
4553 symbol_type
4554 make_BASIC (location_type l)
4555 {
4556 return symbol_type (token::TOKEN_BASIC, std::move (l));
4557 }
4558#else
4559 static
4560 symbol_type
4562 {
4563 return symbol_type (token::TOKEN_BASIC, l);
4564 }
4565#endif
4566#if 201103L <= YY_CPLUSPLUS
4567 static
4568 symbol_type
4569 make_REALM (location_type l)
4570 {
4571 return symbol_type (token::TOKEN_REALM, std::move (l));
4572 }
4573#else
4574 static
4575 symbol_type
4577 {
4578 return symbol_type (token::TOKEN_REALM, l);
4579 }
4580#endif
4581#if 201103L <= YY_CPLUSPLUS
4582 static
4583 symbol_type
4584 make_DIRECTORY (location_type l)
4585 {
4586 return symbol_type (token::TOKEN_DIRECTORY, std::move (l));
4587 }
4588#else
4589 static
4590 symbol_type
4592 {
4594 }
4595#endif
4596#if 201103L <= YY_CPLUSPLUS
4597 static
4598 symbol_type
4599 make_CLIENTS (location_type l)
4600 {
4601 return symbol_type (token::TOKEN_CLIENTS, std::move (l));
4602 }
4603#else
4604 static
4605 symbol_type
4607 {
4609 }
4610#endif
4611#if 201103L <= YY_CPLUSPLUS
4612 static
4613 symbol_type
4614 make_USER_FILE (location_type l)
4615 {
4616 return symbol_type (token::TOKEN_USER_FILE, std::move (l));
4617 }
4618#else
4619 static
4620 symbol_type
4622 {
4624 }
4625#endif
4626#if 201103L <= YY_CPLUSPLUS
4627 static
4628 symbol_type
4629 make_PASSWORD_FILE (location_type l)
4630 {
4631 return symbol_type (token::TOKEN_PASSWORD_FILE, std::move (l));
4632 }
4633#else
4634 static
4635 symbol_type
4640#endif
4641#if 201103L <= YY_CPLUSPLUS
4642 static
4643 symbol_type
4644 make_CERT_REQUIRED (location_type l)
4645 {
4646 return symbol_type (token::TOKEN_CERT_REQUIRED, std::move (l));
4647 }
4648#else
4649 static
4650 symbol_type
4655#endif
4656#if 201103L <= YY_CPLUSPLUS
4657 static
4658 symbol_type
4659 make_HTTP_HEADERS (location_type l)
4660 {
4661 return symbol_type (token::TOKEN_HTTP_HEADERS, std::move (l));
4662 }
4663#else
4664 static
4665 symbol_type
4667 {
4669 }
4670#endif
4671#if 201103L <= YY_CPLUSPLUS
4672 static
4673 symbol_type
4674 make_VALUE (location_type l)
4675 {
4676 return symbol_type (token::TOKEN_VALUE, std::move (l));
4677 }
4678#else
4679 static
4680 symbol_type
4682 {
4683 return symbol_type (token::TOKEN_VALUE, l);
4684 }
4685#endif
4686#if 201103L <= YY_CPLUSPLUS
4687 static
4688 symbol_type
4689 make_DHCP_QUEUE_CONTROL (location_type l)
4690 {
4691 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4692 }
4693#else
4694 static
4695 symbol_type
4700#endif
4701#if 201103L <= YY_CPLUSPLUS
4702 static
4703 symbol_type
4704 make_ENABLE_QUEUE (location_type l)
4705 {
4706 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4707 }
4708#else
4709 static
4710 symbol_type
4712 {
4714 }
4715#endif
4716#if 201103L <= YY_CPLUSPLUS
4717 static
4718 symbol_type
4719 make_QUEUE_TYPE (location_type l)
4720 {
4721 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4722 }
4723#else
4724 static
4725 symbol_type
4727 {
4729 }
4730#endif
4731#if 201103L <= YY_CPLUSPLUS
4732 static
4733 symbol_type
4734 make_CAPACITY (location_type l)
4735 {
4736 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4737 }
4738#else
4739 static
4740 symbol_type
4742 {
4744 }
4745#endif
4746#if 201103L <= YY_CPLUSPLUS
4747 static
4748 symbol_type
4749 make_DHCP_DDNS (location_type l)
4750 {
4751 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4752 }
4753#else
4754 static
4755 symbol_type
4757 {
4759 }
4760#endif
4761#if 201103L <= YY_CPLUSPLUS
4762 static
4763 symbol_type
4764 make_ENABLE_UPDATES (location_type l)
4765 {
4766 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4767 }
4768#else
4769 static
4770 symbol_type
4775#endif
4776#if 201103L <= YY_CPLUSPLUS
4777 static
4778 symbol_type
4779 make_SERVER_IP (location_type l)
4780 {
4781 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4782 }
4783#else
4784 static
4785 symbol_type
4787 {
4789 }
4790#endif
4791#if 201103L <= YY_CPLUSPLUS
4792 static
4793 symbol_type
4794 make_SERVER_PORT (location_type l)
4795 {
4796 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4797 }
4798#else
4799 static
4800 symbol_type
4802 {
4804 }
4805#endif
4806#if 201103L <= YY_CPLUSPLUS
4807 static
4808 symbol_type
4809 make_SENDER_IP (location_type l)
4810 {
4811 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4812 }
4813#else
4814 static
4815 symbol_type
4817 {
4819 }
4820#endif
4821#if 201103L <= YY_CPLUSPLUS
4822 static
4823 symbol_type
4824 make_SENDER_PORT (location_type l)
4825 {
4826 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4827 }
4828#else
4829 static
4830 symbol_type
4832 {
4834 }
4835#endif
4836#if 201103L <= YY_CPLUSPLUS
4837 static
4838 symbol_type
4839 make_MAX_QUEUE_SIZE (location_type l)
4840 {
4841 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4842 }
4843#else
4844 static
4845 symbol_type
4850#endif
4851#if 201103L <= YY_CPLUSPLUS
4852 static
4853 symbol_type
4854 make_NCR_PROTOCOL (location_type l)
4855 {
4856 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4857 }
4858#else
4859 static
4860 symbol_type
4862 {
4864 }
4865#endif
4866#if 201103L <= YY_CPLUSPLUS
4867 static
4868 symbol_type
4869 make_NCR_FORMAT (location_type l)
4870 {
4871 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4872 }
4873#else
4874 static
4875 symbol_type
4877 {
4879 }
4880#endif
4881#if 201103L <= YY_CPLUSPLUS
4882 static
4883 symbol_type
4884 make_TCP (location_type l)
4885 {
4886 return symbol_type (token::TOKEN_TCP, std::move (l));
4887 }
4888#else
4889 static
4890 symbol_type
4892 {
4893 return symbol_type (token::TOKEN_TCP, l);
4894 }
4895#endif
4896#if 201103L <= YY_CPLUSPLUS
4897 static
4898 symbol_type
4899 make_JSON (location_type l)
4900 {
4901 return symbol_type (token::TOKEN_JSON, std::move (l));
4902 }
4903#else
4904 static
4905 symbol_type
4907 {
4908 return symbol_type (token::TOKEN_JSON, l);
4909 }
4910#endif
4911#if 201103L <= YY_CPLUSPLUS
4912 static
4913 symbol_type
4914 make_WHEN_PRESENT (location_type l)
4915 {
4916 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4917 }
4918#else
4919 static
4920 symbol_type
4922 {
4924 }
4925#endif
4926#if 201103L <= YY_CPLUSPLUS
4927 static
4928 symbol_type
4929 make_NEVER (location_type l)
4930 {
4931 return symbol_type (token::TOKEN_NEVER, std::move (l));
4932 }
4933#else
4934 static
4935 symbol_type
4937 {
4938 return symbol_type (token::TOKEN_NEVER, l);
4939 }
4940#endif
4941#if 201103L <= YY_CPLUSPLUS
4942 static
4943 symbol_type
4944 make_ALWAYS (location_type l)
4945 {
4946 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4947 }
4948#else
4949 static
4950 symbol_type
4952 {
4953 return symbol_type (token::TOKEN_ALWAYS, l);
4954 }
4955#endif
4956#if 201103L <= YY_CPLUSPLUS
4957 static
4958 symbol_type
4959 make_WHEN_NOT_PRESENT (location_type l)
4960 {
4961 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4962 }
4963#else
4964 static
4965 symbol_type
4970#endif
4971#if 201103L <= YY_CPLUSPLUS
4972 static
4973 symbol_type
4974 make_HOSTNAME_CHAR_SET (location_type l)
4975 {
4976 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4977 }
4978#else
4979 static
4980 symbol_type
4985#endif
4986#if 201103L <= YY_CPLUSPLUS
4987 static
4988 symbol_type
4989 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4990 {
4991 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4992 }
4993#else
4994 static
4995 symbol_type
5000#endif
5001#if 201103L <= YY_CPLUSPLUS
5002 static
5003 symbol_type
5004 make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
5005 {
5006 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
5007 }
5008#else
5009 static
5010 symbol_type
5015#endif
5016#if 201103L <= YY_CPLUSPLUS
5017 static
5018 symbol_type
5019 make_IP_RESERVATIONS_UNIQUE (location_type l)
5020 {
5021 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
5022 }
5023#else
5024 static
5025 symbol_type
5030#endif
5031#if 201103L <= YY_CPLUSPLUS
5032 static
5033 symbol_type
5034 make_RESERVATIONS_LOOKUP_FIRST (location_type l)
5035 {
5036 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
5037 }
5038#else
5039 static
5040 symbol_type
5045#endif
5046#if 201103L <= YY_CPLUSPLUS
5047 static
5048 symbol_type
5049 make_LOGGERS (location_type l)
5050 {
5051 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
5052 }
5053#else
5054 static
5055 symbol_type
5057 {
5059 }
5060#endif
5061#if 201103L <= YY_CPLUSPLUS
5062 static
5063 symbol_type
5064 make_OUTPUT_OPTIONS (location_type l)
5065 {
5066 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
5067 }
5068#else
5069 static
5070 symbol_type
5075#endif
5076#if 201103L <= YY_CPLUSPLUS
5077 static
5078 symbol_type
5079 make_OUTPUT (location_type l)
5080 {
5081 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
5082 }
5083#else
5084 static
5085 symbol_type
5087 {
5088 return symbol_type (token::TOKEN_OUTPUT, l);
5089 }
5090#endif
5091#if 201103L <= YY_CPLUSPLUS
5092 static
5093 symbol_type
5094 make_DEBUGLEVEL (location_type l)
5095 {
5096 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
5097 }
5098#else
5099 static
5100 symbol_type
5102 {
5104 }
5105#endif
5106#if 201103L <= YY_CPLUSPLUS
5107 static
5108 symbol_type
5109 make_SEVERITY (location_type l)
5110 {
5111 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
5112 }
5113#else
5114 static
5115 symbol_type
5117 {
5119 }
5120#endif
5121#if 201103L <= YY_CPLUSPLUS
5122 static
5123 symbol_type
5124 make_FLUSH (location_type l)
5125 {
5126 return symbol_type (token::TOKEN_FLUSH, std::move (l));
5127 }
5128#else
5129 static
5130 symbol_type
5132 {
5133 return symbol_type (token::TOKEN_FLUSH, l);
5134 }
5135#endif
5136#if 201103L <= YY_CPLUSPLUS
5137 static
5138 symbol_type
5139 make_MAXSIZE (location_type l)
5140 {
5141 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
5142 }
5143#else
5144 static
5145 symbol_type
5147 {
5149 }
5150#endif
5151#if 201103L <= YY_CPLUSPLUS
5152 static
5153 symbol_type
5154 make_MAXVER (location_type l)
5155 {
5156 return symbol_type (token::TOKEN_MAXVER, std::move (l));
5157 }
5158#else
5159 static
5160 symbol_type
5162 {
5163 return symbol_type (token::TOKEN_MAXVER, l);
5164 }
5165#endif
5166#if 201103L <= YY_CPLUSPLUS
5167 static
5168 symbol_type
5169 make_PATTERN (location_type l)
5170 {
5171 return symbol_type (token::TOKEN_PATTERN, std::move (l));
5172 }
5173#else
5174 static
5175 symbol_type
5177 {
5179 }
5180#endif
5181#if 201103L <= YY_CPLUSPLUS
5182 static
5183 symbol_type
5184 make_COMPATIBILITY (location_type l)
5185 {
5186 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
5187 }
5188#else
5189 static
5190 symbol_type
5195#endif
5196#if 201103L <= YY_CPLUSPLUS
5197 static
5198 symbol_type
5199 make_LENIENT_OPTION_PARSING (location_type l)
5200 {
5201 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
5202 }
5203#else
5204 static
5205 symbol_type
5210#endif
5211#if 201103L <= YY_CPLUSPLUS
5212 static
5213 symbol_type
5214 make_IGNORE_DHCP_SERVER_ID (location_type l)
5215 {
5216 return symbol_type (token::TOKEN_IGNORE_DHCP_SERVER_ID, std::move (l));
5217 }
5218#else
5219 static
5220 symbol_type
5225#endif
5226#if 201103L <= YY_CPLUSPLUS
5227 static
5228 symbol_type
5229 make_IGNORE_RAI_LINK_SEL (location_type l)
5230 {
5231 return symbol_type (token::TOKEN_IGNORE_RAI_LINK_SEL, std::move (l));
5232 }
5233#else
5234 static
5235 symbol_type
5240#endif
5241#if 201103L <= YY_CPLUSPLUS
5242 static
5243 symbol_type
5244 make_EXCLUDE_FIRST_LAST_24 (location_type l)
5245 {
5246 return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, std::move (l));
5247 }
5248#else
5249 static
5250 symbol_type
5255#endif
5256#if 201103L <= YY_CPLUSPLUS
5257 static
5258 symbol_type
5259 make_TOPLEVEL_JSON (location_type l)
5260 {
5261 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
5262 }
5263#else
5264 static
5265 symbol_type
5270#endif
5271#if 201103L <= YY_CPLUSPLUS
5272 static
5273 symbol_type
5274 make_TOPLEVEL_DHCP4 (location_type l)
5275 {
5276 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, std::move (l));
5277 }
5278#else
5279 static
5280 symbol_type
5285#endif
5286#if 201103L <= YY_CPLUSPLUS
5287 static
5288 symbol_type
5289 make_SUB_DHCP4 (location_type l)
5290 {
5291 return symbol_type (token::TOKEN_SUB_DHCP4, std::move (l));
5292 }
5293#else
5294 static
5295 symbol_type
5297 {
5299 }
5300#endif
5301#if 201103L <= YY_CPLUSPLUS
5302 static
5303 symbol_type
5304 make_SUB_INTERFACES4 (location_type l)
5305 {
5306 return symbol_type (token::TOKEN_SUB_INTERFACES4, std::move (l));
5307 }
5308#else
5309 static
5310 symbol_type
5315#endif
5316#if 201103L <= YY_CPLUSPLUS
5317 static
5318 symbol_type
5319 make_SUB_SUBNET4 (location_type l)
5320 {
5321 return symbol_type (token::TOKEN_SUB_SUBNET4, std::move (l));
5322 }
5323#else
5324 static
5325 symbol_type
5327 {
5329 }
5330#endif
5331#if 201103L <= YY_CPLUSPLUS
5332 static
5333 symbol_type
5334 make_SUB_POOL4 (location_type l)
5335 {
5336 return symbol_type (token::TOKEN_SUB_POOL4, std::move (l));
5337 }
5338#else
5339 static
5340 symbol_type
5342 {
5344 }
5345#endif
5346#if 201103L <= YY_CPLUSPLUS
5347 static
5348 symbol_type
5349 make_SUB_RESERVATION (location_type l)
5350 {
5351 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
5352 }
5353#else
5354 static
5355 symbol_type
5360#endif
5361#if 201103L <= YY_CPLUSPLUS
5362 static
5363 symbol_type
5364 make_SUB_OPTION_DEFS (location_type l)
5365 {
5366 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
5367 }
5368#else
5369 static
5370 symbol_type
5375#endif
5376#if 201103L <= YY_CPLUSPLUS
5377 static
5378 symbol_type
5379 make_SUB_OPTION_DEF (location_type l)
5380 {
5381 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
5382 }
5383#else
5384 static
5385 symbol_type
5390#endif
5391#if 201103L <= YY_CPLUSPLUS
5392 static
5393 symbol_type
5394 make_SUB_OPTION_DATA (location_type l)
5395 {
5396 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
5397 }
5398#else
5399 static
5400 symbol_type
5405#endif
5406#if 201103L <= YY_CPLUSPLUS
5407 static
5408 symbol_type
5409 make_SUB_HOOKS_LIBRARY (location_type l)
5410 {
5411 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
5412 }
5413#else
5414 static
5415 symbol_type
5420#endif
5421#if 201103L <= YY_CPLUSPLUS
5422 static
5423 symbol_type
5424 make_SUB_DHCP_DDNS (location_type l)
5425 {
5426 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
5427 }
5428#else
5429 static
5430 symbol_type
5435#endif
5436#if 201103L <= YY_CPLUSPLUS
5437 static
5438 symbol_type
5439 make_SUB_CONFIG_CONTROL (location_type l)
5440 {
5441 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
5442 }
5443#else
5444 static
5445 symbol_type
5450#endif
5451#if 201103L <= YY_CPLUSPLUS
5452 static
5453 symbol_type
5454 make_STRING (std::string v, location_type l)
5455 {
5456 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
5457 }
5458#else
5459 static
5460 symbol_type
5461 make_STRING (const std::string& v, const location_type& l)
5462 {
5463 return symbol_type (token::TOKEN_STRING, v, l);
5464 }
5465#endif
5466#if 201103L <= YY_CPLUSPLUS
5467 static
5468 symbol_type
5469 make_INTEGER (int64_t v, location_type l)
5470 {
5471 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
5472 }
5473#else
5474 static
5475 symbol_type
5476 make_INTEGER (const int64_t& v, const location_type& l)
5477 {
5478 return symbol_type (token::TOKEN_INTEGER, v, l);
5479 }
5480#endif
5481#if 201103L <= YY_CPLUSPLUS
5482 static
5483 symbol_type
5484 make_FLOAT (double v, location_type l)
5485 {
5486 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
5487 }
5488#else
5489 static
5490 symbol_type
5491 make_FLOAT (const double& v, const location_type& l)
5492 {
5493 return symbol_type (token::TOKEN_FLOAT, v, l);
5494 }
5495#endif
5496#if 201103L <= YY_CPLUSPLUS
5497 static
5498 symbol_type
5499 make_BOOLEAN (bool v, location_type l)
5500 {
5501 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
5502 }
5503#else
5504 static
5505 symbol_type
5506 make_BOOLEAN (const bool& v, const location_type& l)
5507 {
5508 return symbol_type (token::TOKEN_BOOLEAN, v, l);
5509 }
5510#endif
5511
5512
5514 {
5515 public:
5516 context (const Dhcp4Parser& yyparser, const symbol_type& yyla);
5517 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
5518 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
5519 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
5520
5524 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
5525
5526 private:
5527 const Dhcp4Parser& yyparser_;
5528 const symbol_type& yyla_;
5529 };
5530
5531 private:
5532#if YY_CPLUSPLUS < 201103L
5534 Dhcp4Parser (const Dhcp4Parser&);
5536 Dhcp4Parser& operator= (const Dhcp4Parser&);
5537#endif
5538
5539
5541 typedef short state_type;
5542
5544 int yy_syntax_error_arguments_ (const context& yyctx,
5545 symbol_kind_type yyarg[], int yyargn) const;
5546
5549 virtual std::string yysyntax_error_ (const context& yyctx) const;
5553 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
5554
5557 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
5558
5561 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
5562
5563 static const short yypact_ninf_;
5564 static const signed char yytable_ninf_;
5565
5569 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
5570
5572 static std::string yytnamerr_ (const char *yystr);
5573
5575 static const char* const yytname_[];
5576
5577
5578 // Tables.
5579 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5580 // STATE-NUM.
5581 static const short yypact_[];
5582
5583 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5584 // Performed when YYTABLE does not specify something else to do. Zero
5585 // means the default is an error.
5586 static const short yydefact_[];
5587
5588 // YYPGOTO[NTERM-NUM].
5589 static const short yypgoto_[];
5590
5591 // YYDEFGOTO[NTERM-NUM].
5592 static const short yydefgoto_[];
5593
5594 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5595 // positive, shift that token. If negative, reduce the rule whose
5596 // number is the opposite. If YYTABLE_NINF, syntax error.
5597 static const short yytable_[];
5598
5599 static const short yycheck_[];
5600
5601 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
5602 // state STATE-NUM.
5603 static const short yystos_[];
5604
5605 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
5606 static const short yyr1_[];
5607
5608 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
5609 static const signed char yyr2_[];
5610
5611
5612#if PARSER4_DEBUG
5613 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5614 static const short yyrline_[];
5616 virtual void yy_reduce_print_ (int r) const;
5618 virtual void yy_stack_print_ () const;
5619
5621 int yydebug_;
5623 std::ostream* yycdebug_;
5624
5628 template <typename Base>
5629 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5630#endif
5631
5636 template <typename Base>
5637 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5638
5639 private:
5641 struct by_state
5642 {
5644 by_state () YY_NOEXCEPT;
5645
5647 typedef state_type kind_type;
5648
5650 by_state (kind_type s) YY_NOEXCEPT;
5651
5653 by_state (const by_state& that) YY_NOEXCEPT;
5654
5656 void clear () YY_NOEXCEPT;
5657
5659 void move (by_state& that);
5660
5663 symbol_kind_type kind () const YY_NOEXCEPT;
5664
5667 enum { empty_state = 0 };
5668
5671 state_type state;
5672 };
5673
5675 struct stack_symbol_type : basic_symbol<by_state>
5676 {
5678 typedef basic_symbol<by_state> super_type;
5680 stack_symbol_type ();
5682 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5684 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5685#if YY_CPLUSPLUS < 201103L
5688 stack_symbol_type& operator= (stack_symbol_type& that);
5689
5692 stack_symbol_type& operator= (const stack_symbol_type& that);
5693#endif
5694 };
5695
5697 template <typename T, typename S = std::vector<T> >
5698 class stack
5699 {
5700 public:
5701 // Hide our reversed order.
5702 typedef typename S::iterator iterator;
5703 typedef typename S::const_iterator const_iterator;
5704 typedef typename S::size_type size_type;
5705 typedef typename std::ptrdiff_t index_type;
5706
5707 stack (size_type n = 200) YY_NOEXCEPT
5708 : seq_ (n)
5709 {}
5710
5711#if 201103L <= YY_CPLUSPLUS
5713 stack (const stack&) = delete;
5715 stack& operator= (const stack&) = delete;
5716#endif
5717
5721 const T&
5722 operator[] (index_type i) const
5723 {
5724 return seq_[size_type (size () - 1 - i)];
5725 }
5726
5730 T&
5731 operator[] (index_type i)
5732 {
5733 return seq_[size_type (size () - 1 - i)];
5734 }
5735
5739 void
5740 push (YY_MOVE_REF (T) t)
5741 {
5742 seq_.push_back (T ());
5743 operator[] (0).move (t);
5744 }
5745
5747 void
5748 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5749 {
5750 for (; 0 < n; --n)
5751 seq_.pop_back ();
5752 }
5753
5755 void
5756 clear () YY_NOEXCEPT
5757 {
5758 seq_.clear ();
5759 }
5760
5762 index_type
5763 size () const YY_NOEXCEPT
5764 {
5765 return index_type (seq_.size ());
5766 }
5767
5769 const_iterator
5770 begin () const YY_NOEXCEPT
5771 {
5772 return seq_.begin ();
5773 }
5774
5776 const_iterator
5777 end () const YY_NOEXCEPT
5778 {
5779 return seq_.end ();
5780 }
5781
5783 class slice
5784 {
5785 public:
5786 slice (const stack& stack, index_type range) YY_NOEXCEPT
5787 : stack_ (stack)
5788 , range_ (range)
5789 {}
5790
5791 const T&
5792 operator[] (index_type i) const
5793 {
5794 return stack_[range_ - i];
5795 }
5796
5797 private:
5798 const stack& stack_;
5799 index_type range_;
5800 };
5801
5802 private:
5803#if YY_CPLUSPLUS < 201103L
5805 stack (const stack&);
5807 stack& operator= (const stack&);
5808#endif
5810 S seq_;
5811 };
5812
5813
5815 typedef stack<stack_symbol_type> stack_type;
5816
5818 stack_type yystack_;
5819
5825 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5826
5833 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5834
5836 void yypop_ (int n = 1) YY_NOEXCEPT;
5837
5839 enum
5840 {
5841 yylast_ = 1714,
5842 yynnts_ = 485,
5843 yyfinal_ = 28
5844 };
5845
5846
5847 // User arguments.
5849
5850 };
5851
5852 inline
5854 Dhcp4Parser::yytranslate_ (int t) YY_NOEXCEPT
5855 {
5856 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
5857 // TOKEN-NUM as returned by yylex.
5858 static
5859 const unsigned char
5860 translate_table[] =
5861 {
5862 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5863 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5864 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5865 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5866 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5867 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5868 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5869 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5870 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5871 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5872 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5873 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5874 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5875 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5876 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5877 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5878 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5879 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5880 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5881 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5882 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5883 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5884 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5885 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5886 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5887 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5888 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5889 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5890 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5891 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5892 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5893 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5894 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5895 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5896 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5897 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5898 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5899 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5900 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5901 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5902 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5903 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5904 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5905 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5906 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5907 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5908 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
5909 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
5910 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
5911 235, 236, 237, 238, 239, 240
5912 };
5913 // Last valid token kind.
5914 const int code_max = 495;
5915
5916 if (t <= 0)
5917 return symbol_kind::S_YYEOF;
5918 else if (t <= code_max)
5919 return static_cast <symbol_kind_type> (translate_table[t]);
5920 else
5922 }
5923
5924 // basic_symbol.
5925 template <typename Base>
5927 : Base (that)
5928 , value ()
5929 , location (that.location)
5930 {
5931 switch (this->kind ())
5932 {
5933 case symbol_kind::S_value: // value
5934 case symbol_kind::S_map_value: // map_value
5935 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5936 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
5937 case symbol_kind::S_socket_type: // socket_type
5938 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
5939 case symbol_kind::S_on_fail_mode: // on_fail_mode
5940 case symbol_kind::S_ssl_mode: // ssl_mode
5941 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
5942 case symbol_kind::S_auth_type_value: // auth_type_value
5943 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5944 value.copy< ElementPtr > (YY_MOVE (that.value));
5945 break;
5946
5947 case symbol_kind::S_BOOLEAN: // "boolean"
5948 value.copy< bool > (YY_MOVE (that.value));
5949 break;
5950
5951 case symbol_kind::S_FLOAT: // "floating point"
5952 value.copy< double > (YY_MOVE (that.value));
5953 break;
5954
5955 case symbol_kind::S_INTEGER: // "integer"
5956 value.copy< int64_t > (YY_MOVE (that.value));
5957 break;
5958
5959 case symbol_kind::S_STRING: // "constant string"
5960 value.copy< std::string > (YY_MOVE (that.value));
5961 break;
5962
5963 default:
5964 break;
5965 }
5966
5967 }
5968
5969
5970
5971
5972 template <typename Base>
5975 {
5976 return this->kind ();
5977 }
5978
5979
5980 template <typename Base>
5981 bool
5983 {
5984 return this->kind () == symbol_kind::S_YYEMPTY;
5985 }
5986
5987 template <typename Base>
5988 void
5990 {
5991 super_type::move (s);
5992 switch (this->kind ())
5993 {
5994 case symbol_kind::S_value: // value
5995 case symbol_kind::S_map_value: // map_value
5996 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5997 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
5998 case symbol_kind::S_socket_type: // socket_type
5999 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
6000 case symbol_kind::S_on_fail_mode: // on_fail_mode
6001 case symbol_kind::S_ssl_mode: // ssl_mode
6002 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
6003 case symbol_kind::S_auth_type_value: // auth_type_value
6004 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
6005 value.move< ElementPtr > (YY_MOVE (s.value));
6006 break;
6007
6008 case symbol_kind::S_BOOLEAN: // "boolean"
6009 value.move< bool > (YY_MOVE (s.value));
6010 break;
6011
6012 case symbol_kind::S_FLOAT: // "floating point"
6013 value.move< double > (YY_MOVE (s.value));
6014 break;
6015
6016 case symbol_kind::S_INTEGER: // "integer"
6017 value.move< int64_t > (YY_MOVE (s.value));
6018 break;
6019
6020 case symbol_kind::S_STRING: // "constant string"
6021 value.move< std::string > (YY_MOVE (s.value));
6022 break;
6023
6024 default:
6025 break;
6026 }
6027
6029 }
6030
6031 // by_kind.
6032 inline
6036
6037#if 201103L <= YY_CPLUSPLUS
6038 inline
6040 : kind_ (that.kind_)
6041 {
6042 that.clear ();
6043 }
6044#endif
6045
6046 inline
6048 : kind_ (that.kind_)
6049 {}
6050
6051 inline
6055
6056
6057
6058 inline
6059 void
6064
6065 inline
6066 void
6068 {
6069 kind_ = that.kind_;
6070 that.clear ();
6071 }
6072
6073 inline
6076 {
6077 return kind_;
6078 }
6079
6080
6081 inline
6084 {
6085 return this->kind ();
6086 }
6087
6088
6089#line 14 "dhcp4_parser.yy"
6090} } // isc::dhcp
6091#line 6092 "dhcp4_parser.h"
6092
6093
6094
6095
6096#endif // !YY_PARSER4_DHCP4_PARSER_H_INCLUDED
symbol_kind_type token() const YY_NOEXCEPT
context(const Dhcp4Parser &yyparser, const symbol_type &yyla)
const symbol_type & lookahead() const YY_NOEXCEPT
const location_type & location() const YY_NOEXCEPT
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_PREFER(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_VERIFY_FULL(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_REQUIRE(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_HTTPS(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_MAX_RETRIES(const location_type &l)
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_SOCKET_ADDRESS(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_REQUIRE_ALL(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_SENDER_PORT(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_DDNS_TTL_MAX(const location_type &l)
static symbol_type make_CERT_REQUIRED(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_NO_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_POOL_ID(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_SERVER_HOSTNAME(const location_type &l)
static symbol_type make_IGNORE_DHCP_SERVER_ID(const location_type &l)
static symbol_type make_KEY_FILE(const location_type &l)
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_DDNS_TTL_MIN(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_DIRECTORY(const location_type &l)
static symbol_type make_EXCLUDE_FIRST_LAST_24(const location_type &l)
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_TEMPLATE_TEST(const location_type &l)
static symbol_type make_EARLY_GLOBAL_RESERVATIONS_LOOKUP(const location_type &l)
static symbol_type make_ADAPTIVE_LEASE_TIME_THRESHOLD(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)
static symbol_type make_HTTP_HEADERS(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_VERIFY_CA(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_SSL_MODE(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_DISABLE(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_NEXT_SERVER(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_RAW(const location_type &l)
static symbol_type make_OUTBOUND_INTERFACE(const location_type &l)
static const symbol_kind_type YYNTOKENS
The number of tokens.
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_SUB_POOL4(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
static symbol_type make_TRUST_ANCHOR(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_USER_FILE(const location_type &l)
static symbol_type make_ALLOCATOR(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_CLIENT_ID(const location_type &l)
static symbol_type make_OFFER_LFT(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_RESERVATIONS_LOOKUP_FIRST(const location_type &l)
static symbol_type make_CONTROL_SOCKETS(const location_type &l)
static symbol_type make_TOPLEVEL_DHCP4(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_VALUE(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_DHCP_SOCKET_TYPE(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_NO_CHECK_WITHOUT_DHCID(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
static symbol_type make_WRITE_TIMEOUT(const location_type &l)
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_DDNS_CONFLICT_RESOLUTION_MODE(const location_type &l)
static symbol_type make_SUB_DHCP4(const location_type &l)
static symbol_type make_SUBNET_4O6_SUBNET(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_NEVER_SEND(const location_type &l)
static symbol_type make_DDNS_TTL(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_BASIC(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
by_kind by_type
Backward compatibility for a private implementation detail (Bison 3.6).
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.
#define YY_RVREF(Type)
Definition d2_parser.h:87
#define YY_MOVE_REF(Type)
Definition d2_parser.h:86
#define YY_NOEXCEPT
Definition d2_parser.h:96
#define YY_ATTRIBUTE_PURE
Definition d2_parser.h:118
#define YY_MOVE
Definition d2_parser.h:84
#define YY_NOTHROW
Definition d2_parser.h:97
Forward declaration of the ParserContext class.
#define PARSER4__ASSERT
boost::shared_ptr< Element > ElementPtr
Definition data.h:29
@ error
Definition db_log.h:118
Defines the logger used by the top-level component of kea-lfc.
basic_symbol(typename Base::kind_type t, const std::string &v, const location_type &l)
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.
basic_symbol(typename Base::kind_type t, const int64_t &v, const location_type &l)
basic_symbol() YY_NOEXCEPT
Default constructor.
basic_symbol(const basic_symbol &that)
Copy constructor.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
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).
symbol_kind_type kind_
The symbol kind.
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_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).