Kea 3.1.1
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-mix"
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-mix"
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_client_class_entry = 590, // client_class_entry
1351 S_591_109 = 591, // $@109
1352 S_client_class_params = 592, // client_class_params
1353 S_not_empty_client_class_params = 593, // not_empty_client_class_params
1354 S_client_class_param = 594, // client_class_param
1355 S_client_class_name = 595, // client_class_name
1356 S_client_class_test = 596, // client_class_test
1357 S_597_110 = 597, // $@110
1358 S_client_class_template_test = 598, // client_class_template_test
1359 S_599_111 = 599, // $@111
1360 S_only_if_required = 600, // only_if_required
1361 S_only_in_additional_list = 601, // only_in_additional_list
1362 S_dhcp4o6_port = 602, // dhcp4o6_port
1363 S_control_socket = 603, // control_socket
1364 S_604_112 = 604, // $@112
1365 S_control_sockets = 605, // control_sockets
1366 S_606_113 = 606, // $@113
1367 S_control_socket_list = 607, // control_socket_list
1368 S_not_empty_control_socket_list = 608, // not_empty_control_socket_list
1369 S_control_socket_entry = 609, // control_socket_entry
1370 S_610_114 = 610, // $@114
1371 S_control_socket_params = 611, // control_socket_params
1372 S_control_socket_param = 612, // control_socket_param
1373 S_control_socket_type = 613, // control_socket_type
1374 S_614_115 = 614, // $@115
1375 S_control_socket_type_value = 615, // control_socket_type_value
1376 S_control_socket_name = 616, // control_socket_name
1377 S_617_116 = 617, // $@116
1378 S_control_socket_address = 618, // control_socket_address
1379 S_619_117 = 619, // $@117
1380 S_control_socket_port = 620, // control_socket_port
1381 S_cert_required = 621, // cert_required
1382 S_http_headers = 622, // http_headers
1383 S_623_118 = 623, // $@118
1384 S_http_header_list = 624, // http_header_list
1385 S_not_empty_http_header_list = 625, // not_empty_http_header_list
1386 S_http_header = 626, // http_header
1387 S_627_119 = 627, // $@119
1388 S_http_header_params = 628, // http_header_params
1389 S_http_header_param = 629, // http_header_param
1390 S_header_value = 630, // header_value
1391 S_631_120 = 631, // $@120
1392 S_authentication = 632, // authentication
1393 S_633_121 = 633, // $@121
1394 S_auth_params = 634, // auth_params
1395 S_auth_param = 635, // auth_param
1396 S_auth_type = 636, // auth_type
1397 S_637_122 = 637, // $@122
1398 S_auth_type_value = 638, // auth_type_value
1399 S_realm = 639, // realm
1400 S_640_123 = 640, // $@123
1401 S_directory = 641, // directory
1402 S_642_124 = 642, // $@124
1403 S_clients = 643, // clients
1404 S_644_125 = 644, // $@125
1405 S_clients_list = 645, // clients_list
1406 S_not_empty_clients_list = 646, // not_empty_clients_list
1407 S_basic_auth = 647, // basic_auth
1408 S_648_126 = 648, // $@126
1409 S_clients_params = 649, // clients_params
1410 S_clients_param = 650, // clients_param
1411 S_user_file = 651, // user_file
1412 S_652_127 = 652, // $@127
1413 S_password_file = 653, // password_file
1414 S_654_128 = 654, // $@128
1415 S_dhcp_queue_control = 655, // dhcp_queue_control
1416 S_656_129 = 656, // $@129
1417 S_queue_control_params = 657, // queue_control_params
1418 S_queue_control_param = 658, // queue_control_param
1419 S_enable_queue = 659, // enable_queue
1420 S_queue_type = 660, // queue_type
1421 S_661_130 = 661, // $@130
1422 S_capacity = 662, // capacity
1423 S_arbitrary_map_entry = 663, // arbitrary_map_entry
1424 S_664_131 = 664, // $@131
1425 S_dhcp_ddns = 665, // dhcp_ddns
1426 S_666_132 = 666, // $@132
1427 S_sub_dhcp_ddns = 667, // sub_dhcp_ddns
1428 S_668_133 = 668, // $@133
1429 S_dhcp_ddns_params = 669, // dhcp_ddns_params
1430 S_dhcp_ddns_param = 670, // dhcp_ddns_param
1431 S_enable_updates = 671, // enable_updates
1432 S_server_ip = 672, // server_ip
1433 S_673_134 = 673, // $@134
1434 S_server_port = 674, // server_port
1435 S_sender_ip = 675, // sender_ip
1436 S_676_135 = 676, // $@135
1437 S_sender_port = 677, // sender_port
1438 S_max_queue_size = 678, // max_queue_size
1439 S_ncr_protocol = 679, // ncr_protocol
1440 S_680_136 = 680, // $@136
1441 S_ncr_protocol_value = 681, // ncr_protocol_value
1442 S_ncr_format = 682, // ncr_format
1443 S_683_137 = 683, // $@137
1444 S_config_control = 684, // config_control
1445 S_685_138 = 685, // $@138
1446 S_sub_config_control = 686, // sub_config_control
1447 S_687_139 = 687, // $@139
1448 S_config_control_params = 688, // config_control_params
1449 S_config_control_param = 689, // config_control_param
1450 S_config_databases = 690, // config_databases
1451 S_691_140 = 691, // $@140
1452 S_config_fetch_wait_time = 692, // config_fetch_wait_time
1453 S_loggers = 693, // loggers
1454 S_694_141 = 694, // $@141
1455 S_loggers_entries = 695, // loggers_entries
1456 S_logger_entry = 696, // logger_entry
1457 S_697_142 = 697, // $@142
1458 S_logger_params = 698, // logger_params
1459 S_logger_param = 699, // logger_param
1460 S_debuglevel = 700, // debuglevel
1461 S_severity = 701, // severity
1462 S_702_143 = 702, // $@143
1463 S_output_options_list = 703, // output_options_list
1464 S_704_144 = 704, // $@144
1465 S_output_options_list_content = 705, // output_options_list_content
1466 S_output_entry = 706, // output_entry
1467 S_707_145 = 707, // $@145
1468 S_output_params_list = 708, // output_params_list
1469 S_output_params = 709, // output_params
1470 S_output = 710, // output
1471 S_711_146 = 711, // $@146
1472 S_flush = 712, // flush
1473 S_maxsize = 713, // maxsize
1474 S_maxver = 714, // maxver
1475 S_pattern = 715, // pattern
1476 S_716_147 = 716, // $@147
1477 S_compatibility = 717, // compatibility
1478 S_718_148 = 718, // $@148
1479 S_compatibility_params = 719, // compatibility_params
1480 S_compatibility_param = 720, // compatibility_param
1481 S_lenient_option_parsing = 721, // lenient_option_parsing
1482 S_ignore_dhcp_server_identifier = 722, // ignore_dhcp_server_identifier
1483 S_ignore_rai_link_selection = 723, // ignore_rai_link_selection
1484 S_exclude_first_last_24 = 724 // exclude_first_last_24
1485 };
1486 };
1487
1490
1493
1500 template <typename Base>
1501 struct basic_symbol : Base
1502 {
1504 typedef Base super_type;
1505
1508 : value ()
1509 , location ()
1510 {}
1511
1512#if 201103L <= YY_CPLUSPLUS
1514 basic_symbol (basic_symbol&& that)
1515 : Base (std::move (that))
1516 , value ()
1517 , location (std::move (that.location))
1518 {
1519 switch (this->kind ())
1520 {
1521 case symbol_kind::S_value: // value
1522 case symbol_kind::S_map_value: // map_value
1523 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1524 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1525 case symbol_kind::S_socket_type: // socket_type
1526 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1527 case symbol_kind::S_on_fail_mode: // on_fail_mode
1528 case symbol_kind::S_ssl_mode: // ssl_mode
1529 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
1530 case symbol_kind::S_auth_type_value: // auth_type_value
1531 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1532 value.move< ElementPtr > (std::move (that.value));
1533 break;
1534
1535 case symbol_kind::S_BOOLEAN: // "boolean"
1536 value.move< bool > (std::move (that.value));
1537 break;
1538
1539 case symbol_kind::S_FLOAT: // "floating point"
1540 value.move< double > (std::move (that.value));
1541 break;
1542
1543 case symbol_kind::S_INTEGER: // "integer"
1544 value.move< int64_t > (std::move (that.value));
1545 break;
1546
1547 case symbol_kind::S_STRING: // "constant string"
1548 value.move< std::string > (std::move (that.value));
1549 break;
1550
1551 default:
1552 break;
1553 }
1554
1555 }
1556#endif
1557
1560
1562#if 201103L <= YY_CPLUSPLUS
1563 basic_symbol (typename Base::kind_type t, location_type&& l)
1564 : Base (t)
1565 , location (std::move (l))
1566 {}
1567#else
1568 basic_symbol (typename Base::kind_type t, const location_type& l)
1569 : Base (t)
1570 , location (l)
1571 {}
1572#endif
1573
1574#if 201103L <= YY_CPLUSPLUS
1575 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1576 : Base (t)
1577 , value (std::move (v))
1578 , location (std::move (l))
1579 {}
1580#else
1581 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1582 : Base (t)
1583 , value (v)
1584 , location (l)
1585 {}
1586#endif
1587
1588#if 201103L <= YY_CPLUSPLUS
1589 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1590 : Base (t)
1591 , value (std::move (v))
1592 , location (std::move (l))
1593 {}
1594#else
1595 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1596 : Base (t)
1597 , value (v)
1598 , location (l)
1599 {}
1600#endif
1601
1602#if 201103L <= YY_CPLUSPLUS
1603 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1604 : Base (t)
1605 , value (std::move (v))
1606 , location (std::move (l))
1607 {}
1608#else
1609 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1610 : Base (t)
1611 , value (v)
1612 , location (l)
1613 {}
1614#endif
1615
1616#if 201103L <= YY_CPLUSPLUS
1617 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1618 : Base (t)
1619 , value (std::move (v))
1620 , location (std::move (l))
1621 {}
1622#else
1623 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1624 : Base (t)
1625 , value (v)
1626 , location (l)
1627 {}
1628#endif
1629
1630#if 201103L <= YY_CPLUSPLUS
1631 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1632 : Base (t)
1633 , value (std::move (v))
1634 , location (std::move (l))
1635 {}
1636#else
1637 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1638 : Base (t)
1639 , value (v)
1640 , location (l)
1641 {}
1642#endif
1643
1646 {
1647 clear ();
1648 }
1649
1650
1651
1654 {
1655 // User destructor.
1656 symbol_kind_type yykind = this->kind ();
1657 basic_symbol<Base>& yysym = *this;
1658 (void) yysym;
1659 switch (yykind)
1660 {
1661 default:
1662 break;
1663 }
1664
1665 // Value type destructor.
1666switch (yykind)
1667 {
1668 case symbol_kind::S_value: // value
1669 case symbol_kind::S_map_value: // map_value
1670 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1671 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1672 case symbol_kind::S_socket_type: // socket_type
1673 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1674 case symbol_kind::S_on_fail_mode: // on_fail_mode
1675 case symbol_kind::S_ssl_mode: // ssl_mode
1676 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
1677 case symbol_kind::S_auth_type_value: // auth_type_value
1678 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1679 value.template destroy< ElementPtr > ();
1680 break;
1681
1682 case symbol_kind::S_BOOLEAN: // "boolean"
1683 value.template destroy< bool > ();
1684 break;
1685
1686 case symbol_kind::S_FLOAT: // "floating point"
1687 value.template destroy< double > ();
1688 break;
1689
1690 case symbol_kind::S_INTEGER: // "integer"
1691 value.template destroy< int64_t > ();
1692 break;
1693
1694 case symbol_kind::S_STRING: // "constant string"
1695 value.template destroy< std::string > ();
1696 break;
1697
1698 default:
1699 break;
1700 }
1701
1702 Base::clear ();
1703 }
1704
1706 std::string name () const YY_NOEXCEPT
1707 {
1708 return Dhcp4Parser::symbol_name (this->kind ());
1709 }
1710
1713
1715 bool empty () const YY_NOEXCEPT;
1716
1719
1722
1725
1726 private:
1727#if YY_CPLUSPLUS < 201103L
1729 basic_symbol& operator= (const basic_symbol& that);
1730#endif
1731 };
1732
1734 struct by_kind
1735 {
1738
1741
1742#if 201103L <= YY_CPLUSPLUS
1744 by_kind (by_kind&& that) YY_NOEXCEPT;
1745#endif
1746
1748 by_kind (const by_kind& that) YY_NOEXCEPT;
1749
1752
1753
1754
1756 void clear () YY_NOEXCEPT;
1757
1759 void move (by_kind& that);
1760
1764
1767
1771 };
1772
1775
1778 {
1781
1784
1786#if 201103L <= YY_CPLUSPLUS
1787 symbol_type (int tok, location_type l)
1788 : super_type (token_kind_type (tok), std::move (l))
1789#else
1790 symbol_type (int tok, const location_type& l)
1791 : super_type (token_kind_type (tok), l)
1792#endif
1793 {
1794#if !defined _MSC_VER || defined __clang__
1797#endif
1798 }
1799#if 201103L <= YY_CPLUSPLUS
1800 symbol_type (int tok, bool v, location_type l)
1801 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1802#else
1803 symbol_type (int tok, const bool& v, const location_type& l)
1804 : super_type (token_kind_type (tok), v, l)
1805#endif
1806 {
1807#if !defined _MSC_VER || defined __clang__
1809#endif
1810 }
1811#if 201103L <= YY_CPLUSPLUS
1812 symbol_type (int tok, double v, location_type l)
1813 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1814#else
1815 symbol_type (int tok, const double& v, const location_type& l)
1816 : super_type (token_kind_type (tok), v, l)
1817#endif
1818 {
1819#if !defined _MSC_VER || defined __clang__
1821#endif
1822 }
1823#if 201103L <= YY_CPLUSPLUS
1824 symbol_type (int tok, int64_t v, location_type l)
1825 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1826#else
1827 symbol_type (int tok, const int64_t& v, const location_type& l)
1828 : super_type (token_kind_type (tok), v, l)
1829#endif
1830 {
1831#if !defined _MSC_VER || defined __clang__
1833#endif
1834 }
1835#if 201103L <= YY_CPLUSPLUS
1836 symbol_type (int tok, std::string v, location_type l)
1837 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1838#else
1839 symbol_type (int tok, const std::string& v, const location_type& l)
1840 : super_type (token_kind_type (tok), v, l)
1841#endif
1842 {
1843#if !defined _MSC_VER || defined __clang__
1845#endif
1846 }
1847 };
1848
1851 virtual ~Dhcp4Parser ();
1852
1853#if 201103L <= YY_CPLUSPLUS
1855 Dhcp4Parser (const Dhcp4Parser&) = delete;
1857 Dhcp4Parser& operator= (const Dhcp4Parser&) = delete;
1858#endif
1859
1862 int operator() ();
1863
1866 virtual int parse ();
1867
1868#if PARSER4_DEBUG
1870 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1872 void set_debug_stream (std::ostream &);
1873
1875 typedef int debug_level_type;
1877 debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
1879 void set_debug_level (debug_level_type l);
1880#endif
1881
1885 virtual void error (const location_type& loc, const std::string& msg);
1886
1888 void error (const syntax_error& err);
1889
1892 static std::string symbol_name (symbol_kind_type yysymbol);
1893
1894 // Implementation of make_symbol for each token kind.
1895#if 201103L <= YY_CPLUSPLUS
1896 static
1897 symbol_type
1898 make_END (location_type l)
1899 {
1900 return symbol_type (token::TOKEN_END, std::move (l));
1901 }
1902#else
1903 static
1904 symbol_type
1906 {
1907 return symbol_type (token::TOKEN_END, l);
1908 }
1909#endif
1910#if 201103L <= YY_CPLUSPLUS
1911 static
1912 symbol_type
1913 make_PARSER4_error (location_type l)
1914 {
1915 return symbol_type (token::TOKEN_PARSER4_error, std::move (l));
1916 }
1917#else
1918 static
1919 symbol_type
1924#endif
1925#if 201103L <= YY_CPLUSPLUS
1926 static
1927 symbol_type
1928 make_PARSER4_UNDEF (location_type l)
1929 {
1930 return symbol_type (token::TOKEN_PARSER4_UNDEF, std::move (l));
1931 }
1932#else
1933 static
1934 symbol_type
1939#endif
1940#if 201103L <= YY_CPLUSPLUS
1941 static
1942 symbol_type
1943 make_COMMA (location_type l)
1944 {
1945 return symbol_type (token::TOKEN_COMMA, std::move (l));
1946 }
1947#else
1948 static
1949 symbol_type
1951 {
1952 return symbol_type (token::TOKEN_COMMA, l);
1953 }
1954#endif
1955#if 201103L <= YY_CPLUSPLUS
1956 static
1957 symbol_type
1958 make_COLON (location_type l)
1959 {
1960 return symbol_type (token::TOKEN_COLON, std::move (l));
1961 }
1962#else
1963 static
1964 symbol_type
1966 {
1967 return symbol_type (token::TOKEN_COLON, l);
1968 }
1969#endif
1970#if 201103L <= YY_CPLUSPLUS
1971 static
1972 symbol_type
1973 make_LSQUARE_BRACKET (location_type l)
1974 {
1975 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1976 }
1977#else
1978 static
1979 symbol_type
1984#endif
1985#if 201103L <= YY_CPLUSPLUS
1986 static
1987 symbol_type
1988 make_RSQUARE_BRACKET (location_type l)
1989 {
1990 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1991 }
1992#else
1993 static
1994 symbol_type
1999#endif
2000#if 201103L <= YY_CPLUSPLUS
2001 static
2002 symbol_type
2003 make_LCURLY_BRACKET (location_type l)
2004 {
2005 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
2006 }
2007#else
2008 static
2009 symbol_type
2014#endif
2015#if 201103L <= YY_CPLUSPLUS
2016 static
2017 symbol_type
2018 make_RCURLY_BRACKET (location_type l)
2019 {
2020 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
2021 }
2022#else
2023 static
2024 symbol_type
2029#endif
2030#if 201103L <= YY_CPLUSPLUS
2031 static
2032 symbol_type
2033 make_NULL_TYPE (location_type l)
2034 {
2035 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
2036 }
2037#else
2038 static
2039 symbol_type
2041 {
2043 }
2044#endif
2045#if 201103L <= YY_CPLUSPLUS
2046 static
2047 symbol_type
2048 make_DHCP4 (location_type l)
2049 {
2050 return symbol_type (token::TOKEN_DHCP4, std::move (l));
2051 }
2052#else
2053 static
2054 symbol_type
2056 {
2057 return symbol_type (token::TOKEN_DHCP4, l);
2058 }
2059#endif
2060#if 201103L <= YY_CPLUSPLUS
2061 static
2062 symbol_type
2063 make_CONFIG_CONTROL (location_type l)
2064 {
2065 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
2066 }
2067#else
2068 static
2069 symbol_type
2074#endif
2075#if 201103L <= YY_CPLUSPLUS
2076 static
2077 symbol_type
2078 make_CONFIG_DATABASES (location_type l)
2079 {
2080 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
2081 }
2082#else
2083 static
2084 symbol_type
2089#endif
2090#if 201103L <= YY_CPLUSPLUS
2091 static
2092 symbol_type
2093 make_CONFIG_FETCH_WAIT_TIME (location_type l)
2094 {
2095 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2096 }
2097#else
2098 static
2099 symbol_type
2104#endif
2105#if 201103L <= YY_CPLUSPLUS
2106 static
2107 symbol_type
2108 make_INTERFACES_CONFIG (location_type l)
2109 {
2110 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2111 }
2112#else
2113 static
2114 symbol_type
2119#endif
2120#if 201103L <= YY_CPLUSPLUS
2121 static
2122 symbol_type
2123 make_INTERFACES (location_type l)
2124 {
2125 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2126 }
2127#else
2128 static
2129 symbol_type
2131 {
2133 }
2134#endif
2135#if 201103L <= YY_CPLUSPLUS
2136 static
2137 symbol_type
2138 make_DHCP_SOCKET_TYPE (location_type l)
2139 {
2140 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, std::move (l));
2141 }
2142#else
2143 static
2144 symbol_type
2149#endif
2150#if 201103L <= YY_CPLUSPLUS
2151 static
2152 symbol_type
2153 make_RAW (location_type l)
2154 {
2155 return symbol_type (token::TOKEN_RAW, std::move (l));
2156 }
2157#else
2158 static
2159 symbol_type
2161 {
2162 return symbol_type (token::TOKEN_RAW, l);
2163 }
2164#endif
2165#if 201103L <= YY_CPLUSPLUS
2166 static
2167 symbol_type
2168 make_UDP (location_type l)
2169 {
2170 return symbol_type (token::TOKEN_UDP, std::move (l));
2171 }
2172#else
2173 static
2174 symbol_type
2176 {
2177 return symbol_type (token::TOKEN_UDP, l);
2178 }
2179#endif
2180#if 201103L <= YY_CPLUSPLUS
2181 static
2182 symbol_type
2183 make_OUTBOUND_INTERFACE (location_type l)
2184 {
2185 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, std::move (l));
2186 }
2187#else
2188 static
2189 symbol_type
2194#endif
2195#if 201103L <= YY_CPLUSPLUS
2196 static
2197 symbol_type
2198 make_SAME_AS_INBOUND (location_type l)
2199 {
2200 return symbol_type (token::TOKEN_SAME_AS_INBOUND, std::move (l));
2201 }
2202#else
2203 static
2204 symbol_type
2209#endif
2210#if 201103L <= YY_CPLUSPLUS
2211 static
2212 symbol_type
2213 make_USE_ROUTING (location_type l)
2214 {
2215 return symbol_type (token::TOKEN_USE_ROUTING, std::move (l));
2216 }
2217#else
2218 static
2219 symbol_type
2221 {
2223 }
2224#endif
2225#if 201103L <= YY_CPLUSPLUS
2226 static
2227 symbol_type
2228 make_RE_DETECT (location_type l)
2229 {
2230 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2231 }
2232#else
2233 static
2234 symbol_type
2236 {
2238 }
2239#endif
2240#if 201103L <= YY_CPLUSPLUS
2241 static
2242 symbol_type
2243 make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2244 {
2245 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2246 }
2247#else
2248 static
2249 symbol_type
2254#endif
2255#if 201103L <= YY_CPLUSPLUS
2256 static
2257 symbol_type
2258 make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2259 {
2260 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2261 }
2262#else
2263 static
2264 symbol_type
2269#endif
2270#if 201103L <= YY_CPLUSPLUS
2271 static
2272 symbol_type
2273 make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2274 {
2275 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2276 }
2277#else
2278 static
2279 symbol_type
2284#endif
2285#if 201103L <= YY_CPLUSPLUS
2286 static
2287 symbol_type
2288 make_SANITY_CHECKS (location_type l)
2289 {
2290 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
2291 }
2292#else
2293 static
2294 symbol_type
2299#endif
2300#if 201103L <= YY_CPLUSPLUS
2301 static
2302 symbol_type
2303 make_LEASE_CHECKS (location_type l)
2304 {
2305 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
2306 }
2307#else
2308 static
2309 symbol_type
2311 {
2313 }
2314#endif
2315#if 201103L <= YY_CPLUSPLUS
2316 static
2317 symbol_type
2318 make_EXTENDED_INFO_CHECKS (location_type l)
2319 {
2320 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, std::move (l));
2321 }
2322#else
2323 static
2324 symbol_type
2329#endif
2330#if 201103L <= YY_CPLUSPLUS
2331 static
2332 symbol_type
2333 make_ECHO_CLIENT_ID (location_type l)
2334 {
2335 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, std::move (l));
2336 }
2337#else
2338 static
2339 symbol_type
2344#endif
2345#if 201103L <= YY_CPLUSPLUS
2346 static
2347 symbol_type
2348 make_MATCH_CLIENT_ID (location_type l)
2349 {
2350 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, std::move (l));
2351 }
2352#else
2353 static
2354 symbol_type
2359#endif
2360#if 201103L <= YY_CPLUSPLUS
2361 static
2362 symbol_type
2363 make_AUTHORITATIVE (location_type l)
2364 {
2365 return symbol_type (token::TOKEN_AUTHORITATIVE, std::move (l));
2366 }
2367#else
2368 static
2369 symbol_type
2374#endif
2375#if 201103L <= YY_CPLUSPLUS
2376 static
2377 symbol_type
2378 make_NEXT_SERVER (location_type l)
2379 {
2380 return symbol_type (token::TOKEN_NEXT_SERVER, std::move (l));
2381 }
2382#else
2383 static
2384 symbol_type
2386 {
2388 }
2389#endif
2390#if 201103L <= YY_CPLUSPLUS
2391 static
2392 symbol_type
2393 make_SERVER_HOSTNAME (location_type l)
2394 {
2395 return symbol_type (token::TOKEN_SERVER_HOSTNAME, std::move (l));
2396 }
2397#else
2398 static
2399 symbol_type
2404#endif
2405#if 201103L <= YY_CPLUSPLUS
2406 static
2407 symbol_type
2408 make_BOOT_FILE_NAME (location_type l)
2409 {
2410 return symbol_type (token::TOKEN_BOOT_FILE_NAME, std::move (l));
2411 }
2412#else
2413 static
2414 symbol_type
2419#endif
2420#if 201103L <= YY_CPLUSPLUS
2421 static
2422 symbol_type
2423 make_OFFER_LFT (location_type l)
2424 {
2425 return symbol_type (token::TOKEN_OFFER_LFT, std::move (l));
2426 }
2427#else
2428 static
2429 symbol_type
2431 {
2433 }
2434#endif
2435#if 201103L <= YY_CPLUSPLUS
2436 static
2437 symbol_type
2438 make_STASH_AGENT_OPTIONS (location_type l)
2439 {
2440 return symbol_type (token::TOKEN_STASH_AGENT_OPTIONS, std::move (l));
2441 }
2442#else
2443 static
2444 symbol_type
2449#endif
2450#if 201103L <= YY_CPLUSPLUS
2451 static
2452 symbol_type
2453 make_LEASE_DATABASE (location_type l)
2454 {
2455 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2456 }
2457#else
2458 static
2459 symbol_type
2464#endif
2465#if 201103L <= YY_CPLUSPLUS
2466 static
2467 symbol_type
2468 make_HOSTS_DATABASE (location_type l)
2469 {
2470 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2471 }
2472#else
2473 static
2474 symbol_type
2479#endif
2480#if 201103L <= YY_CPLUSPLUS
2481 static
2482 symbol_type
2483 make_HOSTS_DATABASES (location_type l)
2484 {
2485 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2486 }
2487#else
2488 static
2489 symbol_type
2494#endif
2495#if 201103L <= YY_CPLUSPLUS
2496 static
2497 symbol_type
2498 make_TYPE (location_type l)
2499 {
2500 return symbol_type (token::TOKEN_TYPE, std::move (l));
2501 }
2502#else
2503 static
2504 symbol_type
2506 {
2507 return symbol_type (token::TOKEN_TYPE, l);
2508 }
2509#endif
2510#if 201103L <= YY_CPLUSPLUS
2511 static
2512 symbol_type
2513 make_USER (location_type l)
2514 {
2515 return symbol_type (token::TOKEN_USER, std::move (l));
2516 }
2517#else
2518 static
2519 symbol_type
2521 {
2522 return symbol_type (token::TOKEN_USER, l);
2523 }
2524#endif
2525#if 201103L <= YY_CPLUSPLUS
2526 static
2527 symbol_type
2528 make_PASSWORD (location_type l)
2529 {
2530 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2531 }
2532#else
2533 static
2534 symbol_type
2536 {
2538 }
2539#endif
2540#if 201103L <= YY_CPLUSPLUS
2541 static
2542 symbol_type
2543 make_HOST (location_type l)
2544 {
2545 return symbol_type (token::TOKEN_HOST, std::move (l));
2546 }
2547#else
2548 static
2549 symbol_type
2551 {
2552 return symbol_type (token::TOKEN_HOST, l);
2553 }
2554#endif
2555#if 201103L <= YY_CPLUSPLUS
2556 static
2557 symbol_type
2558 make_PORT (location_type l)
2559 {
2560 return symbol_type (token::TOKEN_PORT, std::move (l));
2561 }
2562#else
2563 static
2564 symbol_type
2566 {
2567 return symbol_type (token::TOKEN_PORT, l);
2568 }
2569#endif
2570#if 201103L <= YY_CPLUSPLUS
2571 static
2572 symbol_type
2573 make_PERSIST (location_type l)
2574 {
2575 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2576 }
2577#else
2578 static
2579 symbol_type
2581 {
2583 }
2584#endif
2585#if 201103L <= YY_CPLUSPLUS
2586 static
2587 symbol_type
2588 make_LFC_INTERVAL (location_type l)
2589 {
2590 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2591 }
2592#else
2593 static
2594 symbol_type
2596 {
2598 }
2599#endif
2600#if 201103L <= YY_CPLUSPLUS
2601 static
2602 symbol_type
2603 make_READONLY (location_type l)
2604 {
2605 return symbol_type (token::TOKEN_READONLY, std::move (l));
2606 }
2607#else
2608 static
2609 symbol_type
2611 {
2613 }
2614#endif
2615#if 201103L <= YY_CPLUSPLUS
2616 static
2617 symbol_type
2618 make_CONNECT_TIMEOUT (location_type l)
2619 {
2620 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2621 }
2622#else
2623 static
2624 symbol_type
2629#endif
2630#if 201103L <= YY_CPLUSPLUS
2631 static
2632 symbol_type
2633 make_READ_TIMEOUT (location_type l)
2634 {
2635 return symbol_type (token::TOKEN_READ_TIMEOUT, std::move (l));
2636 }
2637#else
2638 static
2639 symbol_type
2641 {
2643 }
2644#endif
2645#if 201103L <= YY_CPLUSPLUS
2646 static
2647 symbol_type
2648 make_WRITE_TIMEOUT (location_type l)
2649 {
2650 return symbol_type (token::TOKEN_WRITE_TIMEOUT, std::move (l));
2651 }
2652#else
2653 static
2654 symbol_type
2659#endif
2660#if 201103L <= YY_CPLUSPLUS
2661 static
2662 symbol_type
2663 make_TCP_USER_TIMEOUT (location_type l)
2664 {
2665 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, std::move (l));
2666 }
2667#else
2668 static
2669 symbol_type
2674#endif
2675#if 201103L <= YY_CPLUSPLUS
2676 static
2677 symbol_type
2678 make_MAX_RECONNECT_TRIES (location_type l)
2679 {
2680 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2681 }
2682#else
2683 static
2684 symbol_type
2689#endif
2690#if 201103L <= YY_CPLUSPLUS
2691 static
2692 symbol_type
2693 make_RECONNECT_WAIT_TIME (location_type l)
2694 {
2695 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2696 }
2697#else
2698 static
2699 symbol_type
2704#endif
2705#if 201103L <= YY_CPLUSPLUS
2706 static
2707 symbol_type
2708 make_ON_FAIL (location_type l)
2709 {
2710 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2711 }
2712#else
2713 static
2714 symbol_type
2716 {
2718 }
2719#endif
2720#if 201103L <= YY_CPLUSPLUS
2721 static
2722 symbol_type
2723 make_STOP_RETRY_EXIT (location_type l)
2724 {
2725 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2726 }
2727#else
2728 static
2729 symbol_type
2734#endif
2735#if 201103L <= YY_CPLUSPLUS
2736 static
2737 symbol_type
2738 make_SERVE_RETRY_EXIT (location_type l)
2739 {
2740 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2741 }
2742#else
2743 static
2744 symbol_type
2749#endif
2750#if 201103L <= YY_CPLUSPLUS
2751 static
2752 symbol_type
2753 make_SERVE_RETRY_CONTINUE (location_type l)
2754 {
2755 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2756 }
2757#else
2758 static
2759 symbol_type
2764#endif
2765#if 201103L <= YY_CPLUSPLUS
2766 static
2767 symbol_type
2768 make_RETRY_ON_STARTUP (location_type l)
2769 {
2770 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, std::move (l));
2771 }
2772#else
2773 static
2774 symbol_type
2779#endif
2780#if 201103L <= YY_CPLUSPLUS
2781 static
2782 symbol_type
2783 make_MAX_ROW_ERRORS (location_type l)
2784 {
2785 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2786 }
2787#else
2788 static
2789 symbol_type
2794#endif
2795#if 201103L <= YY_CPLUSPLUS
2796 static
2797 symbol_type
2798 make_TRUST_ANCHOR (location_type l)
2799 {
2800 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2801 }
2802#else
2803 static
2804 symbol_type
2806 {
2808 }
2809#endif
2810#if 201103L <= YY_CPLUSPLUS
2811 static
2812 symbol_type
2813 make_CERT_FILE (location_type l)
2814 {
2815 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2816 }
2817#else
2818 static
2819 symbol_type
2821 {
2823 }
2824#endif
2825#if 201103L <= YY_CPLUSPLUS
2826 static
2827 symbol_type
2828 make_KEY_FILE (location_type l)
2829 {
2830 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2831 }
2832#else
2833 static
2834 symbol_type
2836 {
2838 }
2839#endif
2840#if 201103L <= YY_CPLUSPLUS
2841 static
2842 symbol_type
2843 make_SSL_MODE (location_type l)
2844 {
2845 return symbol_type (token::TOKEN_SSL_MODE, std::move (l));
2846 }
2847#else
2848 static
2849 symbol_type
2851 {
2853 }
2854#endif
2855#if 201103L <= YY_CPLUSPLUS
2856 static
2857 symbol_type
2858 make_DISABLE (location_type l)
2859 {
2860 return symbol_type (token::TOKEN_DISABLE, std::move (l));
2861 }
2862#else
2863 static
2864 symbol_type
2866 {
2868 }
2869#endif
2870#if 201103L <= YY_CPLUSPLUS
2871 static
2872 symbol_type
2873 make_PREFER (location_type l)
2874 {
2875 return symbol_type (token::TOKEN_PREFER, std::move (l));
2876 }
2877#else
2878 static
2879 symbol_type
2881 {
2882 return symbol_type (token::TOKEN_PREFER, l);
2883 }
2884#endif
2885#if 201103L <= YY_CPLUSPLUS
2886 static
2887 symbol_type
2888 make_REQUIRE (location_type l)
2889 {
2890 return symbol_type (token::TOKEN_REQUIRE, std::move (l));
2891 }
2892#else
2893 static
2894 symbol_type
2896 {
2898 }
2899#endif
2900#if 201103L <= YY_CPLUSPLUS
2901 static
2902 symbol_type
2903 make_VERIFY_CA (location_type l)
2904 {
2905 return symbol_type (token::TOKEN_VERIFY_CA, std::move (l));
2906 }
2907#else
2908 static
2909 symbol_type
2911 {
2913 }
2914#endif
2915#if 201103L <= YY_CPLUSPLUS
2916 static
2917 symbol_type
2918 make_VERIFY_FULL (location_type l)
2919 {
2920 return symbol_type (token::TOKEN_VERIFY_FULL, std::move (l));
2921 }
2922#else
2923 static
2924 symbol_type
2926 {
2928 }
2929#endif
2930#if 201103L <= YY_CPLUSPLUS
2931 static
2932 symbol_type
2933 make_CIPHER_LIST (location_type l)
2934 {
2935 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2936 }
2937#else
2938 static
2939 symbol_type
2941 {
2943 }
2944#endif
2945#if 201103L <= YY_CPLUSPLUS
2946 static
2947 symbol_type
2948 make_VALID_LIFETIME (location_type l)
2949 {
2950 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2951 }
2952#else
2953 static
2954 symbol_type
2959#endif
2960#if 201103L <= YY_CPLUSPLUS
2961 static
2962 symbol_type
2963 make_MIN_VALID_LIFETIME (location_type l)
2964 {
2965 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2966 }
2967#else
2968 static
2969 symbol_type
2974#endif
2975#if 201103L <= YY_CPLUSPLUS
2976 static
2977 symbol_type
2978 make_MAX_VALID_LIFETIME (location_type l)
2979 {
2980 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2981 }
2982#else
2983 static
2984 symbol_type
2989#endif
2990#if 201103L <= YY_CPLUSPLUS
2991 static
2992 symbol_type
2993 make_RENEW_TIMER (location_type l)
2994 {
2995 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2996 }
2997#else
2998 static
2999 symbol_type
3001 {
3003 }
3004#endif
3005#if 201103L <= YY_CPLUSPLUS
3006 static
3007 symbol_type
3008 make_REBIND_TIMER (location_type l)
3009 {
3010 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
3011 }
3012#else
3013 static
3014 symbol_type
3016 {
3018 }
3019#endif
3020#if 201103L <= YY_CPLUSPLUS
3021 static
3022 symbol_type
3023 make_CALCULATE_TEE_TIMES (location_type l)
3024 {
3025 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
3026 }
3027#else
3028 static
3029 symbol_type
3034#endif
3035#if 201103L <= YY_CPLUSPLUS
3036 static
3037 symbol_type
3038 make_T1_PERCENT (location_type l)
3039 {
3040 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
3041 }
3042#else
3043 static
3044 symbol_type
3046 {
3048 }
3049#endif
3050#if 201103L <= YY_CPLUSPLUS
3051 static
3052 symbol_type
3053 make_T2_PERCENT (location_type l)
3054 {
3055 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
3056 }
3057#else
3058 static
3059 symbol_type
3061 {
3063 }
3064#endif
3065#if 201103L <= YY_CPLUSPLUS
3066 static
3067 symbol_type
3068 make_CACHE_THRESHOLD (location_type l)
3069 {
3070 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
3071 }
3072#else
3073 static
3074 symbol_type
3079#endif
3080#if 201103L <= YY_CPLUSPLUS
3081 static
3082 symbol_type
3083 make_CACHE_MAX_AGE (location_type l)
3084 {
3085 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
3086 }
3087#else
3088 static
3089 symbol_type
3094#endif
3095#if 201103L <= YY_CPLUSPLUS
3096 static
3097 symbol_type
3098 make_ADAPTIVE_LEASE_TIME_THRESHOLD (location_type l)
3099 {
3100 return symbol_type (token::TOKEN_ADAPTIVE_LEASE_TIME_THRESHOLD, std::move (l));
3101 }
3102#else
3103 static
3104 symbol_type
3109#endif
3110#if 201103L <= YY_CPLUSPLUS
3111 static
3112 symbol_type
3113 make_DECLINE_PROBATION_PERIOD (location_type l)
3114 {
3115 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
3116 }
3117#else
3118 static
3119 symbol_type
3124#endif
3125#if 201103L <= YY_CPLUSPLUS
3126 static
3127 symbol_type
3128 make_SERVER_TAG (location_type l)
3129 {
3130 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
3131 }
3132#else
3133 static
3134 symbol_type
3136 {
3138 }
3139#endif
3140#if 201103L <= YY_CPLUSPLUS
3141 static
3142 symbol_type
3143 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
3144 {
3145 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
3146 }
3147#else
3148 static
3149 symbol_type
3154#endif
3155#if 201103L <= YY_CPLUSPLUS
3156 static
3157 symbol_type
3158 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
3159 {
3160 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
3161 }
3162#else
3163 static
3164 symbol_type
3169#endif
3170#if 201103L <= YY_CPLUSPLUS
3171 static
3172 symbol_type
3173 make_DDNS_SEND_UPDATES (location_type l)
3174 {
3175 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
3176 }
3177#else
3178 static
3179 symbol_type
3184#endif
3185#if 201103L <= YY_CPLUSPLUS
3186 static
3187 symbol_type
3188 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
3189 {
3190 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
3191 }
3192#else
3193 static
3194 symbol_type
3199#endif
3200#if 201103L <= YY_CPLUSPLUS
3201 static
3202 symbol_type
3203 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
3204 {
3205 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
3206 }
3207#else
3208 static
3209 symbol_type
3214#endif
3215#if 201103L <= YY_CPLUSPLUS
3216 static
3217 symbol_type
3218 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
3219 {
3220 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
3221 }
3222#else
3223 static
3224 symbol_type
3229#endif
3230#if 201103L <= YY_CPLUSPLUS
3231 static
3232 symbol_type
3233 make_DDNS_GENERATED_PREFIX (location_type l)
3234 {
3235 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
3236 }
3237#else
3238 static
3239 symbol_type
3244#endif
3245#if 201103L <= YY_CPLUSPLUS
3246 static
3247 symbol_type
3248 make_DDNS_QUALIFYING_SUFFIX (location_type l)
3249 {
3250 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
3251 }
3252#else
3253 static
3254 symbol_type
3259#endif
3260#if 201103L <= YY_CPLUSPLUS
3261 static
3262 symbol_type
3263 make_DDNS_UPDATE_ON_RENEW (location_type l)
3264 {
3265 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
3266 }
3267#else
3268 static
3269 symbol_type
3274#endif
3275#if 201103L <= YY_CPLUSPLUS
3276 static
3277 symbol_type
3278 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
3279 {
3280 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
3281 }
3282#else
3283 static
3284 symbol_type
3289#endif
3290#if 201103L <= YY_CPLUSPLUS
3291 static
3292 symbol_type
3293 make_DDNS_TTL_PERCENT (location_type l)
3294 {
3295 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, std::move (l));
3296 }
3297#else
3298 static
3299 symbol_type
3304#endif
3305#if 201103L <= YY_CPLUSPLUS
3306 static
3307 symbol_type
3308 make_DDNS_TTL (location_type l)
3309 {
3310 return symbol_type (token::TOKEN_DDNS_TTL, std::move (l));
3311 }
3312#else
3313 static
3314 symbol_type
3316 {
3318 }
3319#endif
3320#if 201103L <= YY_CPLUSPLUS
3321 static
3322 symbol_type
3323 make_DDNS_TTL_MIN (location_type l)
3324 {
3325 return symbol_type (token::TOKEN_DDNS_TTL_MIN, std::move (l));
3326 }
3327#else
3328 static
3329 symbol_type
3331 {
3333 }
3334#endif
3335#if 201103L <= YY_CPLUSPLUS
3336 static
3337 symbol_type
3338 make_DDNS_TTL_MAX (location_type l)
3339 {
3340 return symbol_type (token::TOKEN_DDNS_TTL_MAX, std::move (l));
3341 }
3342#else
3343 static
3344 symbol_type
3346 {
3348 }
3349#endif
3350#if 201103L <= YY_CPLUSPLUS
3351 static
3352 symbol_type
3353 make_STORE_EXTENDED_INFO (location_type l)
3354 {
3355 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
3356 }
3357#else
3358 static
3359 symbol_type
3364#endif
3365#if 201103L <= YY_CPLUSPLUS
3366 static
3367 symbol_type
3368 make_SUBNET4 (location_type l)
3369 {
3370 return symbol_type (token::TOKEN_SUBNET4, std::move (l));
3371 }
3372#else
3373 static
3374 symbol_type
3376 {
3378 }
3379#endif
3380#if 201103L <= YY_CPLUSPLUS
3381 static
3382 symbol_type
3383 make_SUBNET_4O6_INTERFACE (location_type l)
3384 {
3385 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, std::move (l));
3386 }
3387#else
3388 static
3389 symbol_type
3394#endif
3395#if 201103L <= YY_CPLUSPLUS
3396 static
3397 symbol_type
3398 make_SUBNET_4O6_INTERFACE_ID (location_type l)
3399 {
3400 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, std::move (l));
3401 }
3402#else
3403 static
3404 symbol_type
3409#endif
3410#if 201103L <= YY_CPLUSPLUS
3411 static
3412 symbol_type
3413 make_SUBNET_4O6_SUBNET (location_type l)
3414 {
3415 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, std::move (l));
3416 }
3417#else
3418 static
3419 symbol_type
3424#endif
3425#if 201103L <= YY_CPLUSPLUS
3426 static
3427 symbol_type
3428 make_OPTION_DEF (location_type l)
3429 {
3430 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
3431 }
3432#else
3433 static
3434 symbol_type
3436 {
3438 }
3439#endif
3440#if 201103L <= YY_CPLUSPLUS
3441 static
3442 symbol_type
3443 make_OPTION_DATA (location_type l)
3444 {
3445 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
3446 }
3447#else
3448 static
3449 symbol_type
3451 {
3453 }
3454#endif
3455#if 201103L <= YY_CPLUSPLUS
3456 static
3457 symbol_type
3458 make_NAME (location_type l)
3459 {
3460 return symbol_type (token::TOKEN_NAME, std::move (l));
3461 }
3462#else
3463 static
3464 symbol_type
3466 {
3467 return symbol_type (token::TOKEN_NAME, l);
3468 }
3469#endif
3470#if 201103L <= YY_CPLUSPLUS
3471 static
3472 symbol_type
3473 make_DATA (location_type l)
3474 {
3475 return symbol_type (token::TOKEN_DATA, std::move (l));
3476 }
3477#else
3478 static
3479 symbol_type
3481 {
3482 return symbol_type (token::TOKEN_DATA, l);
3483 }
3484#endif
3485#if 201103L <= YY_CPLUSPLUS
3486 static
3487 symbol_type
3488 make_CODE (location_type l)
3489 {
3490 return symbol_type (token::TOKEN_CODE, std::move (l));
3491 }
3492#else
3493 static
3494 symbol_type
3496 {
3497 return symbol_type (token::TOKEN_CODE, l);
3498 }
3499#endif
3500#if 201103L <= YY_CPLUSPLUS
3501 static
3502 symbol_type
3503 make_SPACE (location_type l)
3504 {
3505 return symbol_type (token::TOKEN_SPACE, std::move (l));
3506 }
3507#else
3508 static
3509 symbol_type
3511 {
3512 return symbol_type (token::TOKEN_SPACE, l);
3513 }
3514#endif
3515#if 201103L <= YY_CPLUSPLUS
3516 static
3517 symbol_type
3518 make_CSV_FORMAT (location_type l)
3519 {
3520 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3521 }
3522#else
3523 static
3524 symbol_type
3526 {
3528 }
3529#endif
3530#if 201103L <= YY_CPLUSPLUS
3531 static
3532 symbol_type
3533 make_ALWAYS_SEND (location_type l)
3534 {
3535 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3536 }
3537#else
3538 static
3539 symbol_type
3541 {
3543 }
3544#endif
3545#if 201103L <= YY_CPLUSPLUS
3546 static
3547 symbol_type
3548 make_NEVER_SEND (location_type l)
3549 {
3550 return symbol_type (token::TOKEN_NEVER_SEND, std::move (l));
3551 }
3552#else
3553 static
3554 symbol_type
3556 {
3558 }
3559#endif
3560#if 201103L <= YY_CPLUSPLUS
3561 static
3562 symbol_type
3563 make_RECORD_TYPES (location_type l)
3564 {
3565 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3566 }
3567#else
3568 static
3569 symbol_type
3571 {
3573 }
3574#endif
3575#if 201103L <= YY_CPLUSPLUS
3576 static
3577 symbol_type
3578 make_ENCAPSULATE (location_type l)
3579 {
3580 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3581 }
3582#else
3583 static
3584 symbol_type
3586 {
3588 }
3589#endif
3590#if 201103L <= YY_CPLUSPLUS
3591 static
3592 symbol_type
3593 make_ARRAY (location_type l)
3594 {
3595 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3596 }
3597#else
3598 static
3599 symbol_type
3601 {
3602 return symbol_type (token::TOKEN_ARRAY, l);
3603 }
3604#endif
3605#if 201103L <= YY_CPLUSPLUS
3606 static
3607 symbol_type
3608 make_PARKED_PACKET_LIMIT (location_type l)
3609 {
3610 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3611 }
3612#else
3613 static
3614 symbol_type
3619#endif
3620#if 201103L <= YY_CPLUSPLUS
3621 static
3622 symbol_type
3623 make_ALLOCATOR (location_type l)
3624 {
3625 return symbol_type (token::TOKEN_ALLOCATOR, std::move (l));
3626 }
3627#else
3628 static
3629 symbol_type
3631 {
3633 }
3634#endif
3635#if 201103L <= YY_CPLUSPLUS
3636 static
3637 symbol_type
3638 make_DDNS_CONFLICT_RESOLUTION_MODE (location_type l)
3639 {
3640 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, std::move (l));
3641 }
3642#else
3643 static
3644 symbol_type
3649#endif
3650#if 201103L <= YY_CPLUSPLUS
3651 static
3652 symbol_type
3653 make_CHECK_WITH_DHCID (location_type l)
3654 {
3655 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, std::move (l));
3656 }
3657#else
3658 static
3659 symbol_type
3664#endif
3665#if 201103L <= YY_CPLUSPLUS
3666 static
3667 symbol_type
3668 make_NO_CHECK_WITH_DHCID (location_type l)
3669 {
3670 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, std::move (l));
3671 }
3672#else
3673 static
3674 symbol_type
3679#endif
3680#if 201103L <= YY_CPLUSPLUS
3681 static
3682 symbol_type
3683 make_CHECK_EXISTS_WITH_DHCID (location_type l)
3684 {
3685 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, std::move (l));
3686 }
3687#else
3688 static
3689 symbol_type
3694#endif
3695#if 201103L <= YY_CPLUSPLUS
3696 static
3697 symbol_type
3698 make_NO_CHECK_WITHOUT_DHCID (location_type l)
3699 {
3700 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, std::move (l));
3701 }
3702#else
3703 static
3704 symbol_type
3709#endif
3710#if 201103L <= YY_CPLUSPLUS
3711 static
3712 symbol_type
3713 make_SHARED_NETWORKS (location_type l)
3714 {
3715 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3716 }
3717#else
3718 static
3719 symbol_type
3724#endif
3725#if 201103L <= YY_CPLUSPLUS
3726 static
3727 symbol_type
3728 make_POOLS (location_type l)
3729 {
3730 return symbol_type (token::TOKEN_POOLS, std::move (l));
3731 }
3732#else
3733 static
3734 symbol_type
3736 {
3737 return symbol_type (token::TOKEN_POOLS, l);
3738 }
3739#endif
3740#if 201103L <= YY_CPLUSPLUS
3741 static
3742 symbol_type
3743 make_POOL (location_type l)
3744 {
3745 return symbol_type (token::TOKEN_POOL, std::move (l));
3746 }
3747#else
3748 static
3749 symbol_type
3751 {
3752 return symbol_type (token::TOKEN_POOL, l);
3753 }
3754#endif
3755#if 201103L <= YY_CPLUSPLUS
3756 static
3757 symbol_type
3758 make_USER_CONTEXT (location_type l)
3759 {
3760 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3761 }
3762#else
3763 static
3764 symbol_type
3766 {
3768 }
3769#endif
3770#if 201103L <= YY_CPLUSPLUS
3771 static
3772 symbol_type
3773 make_COMMENT (location_type l)
3774 {
3775 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3776 }
3777#else
3778 static
3779 symbol_type
3781 {
3783 }
3784#endif
3785#if 201103L <= YY_CPLUSPLUS
3786 static
3787 symbol_type
3788 make_SUBNET (location_type l)
3789 {
3790 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3791 }
3792#else
3793 static
3794 symbol_type
3796 {
3797 return symbol_type (token::TOKEN_SUBNET, l);
3798 }
3799#endif
3800#if 201103L <= YY_CPLUSPLUS
3801 static
3802 symbol_type
3803 make_INTERFACE (location_type l)
3804 {
3805 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3806 }
3807#else
3808 static
3809 symbol_type
3811 {
3813 }
3814#endif
3815#if 201103L <= YY_CPLUSPLUS
3816 static
3817 symbol_type
3818 make_ID (location_type l)
3819 {
3820 return symbol_type (token::TOKEN_ID, std::move (l));
3821 }
3822#else
3823 static
3824 symbol_type
3826 {
3827 return symbol_type (token::TOKEN_ID, l);
3828 }
3829#endif
3830#if 201103L <= YY_CPLUSPLUS
3831 static
3832 symbol_type
3833 make_RESERVATIONS_GLOBAL (location_type l)
3834 {
3835 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3836 }
3837#else
3838 static
3839 symbol_type
3844#endif
3845#if 201103L <= YY_CPLUSPLUS
3846 static
3847 symbol_type
3848 make_RESERVATIONS_IN_SUBNET (location_type l)
3849 {
3850 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3851 }
3852#else
3853 static
3854 symbol_type
3859#endif
3860#if 201103L <= YY_CPLUSPLUS
3861 static
3862 symbol_type
3863 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3864 {
3865 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3866 }
3867#else
3868 static
3869 symbol_type
3874#endif
3875#if 201103L <= YY_CPLUSPLUS
3876 static
3877 symbol_type
3878 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3879 {
3880 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3881 }
3882#else
3883 static
3884 symbol_type
3889#endif
3890#if 201103L <= YY_CPLUSPLUS
3891 static
3892 symbol_type
3893 make_CLIENT_CLASSES (location_type l)
3894 {
3895 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3896 }
3897#else
3898 static
3899 symbol_type
3904#endif
3905#if 201103L <= YY_CPLUSPLUS
3906 static
3907 symbol_type
3908 make_REQUIRE_CLIENT_CLASSES (location_type l)
3909 {
3910 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3911 }
3912#else
3913 static
3914 symbol_type
3919#endif
3920#if 201103L <= YY_CPLUSPLUS
3921 static
3922 symbol_type
3923 make_EVALUATE_ADDITIONAL_CLASSES (location_type l)
3924 {
3925 return symbol_type (token::TOKEN_EVALUATE_ADDITIONAL_CLASSES, std::move (l));
3926 }
3927#else
3928 static
3929 symbol_type
3934#endif
3935#if 201103L <= YY_CPLUSPLUS
3936 static
3937 symbol_type
3938 make_TEST (location_type l)
3939 {
3940 return symbol_type (token::TOKEN_TEST, std::move (l));
3941 }
3942#else
3943 static
3944 symbol_type
3946 {
3947 return symbol_type (token::TOKEN_TEST, l);
3948 }
3949#endif
3950#if 201103L <= YY_CPLUSPLUS
3951 static
3952 symbol_type
3953 make_TEMPLATE_TEST (location_type l)
3954 {
3955 return symbol_type (token::TOKEN_TEMPLATE_TEST, std::move (l));
3956 }
3957#else
3958 static
3959 symbol_type
3964#endif
3965#if 201103L <= YY_CPLUSPLUS
3966 static
3967 symbol_type
3968 make_ONLY_IF_REQUIRED (location_type l)
3969 {
3970 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3971 }
3972#else
3973 static
3974 symbol_type
3979#endif
3980#if 201103L <= YY_CPLUSPLUS
3981 static
3982 symbol_type
3983 make_ONLY_IN_ADDITIONAL_LIST (location_type l)
3984 {
3985 return symbol_type (token::TOKEN_ONLY_IN_ADDITIONAL_LIST, std::move (l));
3986 }
3987#else
3988 static
3989 symbol_type
3994#endif
3995#if 201103L <= YY_CPLUSPLUS
3996 static
3997 symbol_type
3998 make_CLIENT_CLASS (location_type l)
3999 {
4000 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
4001 }
4002#else
4003 static
4004 symbol_type
4006 {
4008 }
4009#endif
4010#if 201103L <= YY_CPLUSPLUS
4011 static
4012 symbol_type
4013 make_POOL_ID (location_type l)
4014 {
4015 return symbol_type (token::TOKEN_POOL_ID, std::move (l));
4016 }
4017#else
4018 static
4019 symbol_type
4021 {
4023 }
4024#endif
4025#if 201103L <= YY_CPLUSPLUS
4026 static
4027 symbol_type
4028 make_RESERVATIONS (location_type l)
4029 {
4030 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
4031 }
4032#else
4033 static
4034 symbol_type
4036 {
4038 }
4039#endif
4040#if 201103L <= YY_CPLUSPLUS
4041 static
4042 symbol_type
4043 make_IP_ADDRESS (location_type l)
4044 {
4045 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
4046 }
4047#else
4048 static
4049 symbol_type
4051 {
4053 }
4054#endif
4055#if 201103L <= YY_CPLUSPLUS
4056 static
4057 symbol_type
4058 make_DUID (location_type l)
4059 {
4060 return symbol_type (token::TOKEN_DUID, std::move (l));
4061 }
4062#else
4063 static
4064 symbol_type
4066 {
4067 return symbol_type (token::TOKEN_DUID, l);
4068 }
4069#endif
4070#if 201103L <= YY_CPLUSPLUS
4071 static
4072 symbol_type
4073 make_HW_ADDRESS (location_type l)
4074 {
4075 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
4076 }
4077#else
4078 static
4079 symbol_type
4081 {
4083 }
4084#endif
4085#if 201103L <= YY_CPLUSPLUS
4086 static
4087 symbol_type
4088 make_CIRCUIT_ID (location_type l)
4089 {
4090 return symbol_type (token::TOKEN_CIRCUIT_ID, std::move (l));
4091 }
4092#else
4093 static
4094 symbol_type
4096 {
4098 }
4099#endif
4100#if 201103L <= YY_CPLUSPLUS
4101 static
4102 symbol_type
4103 make_CLIENT_ID (location_type l)
4104 {
4105 return symbol_type (token::TOKEN_CLIENT_ID, std::move (l));
4106 }
4107#else
4108 static
4109 symbol_type
4111 {
4113 }
4114#endif
4115#if 201103L <= YY_CPLUSPLUS
4116 static
4117 symbol_type
4118 make_HOSTNAME (location_type l)
4119 {
4120 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
4121 }
4122#else
4123 static
4124 symbol_type
4126 {
4128 }
4129#endif
4130#if 201103L <= YY_CPLUSPLUS
4131 static
4132 symbol_type
4133 make_FLEX_ID (location_type l)
4134 {
4135 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
4136 }
4137#else
4138 static
4139 symbol_type
4141 {
4143 }
4144#endif
4145#if 201103L <= YY_CPLUSPLUS
4146 static
4147 symbol_type
4148 make_RELAY (location_type l)
4149 {
4150 return symbol_type (token::TOKEN_RELAY, std::move (l));
4151 }
4152#else
4153 static
4154 symbol_type
4156 {
4157 return symbol_type (token::TOKEN_RELAY, l);
4158 }
4159#endif
4160#if 201103L <= YY_CPLUSPLUS
4161 static
4162 symbol_type
4163 make_IP_ADDRESSES (location_type l)
4164 {
4165 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
4166 }
4167#else
4168 static
4169 symbol_type
4171 {
4173 }
4174#endif
4175#if 201103L <= YY_CPLUSPLUS
4176 static
4177 symbol_type
4178 make_HOOKS_LIBRARIES (location_type l)
4179 {
4180 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
4181 }
4182#else
4183 static
4184 symbol_type
4189#endif
4190#if 201103L <= YY_CPLUSPLUS
4191 static
4192 symbol_type
4193 make_LIBRARY (location_type l)
4194 {
4195 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
4196 }
4197#else
4198 static
4199 symbol_type
4201 {
4203 }
4204#endif
4205#if 201103L <= YY_CPLUSPLUS
4206 static
4207 symbol_type
4208 make_PARAMETERS (location_type l)
4209 {
4210 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
4211 }
4212#else
4213 static
4214 symbol_type
4216 {
4218 }
4219#endif
4220#if 201103L <= YY_CPLUSPLUS
4221 static
4222 symbol_type
4223 make_EXPIRED_LEASES_PROCESSING (location_type l)
4224 {
4225 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
4226 }
4227#else
4228 static
4229 symbol_type
4234#endif
4235#if 201103L <= YY_CPLUSPLUS
4236 static
4237 symbol_type
4238 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
4239 {
4240 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
4241 }
4242#else
4243 static
4244 symbol_type
4249#endif
4250#if 201103L <= YY_CPLUSPLUS
4251 static
4252 symbol_type
4253 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
4254 {
4255 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
4256 }
4257#else
4258 static
4259 symbol_type
4264#endif
4265#if 201103L <= YY_CPLUSPLUS
4266 static
4267 symbol_type
4268 make_HOLD_RECLAIMED_TIME (location_type l)
4269 {
4270 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
4271 }
4272#else
4273 static
4274 symbol_type
4279#endif
4280#if 201103L <= YY_CPLUSPLUS
4281 static
4282 symbol_type
4283 make_MAX_RECLAIM_LEASES (location_type l)
4284 {
4285 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
4286 }
4287#else
4288 static
4289 symbol_type
4294#endif
4295#if 201103L <= YY_CPLUSPLUS
4296 static
4297 symbol_type
4298 make_MAX_RECLAIM_TIME (location_type l)
4299 {
4300 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
4301 }
4302#else
4303 static
4304 symbol_type
4309#endif
4310#if 201103L <= YY_CPLUSPLUS
4311 static
4312 symbol_type
4313 make_UNWARNED_RECLAIM_CYCLES (location_type l)
4314 {
4315 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
4316 }
4317#else
4318 static
4319 symbol_type
4324#endif
4325#if 201103L <= YY_CPLUSPLUS
4326 static
4327 symbol_type
4328 make_DHCP4O6_PORT (location_type l)
4329 {
4330 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4331 }
4332#else
4333 static
4334 symbol_type
4336 {
4338 }
4339#endif
4340#if 201103L <= YY_CPLUSPLUS
4341 static
4342 symbol_type
4343 make_DHCP_MULTI_THREADING (location_type l)
4344 {
4345 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4346 }
4347#else
4348 static
4349 symbol_type
4354#endif
4355#if 201103L <= YY_CPLUSPLUS
4356 static
4357 symbol_type
4358 make_ENABLE_MULTI_THREADING (location_type l)
4359 {
4360 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4361 }
4362#else
4363 static
4364 symbol_type
4369#endif
4370#if 201103L <= YY_CPLUSPLUS
4371 static
4372 symbol_type
4373 make_THREAD_POOL_SIZE (location_type l)
4374 {
4375 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4376 }
4377#else
4378 static
4379 symbol_type
4384#endif
4385#if 201103L <= YY_CPLUSPLUS
4386 static
4387 symbol_type
4388 make_PACKET_QUEUE_SIZE (location_type l)
4389 {
4390 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4391 }
4392#else
4393 static
4394 symbol_type
4399#endif
4400#if 201103L <= YY_CPLUSPLUS
4401 static
4402 symbol_type
4403 make_CONTROL_SOCKET (location_type l)
4404 {
4405 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4406 }
4407#else
4408 static
4409 symbol_type
4414#endif
4415#if 201103L <= YY_CPLUSPLUS
4416 static
4417 symbol_type
4418 make_CONTROL_SOCKETS (location_type l)
4419 {
4420 return symbol_type (token::TOKEN_CONTROL_SOCKETS, std::move (l));
4421 }
4422#else
4423 static
4424 symbol_type
4429#endif
4430#if 201103L <= YY_CPLUSPLUS
4431 static
4432 symbol_type
4433 make_SOCKET_TYPE (location_type l)
4434 {
4435 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4436 }
4437#else
4438 static
4439 symbol_type
4441 {
4443 }
4444#endif
4445#if 201103L <= YY_CPLUSPLUS
4446 static
4447 symbol_type
4448 make_UNIX (location_type l)
4449 {
4450 return symbol_type (token::TOKEN_UNIX, std::move (l));
4451 }
4452#else
4453 static
4454 symbol_type
4456 {
4457 return symbol_type (token::TOKEN_UNIX, l);
4458 }
4459#endif
4460#if 201103L <= YY_CPLUSPLUS
4461 static
4462 symbol_type
4463 make_HTTP (location_type l)
4464 {
4465 return symbol_type (token::TOKEN_HTTP, std::move (l));
4466 }
4467#else
4468 static
4469 symbol_type
4471 {
4472 return symbol_type (token::TOKEN_HTTP, l);
4473 }
4474#endif
4475#if 201103L <= YY_CPLUSPLUS
4476 static
4477 symbol_type
4478 make_HTTPS (location_type l)
4479 {
4480 return symbol_type (token::TOKEN_HTTPS, std::move (l));
4481 }
4482#else
4483 static
4484 symbol_type
4486 {
4487 return symbol_type (token::TOKEN_HTTPS, l);
4488 }
4489#endif
4490#if 201103L <= YY_CPLUSPLUS
4491 static
4492 symbol_type
4493 make_SOCKET_NAME (location_type l)
4494 {
4495 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4496 }
4497#else
4498 static
4499 symbol_type
4501 {
4503 }
4504#endif
4505#if 201103L <= YY_CPLUSPLUS
4506 static
4507 symbol_type
4508 make_SOCKET_ADDRESS (location_type l)
4509 {
4510 return symbol_type (token::TOKEN_SOCKET_ADDRESS, std::move (l));
4511 }
4512#else
4513 static
4514 symbol_type
4519#endif
4520#if 201103L <= YY_CPLUSPLUS
4521 static
4522 symbol_type
4523 make_SOCKET_PORT (location_type l)
4524 {
4525 return symbol_type (token::TOKEN_SOCKET_PORT, std::move (l));
4526 }
4527#else
4528 static
4529 symbol_type
4531 {
4533 }
4534#endif
4535#if 201103L <= YY_CPLUSPLUS
4536 static
4537 symbol_type
4538 make_AUTHENTICATION (location_type l)
4539 {
4540 return symbol_type (token::TOKEN_AUTHENTICATION, std::move (l));
4541 }
4542#else
4543 static
4544 symbol_type
4549#endif
4550#if 201103L <= YY_CPLUSPLUS
4551 static
4552 symbol_type
4553 make_BASIC (location_type l)
4554 {
4555 return symbol_type (token::TOKEN_BASIC, std::move (l));
4556 }
4557#else
4558 static
4559 symbol_type
4561 {
4562 return symbol_type (token::TOKEN_BASIC, l);
4563 }
4564#endif
4565#if 201103L <= YY_CPLUSPLUS
4566 static
4567 symbol_type
4568 make_REALM (location_type l)
4569 {
4570 return symbol_type (token::TOKEN_REALM, std::move (l));
4571 }
4572#else
4573 static
4574 symbol_type
4576 {
4577 return symbol_type (token::TOKEN_REALM, l);
4578 }
4579#endif
4580#if 201103L <= YY_CPLUSPLUS
4581 static
4582 symbol_type
4583 make_DIRECTORY (location_type l)
4584 {
4585 return symbol_type (token::TOKEN_DIRECTORY, std::move (l));
4586 }
4587#else
4588 static
4589 symbol_type
4591 {
4593 }
4594#endif
4595#if 201103L <= YY_CPLUSPLUS
4596 static
4597 symbol_type
4598 make_CLIENTS (location_type l)
4599 {
4600 return symbol_type (token::TOKEN_CLIENTS, std::move (l));
4601 }
4602#else
4603 static
4604 symbol_type
4606 {
4608 }
4609#endif
4610#if 201103L <= YY_CPLUSPLUS
4611 static
4612 symbol_type
4613 make_USER_FILE (location_type l)
4614 {
4615 return symbol_type (token::TOKEN_USER_FILE, std::move (l));
4616 }
4617#else
4618 static
4619 symbol_type
4621 {
4623 }
4624#endif
4625#if 201103L <= YY_CPLUSPLUS
4626 static
4627 symbol_type
4628 make_PASSWORD_FILE (location_type l)
4629 {
4630 return symbol_type (token::TOKEN_PASSWORD_FILE, std::move (l));
4631 }
4632#else
4633 static
4634 symbol_type
4639#endif
4640#if 201103L <= YY_CPLUSPLUS
4641 static
4642 symbol_type
4643 make_CERT_REQUIRED (location_type l)
4644 {
4645 return symbol_type (token::TOKEN_CERT_REQUIRED, std::move (l));
4646 }
4647#else
4648 static
4649 symbol_type
4654#endif
4655#if 201103L <= YY_CPLUSPLUS
4656 static
4657 symbol_type
4658 make_HTTP_HEADERS (location_type l)
4659 {
4660 return symbol_type (token::TOKEN_HTTP_HEADERS, std::move (l));
4661 }
4662#else
4663 static
4664 symbol_type
4666 {
4668 }
4669#endif
4670#if 201103L <= YY_CPLUSPLUS
4671 static
4672 symbol_type
4673 make_VALUE (location_type l)
4674 {
4675 return symbol_type (token::TOKEN_VALUE, std::move (l));
4676 }
4677#else
4678 static
4679 symbol_type
4681 {
4682 return symbol_type (token::TOKEN_VALUE, l);
4683 }
4684#endif
4685#if 201103L <= YY_CPLUSPLUS
4686 static
4687 symbol_type
4688 make_DHCP_QUEUE_CONTROL (location_type l)
4689 {
4690 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4691 }
4692#else
4693 static
4694 symbol_type
4699#endif
4700#if 201103L <= YY_CPLUSPLUS
4701 static
4702 symbol_type
4703 make_ENABLE_QUEUE (location_type l)
4704 {
4705 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4706 }
4707#else
4708 static
4709 symbol_type
4711 {
4713 }
4714#endif
4715#if 201103L <= YY_CPLUSPLUS
4716 static
4717 symbol_type
4718 make_QUEUE_TYPE (location_type l)
4719 {
4720 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4721 }
4722#else
4723 static
4724 symbol_type
4726 {
4728 }
4729#endif
4730#if 201103L <= YY_CPLUSPLUS
4731 static
4732 symbol_type
4733 make_CAPACITY (location_type l)
4734 {
4735 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4736 }
4737#else
4738 static
4739 symbol_type
4741 {
4743 }
4744#endif
4745#if 201103L <= YY_CPLUSPLUS
4746 static
4747 symbol_type
4748 make_DHCP_DDNS (location_type l)
4749 {
4750 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4751 }
4752#else
4753 static
4754 symbol_type
4756 {
4758 }
4759#endif
4760#if 201103L <= YY_CPLUSPLUS
4761 static
4762 symbol_type
4763 make_ENABLE_UPDATES (location_type l)
4764 {
4765 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4766 }
4767#else
4768 static
4769 symbol_type
4774#endif
4775#if 201103L <= YY_CPLUSPLUS
4776 static
4777 symbol_type
4778 make_SERVER_IP (location_type l)
4779 {
4780 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4781 }
4782#else
4783 static
4784 symbol_type
4786 {
4788 }
4789#endif
4790#if 201103L <= YY_CPLUSPLUS
4791 static
4792 symbol_type
4793 make_SERVER_PORT (location_type l)
4794 {
4795 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4796 }
4797#else
4798 static
4799 symbol_type
4801 {
4803 }
4804#endif
4805#if 201103L <= YY_CPLUSPLUS
4806 static
4807 symbol_type
4808 make_SENDER_IP (location_type l)
4809 {
4810 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4811 }
4812#else
4813 static
4814 symbol_type
4816 {
4818 }
4819#endif
4820#if 201103L <= YY_CPLUSPLUS
4821 static
4822 symbol_type
4823 make_SENDER_PORT (location_type l)
4824 {
4825 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4826 }
4827#else
4828 static
4829 symbol_type
4831 {
4833 }
4834#endif
4835#if 201103L <= YY_CPLUSPLUS
4836 static
4837 symbol_type
4838 make_MAX_QUEUE_SIZE (location_type l)
4839 {
4840 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4841 }
4842#else
4843 static
4844 symbol_type
4849#endif
4850#if 201103L <= YY_CPLUSPLUS
4851 static
4852 symbol_type
4853 make_NCR_PROTOCOL (location_type l)
4854 {
4855 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4856 }
4857#else
4858 static
4859 symbol_type
4861 {
4863 }
4864#endif
4865#if 201103L <= YY_CPLUSPLUS
4866 static
4867 symbol_type
4868 make_NCR_FORMAT (location_type l)
4869 {
4870 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4871 }
4872#else
4873 static
4874 symbol_type
4876 {
4878 }
4879#endif
4880#if 201103L <= YY_CPLUSPLUS
4881 static
4882 symbol_type
4883 make_TCP (location_type l)
4884 {
4885 return symbol_type (token::TOKEN_TCP, std::move (l));
4886 }
4887#else
4888 static
4889 symbol_type
4891 {
4892 return symbol_type (token::TOKEN_TCP, l);
4893 }
4894#endif
4895#if 201103L <= YY_CPLUSPLUS
4896 static
4897 symbol_type
4898 make_JSON (location_type l)
4899 {
4900 return symbol_type (token::TOKEN_JSON, std::move (l));
4901 }
4902#else
4903 static
4904 symbol_type
4906 {
4907 return symbol_type (token::TOKEN_JSON, l);
4908 }
4909#endif
4910#if 201103L <= YY_CPLUSPLUS
4911 static
4912 symbol_type
4913 make_WHEN_PRESENT (location_type l)
4914 {
4915 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4916 }
4917#else
4918 static
4919 symbol_type
4921 {
4923 }
4924#endif
4925#if 201103L <= YY_CPLUSPLUS
4926 static
4927 symbol_type
4928 make_NEVER (location_type l)
4929 {
4930 return symbol_type (token::TOKEN_NEVER, std::move (l));
4931 }
4932#else
4933 static
4934 symbol_type
4936 {
4937 return symbol_type (token::TOKEN_NEVER, l);
4938 }
4939#endif
4940#if 201103L <= YY_CPLUSPLUS
4941 static
4942 symbol_type
4943 make_ALWAYS (location_type l)
4944 {
4945 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4946 }
4947#else
4948 static
4949 symbol_type
4951 {
4952 return symbol_type (token::TOKEN_ALWAYS, l);
4953 }
4954#endif
4955#if 201103L <= YY_CPLUSPLUS
4956 static
4957 symbol_type
4958 make_WHEN_NOT_PRESENT (location_type l)
4959 {
4960 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4961 }
4962#else
4963 static
4964 symbol_type
4969#endif
4970#if 201103L <= YY_CPLUSPLUS
4971 static
4972 symbol_type
4973 make_HOSTNAME_CHAR_SET (location_type l)
4974 {
4975 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4976 }
4977#else
4978 static
4979 symbol_type
4984#endif
4985#if 201103L <= YY_CPLUSPLUS
4986 static
4987 symbol_type
4988 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4989 {
4990 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4991 }
4992#else
4993 static
4994 symbol_type
4999#endif
5000#if 201103L <= YY_CPLUSPLUS
5001 static
5002 symbol_type
5003 make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
5004 {
5005 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
5006 }
5007#else
5008 static
5009 symbol_type
5014#endif
5015#if 201103L <= YY_CPLUSPLUS
5016 static
5017 symbol_type
5018 make_IP_RESERVATIONS_UNIQUE (location_type l)
5019 {
5020 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
5021 }
5022#else
5023 static
5024 symbol_type
5029#endif
5030#if 201103L <= YY_CPLUSPLUS
5031 static
5032 symbol_type
5033 make_RESERVATIONS_LOOKUP_FIRST (location_type l)
5034 {
5035 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
5036 }
5037#else
5038 static
5039 symbol_type
5044#endif
5045#if 201103L <= YY_CPLUSPLUS
5046 static
5047 symbol_type
5048 make_LOGGERS (location_type l)
5049 {
5050 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
5051 }
5052#else
5053 static
5054 symbol_type
5056 {
5058 }
5059#endif
5060#if 201103L <= YY_CPLUSPLUS
5061 static
5062 symbol_type
5063 make_OUTPUT_OPTIONS (location_type l)
5064 {
5065 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
5066 }
5067#else
5068 static
5069 symbol_type
5074#endif
5075#if 201103L <= YY_CPLUSPLUS
5076 static
5077 symbol_type
5078 make_OUTPUT (location_type l)
5079 {
5080 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
5081 }
5082#else
5083 static
5084 symbol_type
5086 {
5087 return symbol_type (token::TOKEN_OUTPUT, l);
5088 }
5089#endif
5090#if 201103L <= YY_CPLUSPLUS
5091 static
5092 symbol_type
5093 make_DEBUGLEVEL (location_type l)
5094 {
5095 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
5096 }
5097#else
5098 static
5099 symbol_type
5101 {
5103 }
5104#endif
5105#if 201103L <= YY_CPLUSPLUS
5106 static
5107 symbol_type
5108 make_SEVERITY (location_type l)
5109 {
5110 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
5111 }
5112#else
5113 static
5114 symbol_type
5116 {
5118 }
5119#endif
5120#if 201103L <= YY_CPLUSPLUS
5121 static
5122 symbol_type
5123 make_FLUSH (location_type l)
5124 {
5125 return symbol_type (token::TOKEN_FLUSH, std::move (l));
5126 }
5127#else
5128 static
5129 symbol_type
5131 {
5132 return symbol_type (token::TOKEN_FLUSH, l);
5133 }
5134#endif
5135#if 201103L <= YY_CPLUSPLUS
5136 static
5137 symbol_type
5138 make_MAXSIZE (location_type l)
5139 {
5140 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
5141 }
5142#else
5143 static
5144 symbol_type
5146 {
5148 }
5149#endif
5150#if 201103L <= YY_CPLUSPLUS
5151 static
5152 symbol_type
5153 make_MAXVER (location_type l)
5154 {
5155 return symbol_type (token::TOKEN_MAXVER, std::move (l));
5156 }
5157#else
5158 static
5159 symbol_type
5161 {
5162 return symbol_type (token::TOKEN_MAXVER, l);
5163 }
5164#endif
5165#if 201103L <= YY_CPLUSPLUS
5166 static
5167 symbol_type
5168 make_PATTERN (location_type l)
5169 {
5170 return symbol_type (token::TOKEN_PATTERN, std::move (l));
5171 }
5172#else
5173 static
5174 symbol_type
5176 {
5178 }
5179#endif
5180#if 201103L <= YY_CPLUSPLUS
5181 static
5182 symbol_type
5183 make_COMPATIBILITY (location_type l)
5184 {
5185 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
5186 }
5187#else
5188 static
5189 symbol_type
5194#endif
5195#if 201103L <= YY_CPLUSPLUS
5196 static
5197 symbol_type
5198 make_LENIENT_OPTION_PARSING (location_type l)
5199 {
5200 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
5201 }
5202#else
5203 static
5204 symbol_type
5209#endif
5210#if 201103L <= YY_CPLUSPLUS
5211 static
5212 symbol_type
5213 make_IGNORE_DHCP_SERVER_ID (location_type l)
5214 {
5215 return symbol_type (token::TOKEN_IGNORE_DHCP_SERVER_ID, std::move (l));
5216 }
5217#else
5218 static
5219 symbol_type
5224#endif
5225#if 201103L <= YY_CPLUSPLUS
5226 static
5227 symbol_type
5228 make_IGNORE_RAI_LINK_SEL (location_type l)
5229 {
5230 return symbol_type (token::TOKEN_IGNORE_RAI_LINK_SEL, std::move (l));
5231 }
5232#else
5233 static
5234 symbol_type
5239#endif
5240#if 201103L <= YY_CPLUSPLUS
5241 static
5242 symbol_type
5243 make_EXCLUDE_FIRST_LAST_24 (location_type l)
5244 {
5245 return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, std::move (l));
5246 }
5247#else
5248 static
5249 symbol_type
5254#endif
5255#if 201103L <= YY_CPLUSPLUS
5256 static
5257 symbol_type
5258 make_TOPLEVEL_JSON (location_type l)
5259 {
5260 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
5261 }
5262#else
5263 static
5264 symbol_type
5269#endif
5270#if 201103L <= YY_CPLUSPLUS
5271 static
5272 symbol_type
5273 make_TOPLEVEL_DHCP4 (location_type l)
5274 {
5275 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, std::move (l));
5276 }
5277#else
5278 static
5279 symbol_type
5284#endif
5285#if 201103L <= YY_CPLUSPLUS
5286 static
5287 symbol_type
5288 make_SUB_DHCP4 (location_type l)
5289 {
5290 return symbol_type (token::TOKEN_SUB_DHCP4, std::move (l));
5291 }
5292#else
5293 static
5294 symbol_type
5296 {
5298 }
5299#endif
5300#if 201103L <= YY_CPLUSPLUS
5301 static
5302 symbol_type
5303 make_SUB_INTERFACES4 (location_type l)
5304 {
5305 return symbol_type (token::TOKEN_SUB_INTERFACES4, std::move (l));
5306 }
5307#else
5308 static
5309 symbol_type
5314#endif
5315#if 201103L <= YY_CPLUSPLUS
5316 static
5317 symbol_type
5318 make_SUB_SUBNET4 (location_type l)
5319 {
5320 return symbol_type (token::TOKEN_SUB_SUBNET4, std::move (l));
5321 }
5322#else
5323 static
5324 symbol_type
5326 {
5328 }
5329#endif
5330#if 201103L <= YY_CPLUSPLUS
5331 static
5332 symbol_type
5333 make_SUB_POOL4 (location_type l)
5334 {
5335 return symbol_type (token::TOKEN_SUB_POOL4, std::move (l));
5336 }
5337#else
5338 static
5339 symbol_type
5341 {
5343 }
5344#endif
5345#if 201103L <= YY_CPLUSPLUS
5346 static
5347 symbol_type
5348 make_SUB_RESERVATION (location_type l)
5349 {
5350 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
5351 }
5352#else
5353 static
5354 symbol_type
5359#endif
5360#if 201103L <= YY_CPLUSPLUS
5361 static
5362 symbol_type
5363 make_SUB_OPTION_DEFS (location_type l)
5364 {
5365 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
5366 }
5367#else
5368 static
5369 symbol_type
5374#endif
5375#if 201103L <= YY_CPLUSPLUS
5376 static
5377 symbol_type
5378 make_SUB_OPTION_DEF (location_type l)
5379 {
5380 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
5381 }
5382#else
5383 static
5384 symbol_type
5389#endif
5390#if 201103L <= YY_CPLUSPLUS
5391 static
5392 symbol_type
5393 make_SUB_OPTION_DATA (location_type l)
5394 {
5395 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
5396 }
5397#else
5398 static
5399 symbol_type
5404#endif
5405#if 201103L <= YY_CPLUSPLUS
5406 static
5407 symbol_type
5408 make_SUB_HOOKS_LIBRARY (location_type l)
5409 {
5410 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
5411 }
5412#else
5413 static
5414 symbol_type
5419#endif
5420#if 201103L <= YY_CPLUSPLUS
5421 static
5422 symbol_type
5423 make_SUB_DHCP_DDNS (location_type l)
5424 {
5425 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
5426 }
5427#else
5428 static
5429 symbol_type
5434#endif
5435#if 201103L <= YY_CPLUSPLUS
5436 static
5437 symbol_type
5438 make_SUB_CONFIG_CONTROL (location_type l)
5439 {
5440 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
5441 }
5442#else
5443 static
5444 symbol_type
5449#endif
5450#if 201103L <= YY_CPLUSPLUS
5451 static
5452 symbol_type
5453 make_STRING (std::string v, location_type l)
5454 {
5455 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
5456 }
5457#else
5458 static
5459 symbol_type
5460 make_STRING (const std::string& v, const location_type& l)
5461 {
5462 return symbol_type (token::TOKEN_STRING, v, l);
5463 }
5464#endif
5465#if 201103L <= YY_CPLUSPLUS
5466 static
5467 symbol_type
5468 make_INTEGER (int64_t v, location_type l)
5469 {
5470 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
5471 }
5472#else
5473 static
5474 symbol_type
5475 make_INTEGER (const int64_t& v, const location_type& l)
5476 {
5477 return symbol_type (token::TOKEN_INTEGER, v, l);
5478 }
5479#endif
5480#if 201103L <= YY_CPLUSPLUS
5481 static
5482 symbol_type
5483 make_FLOAT (double v, location_type l)
5484 {
5485 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
5486 }
5487#else
5488 static
5489 symbol_type
5490 make_FLOAT (const double& v, const location_type& l)
5491 {
5492 return symbol_type (token::TOKEN_FLOAT, v, l);
5493 }
5494#endif
5495#if 201103L <= YY_CPLUSPLUS
5496 static
5497 symbol_type
5498 make_BOOLEAN (bool v, location_type l)
5499 {
5500 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
5501 }
5502#else
5503 static
5504 symbol_type
5505 make_BOOLEAN (const bool& v, const location_type& l)
5506 {
5507 return symbol_type (token::TOKEN_BOOLEAN, v, l);
5508 }
5509#endif
5510
5511
5513 {
5514 public:
5515 context (const Dhcp4Parser& yyparser, const symbol_type& yyla);
5516 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
5517 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
5518 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
5519
5523 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
5524
5525 private:
5526 const Dhcp4Parser& yyparser_;
5527 const symbol_type& yyla_;
5528 };
5529
5530 private:
5531#if YY_CPLUSPLUS < 201103L
5533 Dhcp4Parser (const Dhcp4Parser&);
5535 Dhcp4Parser& operator= (const Dhcp4Parser&);
5536#endif
5537
5538
5540 typedef short state_type;
5541
5543 int yy_syntax_error_arguments_ (const context& yyctx,
5544 symbol_kind_type yyarg[], int yyargn) const;
5545
5548 virtual std::string yysyntax_error_ (const context& yyctx) const;
5552 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
5553
5556 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
5557
5560 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
5561
5562 static const short yypact_ninf_;
5563 static const signed char yytable_ninf_;
5564
5568 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
5569
5571 static std::string yytnamerr_ (const char *yystr);
5572
5574 static const char* const yytname_[];
5575
5576
5577 // Tables.
5578 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5579 // STATE-NUM.
5580 static const short yypact_[];
5581
5582 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5583 // Performed when YYTABLE does not specify something else to do. Zero
5584 // means the default is an error.
5585 static const short yydefact_[];
5586
5587 // YYPGOTO[NTERM-NUM].
5588 static const short yypgoto_[];
5589
5590 // YYDEFGOTO[NTERM-NUM].
5591 static const short yydefgoto_[];
5592
5593 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5594 // positive, shift that token. If negative, reduce the rule whose
5595 // number is the opposite. If YYTABLE_NINF, syntax error.
5596 static const short yytable_[];
5597
5598 static const short yycheck_[];
5599
5600 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
5601 // state STATE-NUM.
5602 static const short yystos_[];
5603
5604 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
5605 static const short yyr1_[];
5606
5607 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
5608 static const signed char yyr2_[];
5609
5610
5611#if PARSER4_DEBUG
5612 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5613 static const short yyrline_[];
5615 virtual void yy_reduce_print_ (int r) const;
5617 virtual void yy_stack_print_ () const;
5618
5620 int yydebug_;
5622 std::ostream* yycdebug_;
5623
5627 template <typename Base>
5628 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5629#endif
5630
5635 template <typename Base>
5636 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5637
5638 private:
5640 struct by_state
5641 {
5643 by_state () YY_NOEXCEPT;
5644
5646 typedef state_type kind_type;
5647
5649 by_state (kind_type s) YY_NOEXCEPT;
5650
5652 by_state (const by_state& that) YY_NOEXCEPT;
5653
5655 void clear () YY_NOEXCEPT;
5656
5658 void move (by_state& that);
5659
5662 symbol_kind_type kind () const YY_NOEXCEPT;
5663
5666 enum { empty_state = 0 };
5667
5670 state_type state;
5671 };
5672
5674 struct stack_symbol_type : basic_symbol<by_state>
5675 {
5677 typedef basic_symbol<by_state> super_type;
5679 stack_symbol_type ();
5681 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5683 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5684#if YY_CPLUSPLUS < 201103L
5687 stack_symbol_type& operator= (stack_symbol_type& that);
5688
5691 stack_symbol_type& operator= (const stack_symbol_type& that);
5692#endif
5693 };
5694
5696 template <typename T, typename S = std::vector<T> >
5697 class stack
5698 {
5699 public:
5700 // Hide our reversed order.
5701 typedef typename S::iterator iterator;
5702 typedef typename S::const_iterator const_iterator;
5703 typedef typename S::size_type size_type;
5704 typedef typename std::ptrdiff_t index_type;
5705
5706 stack (size_type n = 200) YY_NOEXCEPT
5707 : seq_ (n)
5708 {}
5709
5710#if 201103L <= YY_CPLUSPLUS
5712 stack (const stack&) = delete;
5714 stack& operator= (const stack&) = delete;
5715#endif
5716
5720 const T&
5721 operator[] (index_type i) const
5722 {
5723 return seq_[size_type (size () - 1 - i)];
5724 }
5725
5729 T&
5730 operator[] (index_type i)
5731 {
5732 return seq_[size_type (size () - 1 - i)];
5733 }
5734
5738 void
5739 push (YY_MOVE_REF (T) t)
5740 {
5741 seq_.push_back (T ());
5742 operator[] (0).move (t);
5743 }
5744
5746 void
5747 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5748 {
5749 for (; 0 < n; --n)
5750 seq_.pop_back ();
5751 }
5752
5754 void
5755 clear () YY_NOEXCEPT
5756 {
5757 seq_.clear ();
5758 }
5759
5761 index_type
5762 size () const YY_NOEXCEPT
5763 {
5764 return index_type (seq_.size ());
5765 }
5766
5768 const_iterator
5769 begin () const YY_NOEXCEPT
5770 {
5771 return seq_.begin ();
5772 }
5773
5775 const_iterator
5776 end () const YY_NOEXCEPT
5777 {
5778 return seq_.end ();
5779 }
5780
5782 class slice
5783 {
5784 public:
5785 slice (const stack& stack, index_type range) YY_NOEXCEPT
5786 : stack_ (stack)
5787 , range_ (range)
5788 {}
5789
5790 const T&
5791 operator[] (index_type i) const
5792 {
5793 return stack_[range_ - i];
5794 }
5795
5796 private:
5797 const stack& stack_;
5798 index_type range_;
5799 };
5800
5801 private:
5802#if YY_CPLUSPLUS < 201103L
5804 stack (const stack&);
5806 stack& operator= (const stack&);
5807#endif
5809 S seq_;
5810 };
5811
5812
5814 typedef stack<stack_symbol_type> stack_type;
5815
5817 stack_type yystack_;
5818
5824 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5825
5832 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5833
5835 void yypop_ (int n = 1) YY_NOEXCEPT;
5836
5838 enum
5839 {
5840 yylast_ = 1713,
5841 yynnts_ = 484,
5842 yyfinal_ = 28
5843 };
5844
5845
5846 // User arguments.
5848
5849 };
5850
5851 inline
5853 Dhcp4Parser::yytranslate_ (int t) YY_NOEXCEPT
5854 {
5855 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
5856 // TOKEN-NUM as returned by yylex.
5857 static
5858 const unsigned char
5859 translate_table[] =
5860 {
5861 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5862 2, 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, 1, 2, 3, 4,
5887 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5888 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5889 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5890 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5891 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5892 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5893 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5894 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5895 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5896 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5897 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5898 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5899 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5900 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5901 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5902 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5903 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5904 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5905 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5906 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5907 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
5908 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
5909 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
5910 235, 236, 237, 238, 239, 240
5911 };
5912 // Last valid token kind.
5913 const int code_max = 495;
5914
5915 if (t <= 0)
5916 return symbol_kind::S_YYEOF;
5917 else if (t <= code_max)
5918 return static_cast <symbol_kind_type> (translate_table[t]);
5919 else
5921 }
5922
5923 // basic_symbol.
5924 template <typename Base>
5926 : Base (that)
5927 , value ()
5928 , location (that.location)
5929 {
5930 switch (this->kind ())
5931 {
5932 case symbol_kind::S_value: // value
5933 case symbol_kind::S_map_value: // map_value
5934 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5935 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
5936 case symbol_kind::S_socket_type: // socket_type
5937 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
5938 case symbol_kind::S_on_fail_mode: // on_fail_mode
5939 case symbol_kind::S_ssl_mode: // ssl_mode
5940 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
5941 case symbol_kind::S_auth_type_value: // auth_type_value
5942 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5943 value.copy< ElementPtr > (YY_MOVE (that.value));
5944 break;
5945
5946 case symbol_kind::S_BOOLEAN: // "boolean"
5947 value.copy< bool > (YY_MOVE (that.value));
5948 break;
5949
5950 case symbol_kind::S_FLOAT: // "floating point"
5951 value.copy< double > (YY_MOVE (that.value));
5952 break;
5953
5954 case symbol_kind::S_INTEGER: // "integer"
5955 value.copy< int64_t > (YY_MOVE (that.value));
5956 break;
5957
5958 case symbol_kind::S_STRING: // "constant string"
5959 value.copy< std::string > (YY_MOVE (that.value));
5960 break;
5961
5962 default:
5963 break;
5964 }
5965
5966 }
5967
5968
5969
5970
5971 template <typename Base>
5974 {
5975 return this->kind ();
5976 }
5977
5978
5979 template <typename Base>
5980 bool
5982 {
5983 return this->kind () == symbol_kind::S_YYEMPTY;
5984 }
5985
5986 template <typename Base>
5987 void
5989 {
5990 super_type::move (s);
5991 switch (this->kind ())
5992 {
5993 case symbol_kind::S_value: // value
5994 case symbol_kind::S_map_value: // map_value
5995 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5996 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
5997 case symbol_kind::S_socket_type: // socket_type
5998 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
5999 case symbol_kind::S_on_fail_mode: // on_fail_mode
6000 case symbol_kind::S_ssl_mode: // ssl_mode
6001 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
6002 case symbol_kind::S_auth_type_value: // auth_type_value
6003 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
6004 value.move< ElementPtr > (YY_MOVE (s.value));
6005 break;
6006
6007 case symbol_kind::S_BOOLEAN: // "boolean"
6008 value.move< bool > (YY_MOVE (s.value));
6009 break;
6010
6011 case symbol_kind::S_FLOAT: // "floating point"
6012 value.move< double > (YY_MOVE (s.value));
6013 break;
6014
6015 case symbol_kind::S_INTEGER: // "integer"
6016 value.move< int64_t > (YY_MOVE (s.value));
6017 break;
6018
6019 case symbol_kind::S_STRING: // "constant string"
6020 value.move< std::string > (YY_MOVE (s.value));
6021 break;
6022
6023 default:
6024 break;
6025 }
6026
6028 }
6029
6030 // by_kind.
6031 inline
6035
6036#if 201103L <= YY_CPLUSPLUS
6037 inline
6039 : kind_ (that.kind_)
6040 {
6041 that.clear ();
6042 }
6043#endif
6044
6045 inline
6047 : kind_ (that.kind_)
6048 {}
6049
6050 inline
6054
6055
6056
6057 inline
6058 void
6063
6064 inline
6065 void
6067 {
6068 kind_ = that.kind_;
6069 that.clear ();
6070 }
6071
6072 inline
6075 {
6076 return kind_;
6077 }
6078
6079
6080 inline
6083 {
6084 return this->kind ();
6085 }
6086
6087
6088#line 14 "dhcp4_parser.yy"
6089} } // isc::dhcp
6090#line 6091 "dhcp4_parser.h"
6091
6092
6093
6094
6095#endif // !YY_PARSER4_DHCP4_PARSER_H_INCLUDED
#define YY_RVREF(Type)
#define YY_MOVE_REF(Type)
#define YY_NOEXCEPT
#define YY_ATTRIBUTE_PURE
#define YY_MOVE
#define YY_NOTHROW
symbol_kind_type token() const YY_NOEXCEPT
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.
Forward declaration of the ParserContext class.
#define PARSER4__ASSERT
boost::shared_ptr< Element > ElementPtr
Definition data.h:28
@ error
Definition db_log.h:118
Defines the logger used by the top-level component of kea-lfc.
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).