Kea 3.1.0
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_DECLINE_PROBATION_PERIOD = 335, // "decline-probation-period"
582 TOKEN_SERVER_TAG = 336, // "server-tag"
583 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 337, // "statistic-default-sample-count"
584 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 338, // "statistic-default-sample-age"
585 TOKEN_DDNS_SEND_UPDATES = 339, // "ddns-send-updates"
586 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 340, // "ddns-override-no-update"
587 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 341, // "ddns-override-client-update"
588 TOKEN_DDNS_REPLACE_CLIENT_NAME = 342, // "ddns-replace-client-name"
589 TOKEN_DDNS_GENERATED_PREFIX = 343, // "ddns-generated-prefix"
590 TOKEN_DDNS_QUALIFYING_SUFFIX = 344, // "ddns-qualifying-suffix"
591 TOKEN_DDNS_UPDATE_ON_RENEW = 345, // "ddns-update-on-renew"
592 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 346, // "ddns-use-conflict-resolution"
593 TOKEN_DDNS_TTL_PERCENT = 347, // "ddns-ttl-percent"
594 TOKEN_DDNS_TTL = 348, // "ddns-ttl"
595 TOKEN_DDNS_TTL_MIN = 349, // "ddns-ttl-min"
596 TOKEN_DDNS_TTL_MAX = 350, // "ddns-ttl-mix"
597 TOKEN_STORE_EXTENDED_INFO = 351, // "store-extended-info"
598 TOKEN_SUBNET4 = 352, // "subnet4"
599 TOKEN_SUBNET_4O6_INTERFACE = 353, // "4o6-interface"
600 TOKEN_SUBNET_4O6_INTERFACE_ID = 354, // "4o6-interface-id"
601 TOKEN_SUBNET_4O6_SUBNET = 355, // "4o6-subnet"
602 TOKEN_OPTION_DEF = 356, // "option-def"
603 TOKEN_OPTION_DATA = 357, // "option-data"
604 TOKEN_NAME = 358, // "name"
605 TOKEN_DATA = 359, // "data"
606 TOKEN_CODE = 360, // "code"
607 TOKEN_SPACE = 361, // "space"
608 TOKEN_CSV_FORMAT = 362, // "csv-format"
609 TOKEN_ALWAYS_SEND = 363, // "always-send"
610 TOKEN_NEVER_SEND = 364, // "never-send"
611 TOKEN_RECORD_TYPES = 365, // "record-types"
612 TOKEN_ENCAPSULATE = 366, // "encapsulate"
613 TOKEN_ARRAY = 367, // "array"
614 TOKEN_PARKED_PACKET_LIMIT = 368, // "parked-packet-limit"
615 TOKEN_ALLOCATOR = 369, // "allocator"
616 TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 370, // "ddns-conflict-resolution-mode"
617 TOKEN_CHECK_WITH_DHCID = 371, // "check-with-dhcid"
618 TOKEN_NO_CHECK_WITH_DHCID = 372, // "no-check-with-dhcid"
619 TOKEN_CHECK_EXISTS_WITH_DHCID = 373, // "check-exists-with-dhcid"
620 TOKEN_NO_CHECK_WITHOUT_DHCID = 374, // "no-check-without-dhcid"
621 TOKEN_SHARED_NETWORKS = 375, // "shared-networks"
622 TOKEN_POOLS = 376, // "pools"
623 TOKEN_POOL = 377, // "pool"
624 TOKEN_USER_CONTEXT = 378, // "user-context"
625 TOKEN_COMMENT = 379, // "comment"
626 TOKEN_SUBNET = 380, // "subnet"
627 TOKEN_INTERFACE = 381, // "interface"
628 TOKEN_ID = 382, // "id"
629 TOKEN_RESERVATIONS_GLOBAL = 383, // "reservations-global"
630 TOKEN_RESERVATIONS_IN_SUBNET = 384, // "reservations-in-subnet"
631 TOKEN_RESERVATIONS_OUT_OF_POOL = 385, // "reservations-out-of-pool"
632 TOKEN_HOST_RESERVATION_IDENTIFIERS = 386, // "host-reservation-identifiers"
633 TOKEN_CLIENT_CLASSES = 387, // "client-classes"
634 TOKEN_REQUIRE_CLIENT_CLASSES = 388, // "require-client-classes"
635 TOKEN_EVALUATE_ADDITIONAL_CLASSES = 389, // "evaluate-additional-classes"
636 TOKEN_TEST = 390, // "test"
637 TOKEN_TEMPLATE_TEST = 391, // "template-test"
638 TOKEN_ONLY_IF_REQUIRED = 392, // "only-if-required"
639 TOKEN_ONLY_IN_ADDITIONAL_LIST = 393, // "only-in-additional-list"
640 TOKEN_CLIENT_CLASS = 394, // "client-class"
641 TOKEN_POOL_ID = 395, // "pool-id"
642 TOKEN_RESERVATIONS = 396, // "reservations"
643 TOKEN_IP_ADDRESS = 397, // "ip-address"
644 TOKEN_DUID = 398, // "duid"
645 TOKEN_HW_ADDRESS = 399, // "hw-address"
646 TOKEN_CIRCUIT_ID = 400, // "circuit-id"
647 TOKEN_CLIENT_ID = 401, // "client-id"
648 TOKEN_HOSTNAME = 402, // "hostname"
649 TOKEN_FLEX_ID = 403, // "flex-id"
650 TOKEN_RELAY = 404, // "relay"
651 TOKEN_IP_ADDRESSES = 405, // "ip-addresses"
652 TOKEN_HOOKS_LIBRARIES = 406, // "hooks-libraries"
653 TOKEN_LIBRARY = 407, // "library"
654 TOKEN_PARAMETERS = 408, // "parameters"
655 TOKEN_EXPIRED_LEASES_PROCESSING = 409, // "expired-leases-processing"
656 TOKEN_RECLAIM_TIMER_WAIT_TIME = 410, // "reclaim-timer-wait-time"
657 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 411, // "flush-reclaimed-timer-wait-time"
658 TOKEN_HOLD_RECLAIMED_TIME = 412, // "hold-reclaimed-time"
659 TOKEN_MAX_RECLAIM_LEASES = 413, // "max-reclaim-leases"
660 TOKEN_MAX_RECLAIM_TIME = 414, // "max-reclaim-time"
661 TOKEN_UNWARNED_RECLAIM_CYCLES = 415, // "unwarned-reclaim-cycles"
662 TOKEN_DHCP4O6_PORT = 416, // "dhcp4o6-port"
663 TOKEN_DHCP_MULTI_THREADING = 417, // "multi-threading"
664 TOKEN_ENABLE_MULTI_THREADING = 418, // "enable-multi-threading"
665 TOKEN_THREAD_POOL_SIZE = 419, // "thread-pool-size"
666 TOKEN_PACKET_QUEUE_SIZE = 420, // "packet-queue-size"
667 TOKEN_CONTROL_SOCKET = 421, // "control-socket"
668 TOKEN_CONTROL_SOCKETS = 422, // "control-sockets"
669 TOKEN_SOCKET_TYPE = 423, // "socket-type"
670 TOKEN_UNIX = 424, // "unix"
671 TOKEN_HTTP = 425, // "http"
672 TOKEN_HTTPS = 426, // "https"
673 TOKEN_SOCKET_NAME = 427, // "socket-name"
674 TOKEN_SOCKET_ADDRESS = 428, // "socket-address"
675 TOKEN_SOCKET_PORT = 429, // "socket-port"
676 TOKEN_AUTHENTICATION = 430, // "authentication"
677 TOKEN_BASIC = 431, // "basic"
678 TOKEN_REALM = 432, // "realm"
679 TOKEN_DIRECTORY = 433, // "directory"
680 TOKEN_CLIENTS = 434, // "clients"
681 TOKEN_USER_FILE = 435, // "user-file"
682 TOKEN_PASSWORD_FILE = 436, // "password-file"
683 TOKEN_CERT_REQUIRED = 437, // "cert-required"
684 TOKEN_HTTP_HEADERS = 438, // "http-headers"
685 TOKEN_VALUE = 439, // "value"
686 TOKEN_DHCP_QUEUE_CONTROL = 440, // "dhcp-queue-control"
687 TOKEN_ENABLE_QUEUE = 441, // "enable-queue"
688 TOKEN_QUEUE_TYPE = 442, // "queue-type"
689 TOKEN_CAPACITY = 443, // "capacity"
690 TOKEN_DHCP_DDNS = 444, // "dhcp-ddns"
691 TOKEN_ENABLE_UPDATES = 445, // "enable-updates"
692 TOKEN_SERVER_IP = 446, // "server-ip"
693 TOKEN_SERVER_PORT = 447, // "server-port"
694 TOKEN_SENDER_IP = 448, // "sender-ip"
695 TOKEN_SENDER_PORT = 449, // "sender-port"
696 TOKEN_MAX_QUEUE_SIZE = 450, // "max-queue-size"
697 TOKEN_NCR_PROTOCOL = 451, // "ncr-protocol"
698 TOKEN_NCR_FORMAT = 452, // "ncr-format"
699 TOKEN_TCP = 453, // "tcp"
700 TOKEN_JSON = 454, // "JSON"
701 TOKEN_WHEN_PRESENT = 455, // "when-present"
702 TOKEN_NEVER = 456, // "never"
703 TOKEN_ALWAYS = 457, // "always"
704 TOKEN_WHEN_NOT_PRESENT = 458, // "when-not-present"
705 TOKEN_HOSTNAME_CHAR_SET = 459, // "hostname-char-set"
706 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 460, // "hostname-char-replacement"
707 TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 461, // "early-global-reservations-lookup"
708 TOKEN_IP_RESERVATIONS_UNIQUE = 462, // "ip-reservations-unique"
709 TOKEN_RESERVATIONS_LOOKUP_FIRST = 463, // "reservations-lookup-first"
710 TOKEN_LOGGERS = 464, // "loggers"
711 TOKEN_OUTPUT_OPTIONS = 465, // "output-options"
712 TOKEN_OUTPUT = 466, // "output"
713 TOKEN_DEBUGLEVEL = 467, // "debuglevel"
714 TOKEN_SEVERITY = 468, // "severity"
715 TOKEN_FLUSH = 469, // "flush"
716 TOKEN_MAXSIZE = 470, // "maxsize"
717 TOKEN_MAXVER = 471, // "maxver"
718 TOKEN_PATTERN = 472, // "pattern"
719 TOKEN_COMPATIBILITY = 473, // "compatibility"
720 TOKEN_LENIENT_OPTION_PARSING = 474, // "lenient-option-parsing"
721 TOKEN_IGNORE_DHCP_SERVER_ID = 475, // "ignore-dhcp-server-identifier"
722 TOKEN_IGNORE_RAI_LINK_SEL = 476, // "ignore-rai-link-selection"
723 TOKEN_EXCLUDE_FIRST_LAST_24 = 477, // "exclude-first-last-24"
724 TOKEN_TOPLEVEL_JSON = 478, // TOPLEVEL_JSON
725 TOKEN_TOPLEVEL_DHCP4 = 479, // TOPLEVEL_DHCP4
726 TOKEN_SUB_DHCP4 = 480, // SUB_DHCP4
727 TOKEN_SUB_INTERFACES4 = 481, // SUB_INTERFACES4
728 TOKEN_SUB_SUBNET4 = 482, // SUB_SUBNET4
729 TOKEN_SUB_POOL4 = 483, // SUB_POOL4
730 TOKEN_SUB_RESERVATION = 484, // SUB_RESERVATION
731 TOKEN_SUB_OPTION_DEFS = 485, // SUB_OPTION_DEFS
732 TOKEN_SUB_OPTION_DEF = 486, // SUB_OPTION_DEF
733 TOKEN_SUB_OPTION_DATA = 487, // SUB_OPTION_DATA
734 TOKEN_SUB_HOOKS_LIBRARY = 488, // SUB_HOOKS_LIBRARY
735 TOKEN_SUB_DHCP_DDNS = 489, // SUB_DHCP_DDNS
736 TOKEN_SUB_CONFIG_CONTROL = 490, // SUB_CONFIG_CONTROL
737 TOKEN_STRING = 491, // "constant string"
738 TOKEN_INTEGER = 492, // "integer"
739 TOKEN_FLOAT = 493, // "floating point"
740 TOKEN_BOOLEAN = 494 // "boolean"
741 };
742
744 };
745
748
751
754 {
756 {
757 YYNTOKENS = 240,
759 S_YYEOF = 0, // "end of file"
760 S_YYerror = 1, // error
761 S_YYUNDEF = 2, // "invalid token"
762 S_COMMA = 3, // ","
763 S_COLON = 4, // ":"
768 S_NULL_TYPE = 9, // "null"
769 S_DHCP4 = 10, // "Dhcp4"
770 S_CONFIG_CONTROL = 11, // "config-control"
771 S_CONFIG_DATABASES = 12, // "config-databases"
772 S_CONFIG_FETCH_WAIT_TIME = 13, // "config-fetch-wait-time"
773 S_INTERFACES_CONFIG = 14, // "interfaces-config"
774 S_INTERFACES = 15, // "interfaces"
775 S_DHCP_SOCKET_TYPE = 16, // "dhcp-socket-type"
776 S_RAW = 17, // "raw"
777 S_UDP = 18, // "udp"
778 S_OUTBOUND_INTERFACE = 19, // "outbound-interface"
779 S_SAME_AS_INBOUND = 20, // "same-as-inbound"
780 S_USE_ROUTING = 21, // "use-routing"
781 S_RE_DETECT = 22, // "re-detect"
782 S_SERVICE_SOCKETS_REQUIRE_ALL = 23, // "service-sockets-require-all"
783 S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 24, // "service-sockets-retry-wait-time"
784 S_SERVICE_SOCKETS_MAX_RETRIES = 25, // "service-sockets-max-retries"
785 S_SANITY_CHECKS = 26, // "sanity-checks"
786 S_LEASE_CHECKS = 27, // "lease-checks"
787 S_EXTENDED_INFO_CHECKS = 28, // "extended-info-checks"
788 S_ECHO_CLIENT_ID = 29, // "echo-client-id"
789 S_MATCH_CLIENT_ID = 30, // "match-client-id"
790 S_AUTHORITATIVE = 31, // "authoritative"
791 S_NEXT_SERVER = 32, // "next-server"
792 S_SERVER_HOSTNAME = 33, // "server-hostname"
793 S_BOOT_FILE_NAME = 34, // "boot-file-name"
794 S_OFFER_LFT = 35, // "offer-lifetime"
795 S_STASH_AGENT_OPTIONS = 36, // "stash-agent-options"
796 S_LEASE_DATABASE = 37, // "lease-database"
797 S_HOSTS_DATABASE = 38, // "hosts-database"
798 S_HOSTS_DATABASES = 39, // "hosts-databases"
799 S_TYPE = 40, // "type"
800 S_USER = 41, // "user"
801 S_PASSWORD = 42, // "password"
802 S_HOST = 43, // "host"
803 S_PORT = 44, // "port"
804 S_PERSIST = 45, // "persist"
805 S_LFC_INTERVAL = 46, // "lfc-interval"
806 S_READONLY = 47, // "readonly"
807 S_CONNECT_TIMEOUT = 48, // "connect-timeout"
808 S_READ_TIMEOUT = 49, // "read-timeout"
809 S_WRITE_TIMEOUT = 50, // "write-timeout"
810 S_TCP_USER_TIMEOUT = 51, // "tcp-user-timeout"
811 S_MAX_RECONNECT_TRIES = 52, // "max-reconnect-tries"
812 S_RECONNECT_WAIT_TIME = 53, // "reconnect-wait-time"
813 S_ON_FAIL = 54, // "on-fail"
814 S_STOP_RETRY_EXIT = 55, // "stop-retry-exit"
815 S_SERVE_RETRY_EXIT = 56, // "serve-retry-exit"
816 S_SERVE_RETRY_CONTINUE = 57, // "serve-retry-continue"
817 S_RETRY_ON_STARTUP = 58, // "retry-on-startup"
818 S_MAX_ROW_ERRORS = 59, // "max-row-errors"
819 S_TRUST_ANCHOR = 60, // "trust-anchor"
820 S_CERT_FILE = 61, // "cert-file"
821 S_KEY_FILE = 62, // "key-file"
822 S_SSL_MODE = 63, // "ssl-mode"
823 S_DISABLE = 64, // "disable"
824 S_PREFER = 65, // "prefer"
825 S_REQUIRE = 66, // "require"
826 S_VERIFY_CA = 67, // "verify-ca"
827 S_VERIFY_FULL = 68, // "verify-full"
828 S_CIPHER_LIST = 69, // "cipher-list"
829 S_VALID_LIFETIME = 70, // "valid-lifetime"
830 S_MIN_VALID_LIFETIME = 71, // "min-valid-lifetime"
831 S_MAX_VALID_LIFETIME = 72, // "max-valid-lifetime"
832 S_RENEW_TIMER = 73, // "renew-timer"
833 S_REBIND_TIMER = 74, // "rebind-timer"
834 S_CALCULATE_TEE_TIMES = 75, // "calculate-tee-times"
835 S_T1_PERCENT = 76, // "t1-percent"
836 S_T2_PERCENT = 77, // "t2-percent"
837 S_CACHE_THRESHOLD = 78, // "cache-threshold"
838 S_CACHE_MAX_AGE = 79, // "cache-max-age"
839 S_DECLINE_PROBATION_PERIOD = 80, // "decline-probation-period"
840 S_SERVER_TAG = 81, // "server-tag"
841 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 82, // "statistic-default-sample-count"
842 S_STATISTIC_DEFAULT_SAMPLE_AGE = 83, // "statistic-default-sample-age"
843 S_DDNS_SEND_UPDATES = 84, // "ddns-send-updates"
844 S_DDNS_OVERRIDE_NO_UPDATE = 85, // "ddns-override-no-update"
845 S_DDNS_OVERRIDE_CLIENT_UPDATE = 86, // "ddns-override-client-update"
846 S_DDNS_REPLACE_CLIENT_NAME = 87, // "ddns-replace-client-name"
847 S_DDNS_GENERATED_PREFIX = 88, // "ddns-generated-prefix"
848 S_DDNS_QUALIFYING_SUFFIX = 89, // "ddns-qualifying-suffix"
849 S_DDNS_UPDATE_ON_RENEW = 90, // "ddns-update-on-renew"
850 S_DDNS_USE_CONFLICT_RESOLUTION = 91, // "ddns-use-conflict-resolution"
851 S_DDNS_TTL_PERCENT = 92, // "ddns-ttl-percent"
852 S_DDNS_TTL = 93, // "ddns-ttl"
853 S_DDNS_TTL_MIN = 94, // "ddns-ttl-min"
854 S_DDNS_TTL_MAX = 95, // "ddns-ttl-mix"
855 S_STORE_EXTENDED_INFO = 96, // "store-extended-info"
856 S_SUBNET4 = 97, // "subnet4"
857 S_SUBNET_4O6_INTERFACE = 98, // "4o6-interface"
858 S_SUBNET_4O6_INTERFACE_ID = 99, // "4o6-interface-id"
859 S_SUBNET_4O6_SUBNET = 100, // "4o6-subnet"
860 S_OPTION_DEF = 101, // "option-def"
861 S_OPTION_DATA = 102, // "option-data"
862 S_NAME = 103, // "name"
863 S_DATA = 104, // "data"
864 S_CODE = 105, // "code"
865 S_SPACE = 106, // "space"
866 S_CSV_FORMAT = 107, // "csv-format"
867 S_ALWAYS_SEND = 108, // "always-send"
868 S_NEVER_SEND = 109, // "never-send"
869 S_RECORD_TYPES = 110, // "record-types"
870 S_ENCAPSULATE = 111, // "encapsulate"
871 S_ARRAY = 112, // "array"
872 S_PARKED_PACKET_LIMIT = 113, // "parked-packet-limit"
873 S_ALLOCATOR = 114, // "allocator"
874 S_DDNS_CONFLICT_RESOLUTION_MODE = 115, // "ddns-conflict-resolution-mode"
875 S_CHECK_WITH_DHCID = 116, // "check-with-dhcid"
876 S_NO_CHECK_WITH_DHCID = 117, // "no-check-with-dhcid"
877 S_CHECK_EXISTS_WITH_DHCID = 118, // "check-exists-with-dhcid"
878 S_NO_CHECK_WITHOUT_DHCID = 119, // "no-check-without-dhcid"
879 S_SHARED_NETWORKS = 120, // "shared-networks"
880 S_POOLS = 121, // "pools"
881 S_POOL = 122, // "pool"
882 S_USER_CONTEXT = 123, // "user-context"
883 S_COMMENT = 124, // "comment"
884 S_SUBNET = 125, // "subnet"
885 S_INTERFACE = 126, // "interface"
886 S_ID = 127, // "id"
887 S_RESERVATIONS_GLOBAL = 128, // "reservations-global"
888 S_RESERVATIONS_IN_SUBNET = 129, // "reservations-in-subnet"
889 S_RESERVATIONS_OUT_OF_POOL = 130, // "reservations-out-of-pool"
890 S_HOST_RESERVATION_IDENTIFIERS = 131, // "host-reservation-identifiers"
891 S_CLIENT_CLASSES = 132, // "client-classes"
892 S_REQUIRE_CLIENT_CLASSES = 133, // "require-client-classes"
893 S_EVALUATE_ADDITIONAL_CLASSES = 134, // "evaluate-additional-classes"
894 S_TEST = 135, // "test"
895 S_TEMPLATE_TEST = 136, // "template-test"
896 S_ONLY_IF_REQUIRED = 137, // "only-if-required"
897 S_ONLY_IN_ADDITIONAL_LIST = 138, // "only-in-additional-list"
898 S_CLIENT_CLASS = 139, // "client-class"
899 S_POOL_ID = 140, // "pool-id"
900 S_RESERVATIONS = 141, // "reservations"
901 S_IP_ADDRESS = 142, // "ip-address"
902 S_DUID = 143, // "duid"
903 S_HW_ADDRESS = 144, // "hw-address"
904 S_CIRCUIT_ID = 145, // "circuit-id"
905 S_CLIENT_ID = 146, // "client-id"
906 S_HOSTNAME = 147, // "hostname"
907 S_FLEX_ID = 148, // "flex-id"
908 S_RELAY = 149, // "relay"
909 S_IP_ADDRESSES = 150, // "ip-addresses"
910 S_HOOKS_LIBRARIES = 151, // "hooks-libraries"
911 S_LIBRARY = 152, // "library"
912 S_PARAMETERS = 153, // "parameters"
913 S_EXPIRED_LEASES_PROCESSING = 154, // "expired-leases-processing"
914 S_RECLAIM_TIMER_WAIT_TIME = 155, // "reclaim-timer-wait-time"
915 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 156, // "flush-reclaimed-timer-wait-time"
916 S_HOLD_RECLAIMED_TIME = 157, // "hold-reclaimed-time"
917 S_MAX_RECLAIM_LEASES = 158, // "max-reclaim-leases"
918 S_MAX_RECLAIM_TIME = 159, // "max-reclaim-time"
919 S_UNWARNED_RECLAIM_CYCLES = 160, // "unwarned-reclaim-cycles"
920 S_DHCP4O6_PORT = 161, // "dhcp4o6-port"
921 S_DHCP_MULTI_THREADING = 162, // "multi-threading"
922 S_ENABLE_MULTI_THREADING = 163, // "enable-multi-threading"
923 S_THREAD_POOL_SIZE = 164, // "thread-pool-size"
924 S_PACKET_QUEUE_SIZE = 165, // "packet-queue-size"
925 S_CONTROL_SOCKET = 166, // "control-socket"
926 S_CONTROL_SOCKETS = 167, // "control-sockets"
927 S_SOCKET_TYPE = 168, // "socket-type"
928 S_UNIX = 169, // "unix"
929 S_HTTP = 170, // "http"
930 S_HTTPS = 171, // "https"
931 S_SOCKET_NAME = 172, // "socket-name"
932 S_SOCKET_ADDRESS = 173, // "socket-address"
933 S_SOCKET_PORT = 174, // "socket-port"
934 S_AUTHENTICATION = 175, // "authentication"
935 S_BASIC = 176, // "basic"
936 S_REALM = 177, // "realm"
937 S_DIRECTORY = 178, // "directory"
938 S_CLIENTS = 179, // "clients"
939 S_USER_FILE = 180, // "user-file"
940 S_PASSWORD_FILE = 181, // "password-file"
941 S_CERT_REQUIRED = 182, // "cert-required"
942 S_HTTP_HEADERS = 183, // "http-headers"
943 S_VALUE = 184, // "value"
944 S_DHCP_QUEUE_CONTROL = 185, // "dhcp-queue-control"
945 S_ENABLE_QUEUE = 186, // "enable-queue"
946 S_QUEUE_TYPE = 187, // "queue-type"
947 S_CAPACITY = 188, // "capacity"
948 S_DHCP_DDNS = 189, // "dhcp-ddns"
949 S_ENABLE_UPDATES = 190, // "enable-updates"
950 S_SERVER_IP = 191, // "server-ip"
951 S_SERVER_PORT = 192, // "server-port"
952 S_SENDER_IP = 193, // "sender-ip"
953 S_SENDER_PORT = 194, // "sender-port"
954 S_MAX_QUEUE_SIZE = 195, // "max-queue-size"
955 S_NCR_PROTOCOL = 196, // "ncr-protocol"
956 S_NCR_FORMAT = 197, // "ncr-format"
957 S_TCP = 198, // "tcp"
958 S_JSON = 199, // "JSON"
959 S_WHEN_PRESENT = 200, // "when-present"
960 S_NEVER = 201, // "never"
961 S_ALWAYS = 202, // "always"
962 S_WHEN_NOT_PRESENT = 203, // "when-not-present"
963 S_HOSTNAME_CHAR_SET = 204, // "hostname-char-set"
964 S_HOSTNAME_CHAR_REPLACEMENT = 205, // "hostname-char-replacement"
965 S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 206, // "early-global-reservations-lookup"
966 S_IP_RESERVATIONS_UNIQUE = 207, // "ip-reservations-unique"
967 S_RESERVATIONS_LOOKUP_FIRST = 208, // "reservations-lookup-first"
968 S_LOGGERS = 209, // "loggers"
969 S_OUTPUT_OPTIONS = 210, // "output-options"
970 S_OUTPUT = 211, // "output"
971 S_DEBUGLEVEL = 212, // "debuglevel"
972 S_SEVERITY = 213, // "severity"
973 S_FLUSH = 214, // "flush"
974 S_MAXSIZE = 215, // "maxsize"
975 S_MAXVER = 216, // "maxver"
976 S_PATTERN = 217, // "pattern"
977 S_COMPATIBILITY = 218, // "compatibility"
978 S_LENIENT_OPTION_PARSING = 219, // "lenient-option-parsing"
979 S_IGNORE_DHCP_SERVER_ID = 220, // "ignore-dhcp-server-identifier"
980 S_IGNORE_RAI_LINK_SEL = 221, // "ignore-rai-link-selection"
981 S_EXCLUDE_FIRST_LAST_24 = 222, // "exclude-first-last-24"
982 S_TOPLEVEL_JSON = 223, // TOPLEVEL_JSON
983 S_TOPLEVEL_DHCP4 = 224, // TOPLEVEL_DHCP4
984 S_SUB_DHCP4 = 225, // SUB_DHCP4
985 S_SUB_INTERFACES4 = 226, // SUB_INTERFACES4
986 S_SUB_SUBNET4 = 227, // SUB_SUBNET4
987 S_SUB_POOL4 = 228, // SUB_POOL4
988 S_SUB_RESERVATION = 229, // SUB_RESERVATION
989 S_SUB_OPTION_DEFS = 230, // SUB_OPTION_DEFS
990 S_SUB_OPTION_DEF = 231, // SUB_OPTION_DEF
991 S_SUB_OPTION_DATA = 232, // SUB_OPTION_DATA
992 S_SUB_HOOKS_LIBRARY = 233, // SUB_HOOKS_LIBRARY
993 S_SUB_DHCP_DDNS = 234, // SUB_DHCP_DDNS
994 S_SUB_CONFIG_CONTROL = 235, // SUB_CONFIG_CONTROL
995 S_STRING = 236, // "constant string"
996 S_INTEGER = 237, // "integer"
997 S_FLOAT = 238, // "floating point"
998 S_BOOLEAN = 239, // "boolean"
999 S_YYACCEPT = 240, // $accept
1000 S_start = 241, // start
1001 S_242_1 = 242, // $@1
1002 S_243_2 = 243, // $@2
1003 S_244_3 = 244, // $@3
1004 S_245_4 = 245, // $@4
1005 S_246_5 = 246, // $@5
1006 S_247_6 = 247, // $@6
1007 S_248_7 = 248, // $@7
1008 S_249_8 = 249, // $@8
1009 S_250_9 = 250, // $@9
1010 S_251_10 = 251, // $@10
1011 S_252_11 = 252, // $@11
1012 S_253_12 = 253, // $@12
1013 S_254_13 = 254, // $@13
1014 S_value = 255, // value
1015 S_sub_json = 256, // sub_json
1016 S_map2 = 257, // map2
1017 S_258_14 = 258, // $@14
1018 S_map_value = 259, // map_value
1019 S_map_content = 260, // map_content
1020 S_not_empty_map = 261, // not_empty_map
1021 S_list_generic = 262, // list_generic
1022 S_263_15 = 263, // $@15
1023 S_list_content = 264, // list_content
1024 S_not_empty_list = 265, // not_empty_list
1025 S_list_strings = 266, // list_strings
1026 S_267_16 = 267, // $@16
1027 S_list_strings_content = 268, // list_strings_content
1028 S_not_empty_list_strings = 269, // not_empty_list_strings
1029 S_unknown_map_entry = 270, // unknown_map_entry
1030 S_syntax_map = 271, // syntax_map
1031 S_272_17 = 272, // $@17
1032 S_global_object = 273, // global_object
1033 S_274_18 = 274, // $@18
1034 S_global_object_comma = 275, // global_object_comma
1035 S_sub_dhcp4 = 276, // sub_dhcp4
1036 S_277_19 = 277, // $@19
1037 S_global_params = 278, // global_params
1038 S_global_param = 279, // global_param
1039 S_valid_lifetime = 280, // valid_lifetime
1040 S_min_valid_lifetime = 281, // min_valid_lifetime
1041 S_max_valid_lifetime = 282, // max_valid_lifetime
1042 S_renew_timer = 283, // renew_timer
1043 S_rebind_timer = 284, // rebind_timer
1044 S_calculate_tee_times = 285, // calculate_tee_times
1045 S_t1_percent = 286, // t1_percent
1046 S_t2_percent = 287, // t2_percent
1047 S_cache_threshold = 288, // cache_threshold
1048 S_cache_max_age = 289, // cache_max_age
1049 S_decline_probation_period = 290, // decline_probation_period
1050 S_server_tag = 291, // server_tag
1051 S_292_20 = 292, // $@20
1052 S_parked_packet_limit = 293, // parked_packet_limit
1053 S_allocator = 294, // allocator
1054 S_295_21 = 295, // $@21
1055 S_echo_client_id = 296, // echo_client_id
1056 S_match_client_id = 297, // match_client_id
1057 S_authoritative = 298, // authoritative
1058 S_ddns_send_updates = 299, // ddns_send_updates
1059 S_ddns_override_no_update = 300, // ddns_override_no_update
1060 S_ddns_override_client_update = 301, // ddns_override_client_update
1061 S_ddns_replace_client_name = 302, // ddns_replace_client_name
1062 S_303_22 = 303, // $@22
1063 S_ddns_replace_client_name_value = 304, // ddns_replace_client_name_value
1064 S_ddns_generated_prefix = 305, // ddns_generated_prefix
1065 S_306_23 = 306, // $@23
1066 S_ddns_qualifying_suffix = 307, // ddns_qualifying_suffix
1067 S_308_24 = 308, // $@24
1068 S_ddns_update_on_renew = 309, // ddns_update_on_renew
1069 S_ddns_use_conflict_resolution = 310, // ddns_use_conflict_resolution
1070 S_ddns_conflict_resolution_mode = 311, // ddns_conflict_resolution_mode
1071 S_312_25 = 312, // $@25
1072 S_ddns_conflict_resolution_mode_value = 313, // ddns_conflict_resolution_mode_value
1073 S_ddns_ttl_percent = 314, // ddns_ttl_percent
1074 S_ddns_ttl = 315, // ddns_ttl
1075 S_ddns_ttl_min = 316, // ddns_ttl_min
1076 S_ddns_ttl_max = 317, // ddns_ttl_max
1077 S_hostname_char_set = 318, // hostname_char_set
1078 S_319_26 = 319, // $@26
1079 S_hostname_char_replacement = 320, // hostname_char_replacement
1080 S_321_27 = 321, // $@27
1081 S_store_extended_info = 322, // store_extended_info
1082 S_statistic_default_sample_count = 323, // statistic_default_sample_count
1083 S_statistic_default_sample_age = 324, // statistic_default_sample_age
1084 S_early_global_reservations_lookup = 325, // early_global_reservations_lookup
1085 S_ip_reservations_unique = 326, // ip_reservations_unique
1086 S_reservations_lookup_first = 327, // reservations_lookup_first
1087 S_offer_lifetime = 328, // offer_lifetime
1088 S_stash_agent_options = 329, // stash_agent_options
1089 S_interfaces_config = 330, // interfaces_config
1090 S_331_28 = 331, // $@28
1091 S_interfaces_config_params = 332, // interfaces_config_params
1092 S_interfaces_config_param = 333, // interfaces_config_param
1093 S_sub_interfaces4 = 334, // sub_interfaces4
1094 S_335_29 = 335, // $@29
1095 S_interfaces_list = 336, // interfaces_list
1096 S_337_30 = 337, // $@30
1097 S_dhcp_socket_type = 338, // dhcp_socket_type
1098 S_339_31 = 339, // $@31
1099 S_socket_type = 340, // socket_type
1100 S_outbound_interface = 341, // outbound_interface
1101 S_342_32 = 342, // $@32
1102 S_outbound_interface_value = 343, // outbound_interface_value
1103 S_re_detect = 344, // re_detect
1104 S_service_sockets_require_all = 345, // service_sockets_require_all
1105 S_service_sockets_retry_wait_time = 346, // service_sockets_retry_wait_time
1106 S_service_sockets_max_retries = 347, // service_sockets_max_retries
1107 S_lease_database = 348, // lease_database
1108 S_349_33 = 349, // $@33
1109 S_sanity_checks = 350, // sanity_checks
1110 S_351_34 = 351, // $@34
1111 S_sanity_checks_params = 352, // sanity_checks_params
1112 S_sanity_checks_param = 353, // sanity_checks_param
1113 S_lease_checks = 354, // lease_checks
1114 S_355_35 = 355, // $@35
1115 S_extended_info_checks = 356, // extended_info_checks
1116 S_357_36 = 357, // $@36
1117 S_hosts_database = 358, // hosts_database
1118 S_359_37 = 359, // $@37
1119 S_hosts_databases = 360, // hosts_databases
1120 S_361_38 = 361, // $@38
1121 S_database_list = 362, // database_list
1122 S_not_empty_database_list = 363, // not_empty_database_list
1123 S_database = 364, // database
1124 S_365_39 = 365, // $@39
1125 S_database_map_params = 366, // database_map_params
1126 S_database_map_param = 367, // database_map_param
1127 S_database_type = 368, // database_type
1128 S_369_40 = 369, // $@40
1129 S_user = 370, // user
1130 S_371_41 = 371, // $@41
1131 S_password = 372, // password
1132 S_373_42 = 373, // $@42
1133 S_host = 374, // host
1134 S_375_43 = 375, // $@43
1135 S_port = 376, // port
1136 S_name = 377, // name
1137 S_378_44 = 378, // $@44
1138 S_persist = 379, // persist
1139 S_lfc_interval = 380, // lfc_interval
1140 S_readonly = 381, // readonly
1141 S_connect_timeout = 382, // connect_timeout
1142 S_read_timeout = 383, // read_timeout
1143 S_write_timeout = 384, // write_timeout
1144 S_tcp_user_timeout = 385, // tcp_user_timeout
1145 S_max_reconnect_tries = 386, // max_reconnect_tries
1146 S_reconnect_wait_time = 387, // reconnect_wait_time
1147 S_on_fail = 388, // on_fail
1148 S_389_45 = 389, // $@45
1149 S_on_fail_mode = 390, // on_fail_mode
1150 S_retry_on_startup = 391, // retry_on_startup
1151 S_max_row_errors = 392, // max_row_errors
1152 S_trust_anchor = 393, // trust_anchor
1153 S_394_46 = 394, // $@46
1154 S_cert_file = 395, // cert_file
1155 S_396_47 = 396, // $@47
1156 S_key_file = 397, // key_file
1157 S_398_48 = 398, // $@48
1158 S_ssl_mode = 399, // ssl_mode
1159 S_400_49 = 400, // $@49
1160 S_cipher_list = 401, // cipher_list
1161 S_402_50 = 402, // $@50
1162 S_host_reservation_identifiers = 403, // host_reservation_identifiers
1163 S_404_51 = 404, // $@51
1164 S_host_reservation_identifiers_list = 405, // host_reservation_identifiers_list
1165 S_host_reservation_identifier = 406, // host_reservation_identifier
1166 S_duid_id = 407, // duid_id
1167 S_hw_address_id = 408, // hw_address_id
1168 S_circuit_id = 409, // circuit_id
1169 S_client_id = 410, // client_id
1170 S_flex_id = 411, // flex_id
1171 S_dhcp_multi_threading = 412, // dhcp_multi_threading
1172 S_413_52 = 413, // $@52
1173 S_multi_threading_params = 414, // multi_threading_params
1174 S_multi_threading_param = 415, // multi_threading_param
1175 S_enable_multi_threading = 416, // enable_multi_threading
1176 S_thread_pool_size = 417, // thread_pool_size
1177 S_packet_queue_size = 418, // packet_queue_size
1178 S_hooks_libraries = 419, // hooks_libraries
1179 S_420_53 = 420, // $@53
1180 S_hooks_libraries_list = 421, // hooks_libraries_list
1181 S_not_empty_hooks_libraries_list = 422, // not_empty_hooks_libraries_list
1182 S_hooks_library = 423, // hooks_library
1183 S_424_54 = 424, // $@54
1184 S_sub_hooks_library = 425, // sub_hooks_library
1185 S_426_55 = 426, // $@55
1186 S_hooks_params = 427, // hooks_params
1187 S_hooks_param = 428, // hooks_param
1188 S_library = 429, // library
1189 S_430_56 = 430, // $@56
1190 S_parameters = 431, // parameters
1191 S_432_57 = 432, // $@57
1192 S_expired_leases_processing = 433, // expired_leases_processing
1193 S_434_58 = 434, // $@58
1194 S_expired_leases_params = 435, // expired_leases_params
1195 S_expired_leases_param = 436, // expired_leases_param
1196 S_reclaim_timer_wait_time = 437, // reclaim_timer_wait_time
1197 S_flush_reclaimed_timer_wait_time = 438, // flush_reclaimed_timer_wait_time
1198 S_hold_reclaimed_time = 439, // hold_reclaimed_time
1199 S_max_reclaim_leases = 440, // max_reclaim_leases
1200 S_max_reclaim_time = 441, // max_reclaim_time
1201 S_unwarned_reclaim_cycles = 442, // unwarned_reclaim_cycles
1202 S_subnet4_list = 443, // subnet4_list
1203 S_444_59 = 444, // $@59
1204 S_subnet4_list_content = 445, // subnet4_list_content
1205 S_not_empty_subnet4_list = 446, // not_empty_subnet4_list
1206 S_subnet4 = 447, // subnet4
1207 S_448_60 = 448, // $@60
1208 S_sub_subnet4 = 449, // sub_subnet4
1209 S_450_61 = 450, // $@61
1210 S_subnet4_params = 451, // subnet4_params
1211 S_subnet4_param = 452, // subnet4_param
1212 S_subnet = 453, // subnet
1213 S_454_62 = 454, // $@62
1214 S_subnet_4o6_interface = 455, // subnet_4o6_interface
1215 S_456_63 = 456, // $@63
1216 S_subnet_4o6_interface_id = 457, // subnet_4o6_interface_id
1217 S_458_64 = 458, // $@64
1218 S_subnet_4o6_subnet = 459, // subnet_4o6_subnet
1219 S_460_65 = 460, // $@65
1220 S_interface = 461, // interface
1221 S_462_66 = 462, // $@66
1222 S_client_class = 463, // client_class
1223 S_464_67 = 464, // $@67
1224 S_network_client_classes = 465, // network_client_classes
1225 S_466_68 = 466, // $@68
1226 S_require_client_classes = 467, // require_client_classes
1227 S_468_69 = 468, // $@69
1228 S_evaluate_additional_classes = 469, // evaluate_additional_classes
1229 S_470_70 = 470, // $@70
1230 S_reservations_global = 471, // reservations_global
1231 S_reservations_in_subnet = 472, // reservations_in_subnet
1232 S_reservations_out_of_pool = 473, // reservations_out_of_pool
1233 S_id = 474, // id
1234 S_shared_networks = 475, // shared_networks
1235 S_476_71 = 476, // $@71
1236 S_shared_networks_content = 477, // shared_networks_content
1237 S_shared_networks_list = 478, // shared_networks_list
1238 S_shared_network = 479, // shared_network
1239 S_480_72 = 480, // $@72
1240 S_shared_network_params = 481, // shared_network_params
1241 S_shared_network_param = 482, // shared_network_param
1242 S_option_def_list = 483, // option_def_list
1243 S_484_73 = 484, // $@73
1244 S_sub_option_def_list = 485, // sub_option_def_list
1245 S_486_74 = 486, // $@74
1246 S_option_def_list_content = 487, // option_def_list_content
1247 S_not_empty_option_def_list = 488, // not_empty_option_def_list
1248 S_option_def_entry = 489, // option_def_entry
1249 S_490_75 = 490, // $@75
1250 S_sub_option_def = 491, // sub_option_def
1251 S_492_76 = 492, // $@76
1252 S_option_def_params = 493, // option_def_params
1253 S_not_empty_option_def_params = 494, // not_empty_option_def_params
1254 S_option_def_param = 495, // option_def_param
1255 S_option_def_name = 496, // option_def_name
1256 S_code = 497, // code
1257 S_option_def_code = 498, // option_def_code
1258 S_option_def_type = 499, // option_def_type
1259 S_500_77 = 500, // $@77
1260 S_option_def_record_types = 501, // option_def_record_types
1261 S_502_78 = 502, // $@78
1262 S_space = 503, // space
1263 S_504_79 = 504, // $@79
1264 S_option_def_space = 505, // option_def_space
1265 S_option_def_encapsulate = 506, // option_def_encapsulate
1266 S_507_80 = 507, // $@80
1267 S_option_def_array = 508, // option_def_array
1268 S_option_data_list = 509, // option_data_list
1269 S_510_81 = 510, // $@81
1270 S_option_data_list_content = 511, // option_data_list_content
1271 S_not_empty_option_data_list = 512, // not_empty_option_data_list
1272 S_option_data_entry = 513, // option_data_entry
1273 S_514_82 = 514, // $@82
1274 S_sub_option_data = 515, // sub_option_data
1275 S_516_83 = 516, // $@83
1276 S_option_data_params = 517, // option_data_params
1277 S_not_empty_option_data_params = 518, // not_empty_option_data_params
1278 S_option_data_param = 519, // option_data_param
1279 S_option_data_name = 520, // option_data_name
1280 S_option_data_data = 521, // option_data_data
1281 S_522_84 = 522, // $@84
1282 S_option_data_code = 523, // option_data_code
1283 S_option_data_space = 524, // option_data_space
1284 S_option_data_csv_format = 525, // option_data_csv_format
1285 S_option_data_always_send = 526, // option_data_always_send
1286 S_option_data_never_send = 527, // option_data_never_send
1287 S_option_data_client_classes = 528, // option_data_client_classes
1288 S_529_85 = 529, // $@85
1289 S_pools_list = 530, // pools_list
1290 S_531_86 = 531, // $@86
1291 S_pools_list_content = 532, // pools_list_content
1292 S_not_empty_pools_list = 533, // not_empty_pools_list
1293 S_pool_list_entry = 534, // pool_list_entry
1294 S_535_87 = 535, // $@87
1295 S_sub_pool4 = 536, // sub_pool4
1296 S_537_88 = 537, // $@88
1297 S_pool_params = 538, // pool_params
1298 S_pool_param = 539, // pool_param
1299 S_pool_entry = 540, // pool_entry
1300 S_541_89 = 541, // $@89
1301 S_pool_id = 542, // pool_id
1302 S_user_context = 543, // user_context
1303 S_544_90 = 544, // $@90
1304 S_comment = 545, // comment
1305 S_546_91 = 546, // $@91
1306 S_reservations = 547, // reservations
1307 S_548_92 = 548, // $@92
1308 S_reservations_list = 549, // reservations_list
1309 S_not_empty_reservations_list = 550, // not_empty_reservations_list
1310 S_reservation = 551, // reservation
1311 S_552_93 = 552, // $@93
1312 S_sub_reservation = 553, // sub_reservation
1313 S_554_94 = 554, // $@94
1314 S_reservation_params = 555, // reservation_params
1315 S_not_empty_reservation_params = 556, // not_empty_reservation_params
1316 S_reservation_param = 557, // reservation_param
1317 S_next_server = 558, // next_server
1318 S_559_95 = 559, // $@95
1319 S_server_hostname = 560, // server_hostname
1320 S_561_96 = 561, // $@96
1321 S_boot_file_name = 562, // boot_file_name
1322 S_563_97 = 563, // $@97
1323 S_ip_address = 564, // ip_address
1324 S_565_98 = 565, // $@98
1325 S_duid = 566, // duid
1326 S_567_99 = 567, // $@99
1327 S_hw_address = 568, // hw_address
1328 S_569_100 = 569, // $@100
1329 S_client_id_value = 570, // client_id_value
1330 S_571_101 = 571, // $@101
1331 S_circuit_id_value = 572, // circuit_id_value
1332 S_573_102 = 573, // $@102
1333 S_flex_id_value = 574, // flex_id_value
1334 S_575_103 = 575, // $@103
1335 S_hostname = 576, // hostname
1336 S_577_104 = 577, // $@104
1337 S_reservation_client_classes = 578, // reservation_client_classes
1338 S_579_105 = 579, // $@105
1339 S_relay = 580, // relay
1340 S_581_106 = 581, // $@106
1341 S_relay_map = 582, // relay_map
1342 S_ip_addresses = 583, // ip_addresses
1343 S_584_107 = 584, // $@107
1344 S_client_classes = 585, // client_classes
1345 S_586_108 = 586, // $@108
1346 S_client_classes_list = 587, // client_classes_list
1347 S_client_class_entry = 588, // client_class_entry
1348 S_589_109 = 589, // $@109
1349 S_client_class_params = 590, // client_class_params
1350 S_not_empty_client_class_params = 591, // not_empty_client_class_params
1351 S_client_class_param = 592, // client_class_param
1352 S_client_class_name = 593, // client_class_name
1353 S_client_class_test = 594, // client_class_test
1354 S_595_110 = 595, // $@110
1355 S_client_class_template_test = 596, // client_class_template_test
1356 S_597_111 = 597, // $@111
1357 S_only_if_required = 598, // only_if_required
1358 S_only_in_additional_list = 599, // only_in_additional_list
1359 S_dhcp4o6_port = 600, // dhcp4o6_port
1360 S_control_socket = 601, // control_socket
1361 S_602_112 = 602, // $@112
1362 S_control_sockets = 603, // control_sockets
1363 S_604_113 = 604, // $@113
1364 S_control_socket_list = 605, // control_socket_list
1365 S_not_empty_control_socket_list = 606, // not_empty_control_socket_list
1366 S_control_socket_entry = 607, // control_socket_entry
1367 S_608_114 = 608, // $@114
1368 S_control_socket_params = 609, // control_socket_params
1369 S_control_socket_param = 610, // control_socket_param
1370 S_control_socket_type = 611, // control_socket_type
1371 S_612_115 = 612, // $@115
1372 S_control_socket_type_value = 613, // control_socket_type_value
1373 S_control_socket_name = 614, // control_socket_name
1374 S_615_116 = 615, // $@116
1375 S_control_socket_address = 616, // control_socket_address
1376 S_617_117 = 617, // $@117
1377 S_control_socket_port = 618, // control_socket_port
1378 S_cert_required = 619, // cert_required
1379 S_http_headers = 620, // http_headers
1380 S_621_118 = 621, // $@118
1381 S_http_header_list = 622, // http_header_list
1382 S_not_empty_http_header_list = 623, // not_empty_http_header_list
1383 S_http_header = 624, // http_header
1384 S_625_119 = 625, // $@119
1385 S_http_header_params = 626, // http_header_params
1386 S_http_header_param = 627, // http_header_param
1387 S_header_value = 628, // header_value
1388 S_629_120 = 629, // $@120
1389 S_authentication = 630, // authentication
1390 S_631_121 = 631, // $@121
1391 S_auth_params = 632, // auth_params
1392 S_auth_param = 633, // auth_param
1393 S_auth_type = 634, // auth_type
1394 S_635_122 = 635, // $@122
1395 S_auth_type_value = 636, // auth_type_value
1396 S_realm = 637, // realm
1397 S_638_123 = 638, // $@123
1398 S_directory = 639, // directory
1399 S_640_124 = 640, // $@124
1400 S_clients = 641, // clients
1401 S_642_125 = 642, // $@125
1402 S_clients_list = 643, // clients_list
1403 S_not_empty_clients_list = 644, // not_empty_clients_list
1404 S_basic_auth = 645, // basic_auth
1405 S_646_126 = 646, // $@126
1406 S_clients_params = 647, // clients_params
1407 S_clients_param = 648, // clients_param
1408 S_user_file = 649, // user_file
1409 S_650_127 = 650, // $@127
1410 S_password_file = 651, // password_file
1411 S_652_128 = 652, // $@128
1412 S_dhcp_queue_control = 653, // dhcp_queue_control
1413 S_654_129 = 654, // $@129
1414 S_queue_control_params = 655, // queue_control_params
1415 S_queue_control_param = 656, // queue_control_param
1416 S_enable_queue = 657, // enable_queue
1417 S_queue_type = 658, // queue_type
1418 S_659_130 = 659, // $@130
1419 S_capacity = 660, // capacity
1420 S_arbitrary_map_entry = 661, // arbitrary_map_entry
1421 S_662_131 = 662, // $@131
1422 S_dhcp_ddns = 663, // dhcp_ddns
1423 S_664_132 = 664, // $@132
1424 S_sub_dhcp_ddns = 665, // sub_dhcp_ddns
1425 S_666_133 = 666, // $@133
1426 S_dhcp_ddns_params = 667, // dhcp_ddns_params
1427 S_dhcp_ddns_param = 668, // dhcp_ddns_param
1428 S_enable_updates = 669, // enable_updates
1429 S_server_ip = 670, // server_ip
1430 S_671_134 = 671, // $@134
1431 S_server_port = 672, // server_port
1432 S_sender_ip = 673, // sender_ip
1433 S_674_135 = 674, // $@135
1434 S_sender_port = 675, // sender_port
1435 S_max_queue_size = 676, // max_queue_size
1436 S_ncr_protocol = 677, // ncr_protocol
1437 S_678_136 = 678, // $@136
1438 S_ncr_protocol_value = 679, // ncr_protocol_value
1439 S_ncr_format = 680, // ncr_format
1440 S_681_137 = 681, // $@137
1441 S_config_control = 682, // config_control
1442 S_683_138 = 683, // $@138
1443 S_sub_config_control = 684, // sub_config_control
1444 S_685_139 = 685, // $@139
1445 S_config_control_params = 686, // config_control_params
1446 S_config_control_param = 687, // config_control_param
1447 S_config_databases = 688, // config_databases
1448 S_689_140 = 689, // $@140
1449 S_config_fetch_wait_time = 690, // config_fetch_wait_time
1450 S_loggers = 691, // loggers
1451 S_692_141 = 692, // $@141
1452 S_loggers_entries = 693, // loggers_entries
1453 S_logger_entry = 694, // logger_entry
1454 S_695_142 = 695, // $@142
1455 S_logger_params = 696, // logger_params
1456 S_logger_param = 697, // logger_param
1457 S_debuglevel = 698, // debuglevel
1458 S_severity = 699, // severity
1459 S_700_143 = 700, // $@143
1460 S_output_options_list = 701, // output_options_list
1461 S_702_144 = 702, // $@144
1462 S_output_options_list_content = 703, // output_options_list_content
1463 S_output_entry = 704, // output_entry
1464 S_705_145 = 705, // $@145
1465 S_output_params_list = 706, // output_params_list
1466 S_output_params = 707, // output_params
1467 S_output = 708, // output
1468 S_709_146 = 709, // $@146
1469 S_flush = 710, // flush
1470 S_maxsize = 711, // maxsize
1471 S_maxver = 712, // maxver
1472 S_pattern = 713, // pattern
1473 S_714_147 = 714, // $@147
1474 S_compatibility = 715, // compatibility
1475 S_716_148 = 716, // $@148
1476 S_compatibility_params = 717, // compatibility_params
1477 S_compatibility_param = 718, // compatibility_param
1478 S_lenient_option_parsing = 719, // lenient_option_parsing
1479 S_ignore_dhcp_server_identifier = 720, // ignore_dhcp_server_identifier
1480 S_ignore_rai_link_selection = 721, // ignore_rai_link_selection
1481 S_exclude_first_last_24 = 722 // exclude_first_last_24
1482 };
1483 };
1484
1487
1490
1497 template <typename Base>
1498 struct basic_symbol : Base
1499 {
1501 typedef Base super_type;
1502
1505 : value ()
1506 , location ()
1507 {}
1508
1509#if 201103L <= YY_CPLUSPLUS
1511 basic_symbol (basic_symbol&& that)
1512 : Base (std::move (that))
1513 , value ()
1514 , location (std::move (that.location))
1515 {
1516 switch (this->kind ())
1517 {
1518 case symbol_kind::S_value: // value
1519 case symbol_kind::S_map_value: // map_value
1520 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1521 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1522 case symbol_kind::S_socket_type: // socket_type
1523 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1524 case symbol_kind::S_on_fail_mode: // on_fail_mode
1525 case symbol_kind::S_ssl_mode: // ssl_mode
1526 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
1527 case symbol_kind::S_auth_type_value: // auth_type_value
1528 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1529 value.move< ElementPtr > (std::move (that.value));
1530 break;
1531
1532 case symbol_kind::S_BOOLEAN: // "boolean"
1533 value.move< bool > (std::move (that.value));
1534 break;
1535
1536 case symbol_kind::S_FLOAT: // "floating point"
1537 value.move< double > (std::move (that.value));
1538 break;
1539
1540 case symbol_kind::S_INTEGER: // "integer"
1541 value.move< int64_t > (std::move (that.value));
1542 break;
1543
1544 case symbol_kind::S_STRING: // "constant string"
1545 value.move< std::string > (std::move (that.value));
1546 break;
1547
1548 default:
1549 break;
1550 }
1551
1552 }
1553#endif
1554
1557
1559#if 201103L <= YY_CPLUSPLUS
1560 basic_symbol (typename Base::kind_type t, location_type&& l)
1561 : Base (t)
1562 , location (std::move (l))
1563 {}
1564#else
1565 basic_symbol (typename Base::kind_type t, const location_type& l)
1566 : Base (t)
1567 , location (l)
1568 {}
1569#endif
1570
1571#if 201103L <= YY_CPLUSPLUS
1572 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1573 : Base (t)
1574 , value (std::move (v))
1575 , location (std::move (l))
1576 {}
1577#else
1578 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1579 : Base (t)
1580 , value (v)
1581 , location (l)
1582 {}
1583#endif
1584
1585#if 201103L <= YY_CPLUSPLUS
1586 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1587 : Base (t)
1588 , value (std::move (v))
1589 , location (std::move (l))
1590 {}
1591#else
1592 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1593 : Base (t)
1594 , value (v)
1595 , location (l)
1596 {}
1597#endif
1598
1599#if 201103L <= YY_CPLUSPLUS
1600 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1601 : Base (t)
1602 , value (std::move (v))
1603 , location (std::move (l))
1604 {}
1605#else
1606 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1607 : Base (t)
1608 , value (v)
1609 , location (l)
1610 {}
1611#endif
1612
1613#if 201103L <= YY_CPLUSPLUS
1614 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1615 : Base (t)
1616 , value (std::move (v))
1617 , location (std::move (l))
1618 {}
1619#else
1620 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1621 : Base (t)
1622 , value (v)
1623 , location (l)
1624 {}
1625#endif
1626
1627#if 201103L <= YY_CPLUSPLUS
1628 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1629 : Base (t)
1630 , value (std::move (v))
1631 , location (std::move (l))
1632 {}
1633#else
1634 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1635 : Base (t)
1636 , value (v)
1637 , location (l)
1638 {}
1639#endif
1640
1643 {
1644 clear ();
1645 }
1646
1647
1648
1651 {
1652 // User destructor.
1653 symbol_kind_type yykind = this->kind ();
1654 basic_symbol<Base>& yysym = *this;
1655 (void) yysym;
1656 switch (yykind)
1657 {
1658 default:
1659 break;
1660 }
1661
1662 // Value type destructor.
1663switch (yykind)
1664 {
1665 case symbol_kind::S_value: // value
1666 case symbol_kind::S_map_value: // map_value
1667 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1668 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1669 case symbol_kind::S_socket_type: // socket_type
1670 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
1671 case symbol_kind::S_on_fail_mode: // on_fail_mode
1672 case symbol_kind::S_ssl_mode: // ssl_mode
1673 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
1674 case symbol_kind::S_auth_type_value: // auth_type_value
1675 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1676 value.template destroy< ElementPtr > ();
1677 break;
1678
1679 case symbol_kind::S_BOOLEAN: // "boolean"
1680 value.template destroy< bool > ();
1681 break;
1682
1683 case symbol_kind::S_FLOAT: // "floating point"
1684 value.template destroy< double > ();
1685 break;
1686
1687 case symbol_kind::S_INTEGER: // "integer"
1688 value.template destroy< int64_t > ();
1689 break;
1690
1691 case symbol_kind::S_STRING: // "constant string"
1692 value.template destroy< std::string > ();
1693 break;
1694
1695 default:
1696 break;
1697 }
1698
1699 Base::clear ();
1700 }
1701
1703 std::string name () const YY_NOEXCEPT
1704 {
1705 return Dhcp4Parser::symbol_name (this->kind ());
1706 }
1707
1710
1712 bool empty () const YY_NOEXCEPT;
1713
1716
1719
1722
1723 private:
1724#if YY_CPLUSPLUS < 201103L
1726 basic_symbol& operator= (const basic_symbol& that);
1727#endif
1728 };
1729
1731 struct by_kind
1732 {
1735
1738
1739#if 201103L <= YY_CPLUSPLUS
1741 by_kind (by_kind&& that) YY_NOEXCEPT;
1742#endif
1743
1745 by_kind (const by_kind& that) YY_NOEXCEPT;
1746
1749
1750
1751
1753 void clear () YY_NOEXCEPT;
1754
1756 void move (by_kind& that);
1757
1761
1764
1768 };
1769
1772
1775 {
1778
1781
1783#if 201103L <= YY_CPLUSPLUS
1784 symbol_type (int tok, location_type l)
1785 : super_type (token_kind_type (tok), std::move (l))
1786#else
1787 symbol_type (int tok, const location_type& l)
1788 : super_type (token_kind_type (tok), l)
1789#endif
1790 {
1791#if !defined _MSC_VER || defined __clang__
1794#endif
1795 }
1796#if 201103L <= YY_CPLUSPLUS
1797 symbol_type (int tok, bool v, location_type l)
1798 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1799#else
1800 symbol_type (int tok, const bool& v, const location_type& l)
1801 : super_type (token_kind_type (tok), v, l)
1802#endif
1803 {
1804#if !defined _MSC_VER || defined __clang__
1806#endif
1807 }
1808#if 201103L <= YY_CPLUSPLUS
1809 symbol_type (int tok, double v, location_type l)
1810 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1811#else
1812 symbol_type (int tok, const double& v, const location_type& l)
1813 : super_type (token_kind_type (tok), v, l)
1814#endif
1815 {
1816#if !defined _MSC_VER || defined __clang__
1818#endif
1819 }
1820#if 201103L <= YY_CPLUSPLUS
1821 symbol_type (int tok, int64_t v, location_type l)
1822 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1823#else
1824 symbol_type (int tok, const int64_t& v, const location_type& l)
1825 : super_type (token_kind_type (tok), v, l)
1826#endif
1827 {
1828#if !defined _MSC_VER || defined __clang__
1830#endif
1831 }
1832#if 201103L <= YY_CPLUSPLUS
1833 symbol_type (int tok, std::string v, location_type l)
1834 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1835#else
1836 symbol_type (int tok, const std::string& v, const location_type& l)
1837 : super_type (token_kind_type (tok), v, l)
1838#endif
1839 {
1840#if !defined _MSC_VER || defined __clang__
1842#endif
1843 }
1844 };
1845
1848 virtual ~Dhcp4Parser ();
1849
1850#if 201103L <= YY_CPLUSPLUS
1852 Dhcp4Parser (const Dhcp4Parser&) = delete;
1854 Dhcp4Parser& operator= (const Dhcp4Parser&) = delete;
1855#endif
1856
1859 int operator() ();
1860
1863 virtual int parse ();
1864
1865#if PARSER4_DEBUG
1867 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1869 void set_debug_stream (std::ostream &);
1870
1872 typedef int debug_level_type;
1874 debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
1876 void set_debug_level (debug_level_type l);
1877#endif
1878
1882 virtual void error (const location_type& loc, const std::string& msg);
1883
1885 void error (const syntax_error& err);
1886
1889 static std::string symbol_name (symbol_kind_type yysymbol);
1890
1891 // Implementation of make_symbol for each token kind.
1892#if 201103L <= YY_CPLUSPLUS
1893 static
1894 symbol_type
1895 make_END (location_type l)
1896 {
1897 return symbol_type (token::TOKEN_END, std::move (l));
1898 }
1899#else
1900 static
1901 symbol_type
1903 {
1904 return symbol_type (token::TOKEN_END, l);
1905 }
1906#endif
1907#if 201103L <= YY_CPLUSPLUS
1908 static
1909 symbol_type
1910 make_PARSER4_error (location_type l)
1911 {
1912 return symbol_type (token::TOKEN_PARSER4_error, std::move (l));
1913 }
1914#else
1915 static
1916 symbol_type
1921#endif
1922#if 201103L <= YY_CPLUSPLUS
1923 static
1924 symbol_type
1925 make_PARSER4_UNDEF (location_type l)
1926 {
1927 return symbol_type (token::TOKEN_PARSER4_UNDEF, std::move (l));
1928 }
1929#else
1930 static
1931 symbol_type
1936#endif
1937#if 201103L <= YY_CPLUSPLUS
1938 static
1939 symbol_type
1940 make_COMMA (location_type l)
1941 {
1942 return symbol_type (token::TOKEN_COMMA, std::move (l));
1943 }
1944#else
1945 static
1946 symbol_type
1948 {
1949 return symbol_type (token::TOKEN_COMMA, l);
1950 }
1951#endif
1952#if 201103L <= YY_CPLUSPLUS
1953 static
1954 symbol_type
1955 make_COLON (location_type l)
1956 {
1957 return symbol_type (token::TOKEN_COLON, std::move (l));
1958 }
1959#else
1960 static
1961 symbol_type
1963 {
1964 return symbol_type (token::TOKEN_COLON, l);
1965 }
1966#endif
1967#if 201103L <= YY_CPLUSPLUS
1968 static
1969 symbol_type
1970 make_LSQUARE_BRACKET (location_type l)
1971 {
1972 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1973 }
1974#else
1975 static
1976 symbol_type
1981#endif
1982#if 201103L <= YY_CPLUSPLUS
1983 static
1984 symbol_type
1985 make_RSQUARE_BRACKET (location_type l)
1986 {
1987 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1988 }
1989#else
1990 static
1991 symbol_type
1996#endif
1997#if 201103L <= YY_CPLUSPLUS
1998 static
1999 symbol_type
2000 make_LCURLY_BRACKET (location_type l)
2001 {
2002 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
2003 }
2004#else
2005 static
2006 symbol_type
2011#endif
2012#if 201103L <= YY_CPLUSPLUS
2013 static
2014 symbol_type
2015 make_RCURLY_BRACKET (location_type l)
2016 {
2017 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
2018 }
2019#else
2020 static
2021 symbol_type
2026#endif
2027#if 201103L <= YY_CPLUSPLUS
2028 static
2029 symbol_type
2030 make_NULL_TYPE (location_type l)
2031 {
2032 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
2033 }
2034#else
2035 static
2036 symbol_type
2038 {
2040 }
2041#endif
2042#if 201103L <= YY_CPLUSPLUS
2043 static
2044 symbol_type
2045 make_DHCP4 (location_type l)
2046 {
2047 return symbol_type (token::TOKEN_DHCP4, std::move (l));
2048 }
2049#else
2050 static
2051 symbol_type
2053 {
2054 return symbol_type (token::TOKEN_DHCP4, l);
2055 }
2056#endif
2057#if 201103L <= YY_CPLUSPLUS
2058 static
2059 symbol_type
2060 make_CONFIG_CONTROL (location_type l)
2061 {
2062 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
2063 }
2064#else
2065 static
2066 symbol_type
2071#endif
2072#if 201103L <= YY_CPLUSPLUS
2073 static
2074 symbol_type
2075 make_CONFIG_DATABASES (location_type l)
2076 {
2077 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
2078 }
2079#else
2080 static
2081 symbol_type
2086#endif
2087#if 201103L <= YY_CPLUSPLUS
2088 static
2089 symbol_type
2090 make_CONFIG_FETCH_WAIT_TIME (location_type l)
2091 {
2092 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2093 }
2094#else
2095 static
2096 symbol_type
2101#endif
2102#if 201103L <= YY_CPLUSPLUS
2103 static
2104 symbol_type
2105 make_INTERFACES_CONFIG (location_type l)
2106 {
2107 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2108 }
2109#else
2110 static
2111 symbol_type
2116#endif
2117#if 201103L <= YY_CPLUSPLUS
2118 static
2119 symbol_type
2120 make_INTERFACES (location_type l)
2121 {
2122 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2123 }
2124#else
2125 static
2126 symbol_type
2128 {
2130 }
2131#endif
2132#if 201103L <= YY_CPLUSPLUS
2133 static
2134 symbol_type
2135 make_DHCP_SOCKET_TYPE (location_type l)
2136 {
2137 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, std::move (l));
2138 }
2139#else
2140 static
2141 symbol_type
2146#endif
2147#if 201103L <= YY_CPLUSPLUS
2148 static
2149 symbol_type
2150 make_RAW (location_type l)
2151 {
2152 return symbol_type (token::TOKEN_RAW, std::move (l));
2153 }
2154#else
2155 static
2156 symbol_type
2158 {
2159 return symbol_type (token::TOKEN_RAW, l);
2160 }
2161#endif
2162#if 201103L <= YY_CPLUSPLUS
2163 static
2164 symbol_type
2165 make_UDP (location_type l)
2166 {
2167 return symbol_type (token::TOKEN_UDP, std::move (l));
2168 }
2169#else
2170 static
2171 symbol_type
2173 {
2174 return symbol_type (token::TOKEN_UDP, l);
2175 }
2176#endif
2177#if 201103L <= YY_CPLUSPLUS
2178 static
2179 symbol_type
2180 make_OUTBOUND_INTERFACE (location_type l)
2181 {
2182 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, std::move (l));
2183 }
2184#else
2185 static
2186 symbol_type
2191#endif
2192#if 201103L <= YY_CPLUSPLUS
2193 static
2194 symbol_type
2195 make_SAME_AS_INBOUND (location_type l)
2196 {
2197 return symbol_type (token::TOKEN_SAME_AS_INBOUND, std::move (l));
2198 }
2199#else
2200 static
2201 symbol_type
2206#endif
2207#if 201103L <= YY_CPLUSPLUS
2208 static
2209 symbol_type
2210 make_USE_ROUTING (location_type l)
2211 {
2212 return symbol_type (token::TOKEN_USE_ROUTING, std::move (l));
2213 }
2214#else
2215 static
2216 symbol_type
2218 {
2220 }
2221#endif
2222#if 201103L <= YY_CPLUSPLUS
2223 static
2224 symbol_type
2225 make_RE_DETECT (location_type l)
2226 {
2227 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2228 }
2229#else
2230 static
2231 symbol_type
2233 {
2235 }
2236#endif
2237#if 201103L <= YY_CPLUSPLUS
2238 static
2239 symbol_type
2240 make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2241 {
2242 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2243 }
2244#else
2245 static
2246 symbol_type
2251#endif
2252#if 201103L <= YY_CPLUSPLUS
2253 static
2254 symbol_type
2255 make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2256 {
2257 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2258 }
2259#else
2260 static
2261 symbol_type
2266#endif
2267#if 201103L <= YY_CPLUSPLUS
2268 static
2269 symbol_type
2270 make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2271 {
2272 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2273 }
2274#else
2275 static
2276 symbol_type
2281#endif
2282#if 201103L <= YY_CPLUSPLUS
2283 static
2284 symbol_type
2285 make_SANITY_CHECKS (location_type l)
2286 {
2287 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
2288 }
2289#else
2290 static
2291 symbol_type
2296#endif
2297#if 201103L <= YY_CPLUSPLUS
2298 static
2299 symbol_type
2300 make_LEASE_CHECKS (location_type l)
2301 {
2302 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
2303 }
2304#else
2305 static
2306 symbol_type
2308 {
2310 }
2311#endif
2312#if 201103L <= YY_CPLUSPLUS
2313 static
2314 symbol_type
2315 make_EXTENDED_INFO_CHECKS (location_type l)
2316 {
2317 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, std::move (l));
2318 }
2319#else
2320 static
2321 symbol_type
2326#endif
2327#if 201103L <= YY_CPLUSPLUS
2328 static
2329 symbol_type
2330 make_ECHO_CLIENT_ID (location_type l)
2331 {
2332 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, std::move (l));
2333 }
2334#else
2335 static
2336 symbol_type
2341#endif
2342#if 201103L <= YY_CPLUSPLUS
2343 static
2344 symbol_type
2345 make_MATCH_CLIENT_ID (location_type l)
2346 {
2347 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, std::move (l));
2348 }
2349#else
2350 static
2351 symbol_type
2356#endif
2357#if 201103L <= YY_CPLUSPLUS
2358 static
2359 symbol_type
2360 make_AUTHORITATIVE (location_type l)
2361 {
2362 return symbol_type (token::TOKEN_AUTHORITATIVE, std::move (l));
2363 }
2364#else
2365 static
2366 symbol_type
2371#endif
2372#if 201103L <= YY_CPLUSPLUS
2373 static
2374 symbol_type
2375 make_NEXT_SERVER (location_type l)
2376 {
2377 return symbol_type (token::TOKEN_NEXT_SERVER, std::move (l));
2378 }
2379#else
2380 static
2381 symbol_type
2383 {
2385 }
2386#endif
2387#if 201103L <= YY_CPLUSPLUS
2388 static
2389 symbol_type
2390 make_SERVER_HOSTNAME (location_type l)
2391 {
2392 return symbol_type (token::TOKEN_SERVER_HOSTNAME, std::move (l));
2393 }
2394#else
2395 static
2396 symbol_type
2401#endif
2402#if 201103L <= YY_CPLUSPLUS
2403 static
2404 symbol_type
2405 make_BOOT_FILE_NAME (location_type l)
2406 {
2407 return symbol_type (token::TOKEN_BOOT_FILE_NAME, std::move (l));
2408 }
2409#else
2410 static
2411 symbol_type
2416#endif
2417#if 201103L <= YY_CPLUSPLUS
2418 static
2419 symbol_type
2420 make_OFFER_LFT (location_type l)
2421 {
2422 return symbol_type (token::TOKEN_OFFER_LFT, std::move (l));
2423 }
2424#else
2425 static
2426 symbol_type
2428 {
2430 }
2431#endif
2432#if 201103L <= YY_CPLUSPLUS
2433 static
2434 symbol_type
2435 make_STASH_AGENT_OPTIONS (location_type l)
2436 {
2437 return symbol_type (token::TOKEN_STASH_AGENT_OPTIONS, std::move (l));
2438 }
2439#else
2440 static
2441 symbol_type
2446#endif
2447#if 201103L <= YY_CPLUSPLUS
2448 static
2449 symbol_type
2450 make_LEASE_DATABASE (location_type l)
2451 {
2452 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2453 }
2454#else
2455 static
2456 symbol_type
2461#endif
2462#if 201103L <= YY_CPLUSPLUS
2463 static
2464 symbol_type
2465 make_HOSTS_DATABASE (location_type l)
2466 {
2467 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2468 }
2469#else
2470 static
2471 symbol_type
2476#endif
2477#if 201103L <= YY_CPLUSPLUS
2478 static
2479 symbol_type
2480 make_HOSTS_DATABASES (location_type l)
2481 {
2482 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2483 }
2484#else
2485 static
2486 symbol_type
2491#endif
2492#if 201103L <= YY_CPLUSPLUS
2493 static
2494 symbol_type
2495 make_TYPE (location_type l)
2496 {
2497 return symbol_type (token::TOKEN_TYPE, std::move (l));
2498 }
2499#else
2500 static
2501 symbol_type
2503 {
2504 return symbol_type (token::TOKEN_TYPE, l);
2505 }
2506#endif
2507#if 201103L <= YY_CPLUSPLUS
2508 static
2509 symbol_type
2510 make_USER (location_type l)
2511 {
2512 return symbol_type (token::TOKEN_USER, std::move (l));
2513 }
2514#else
2515 static
2516 symbol_type
2518 {
2519 return symbol_type (token::TOKEN_USER, l);
2520 }
2521#endif
2522#if 201103L <= YY_CPLUSPLUS
2523 static
2524 symbol_type
2525 make_PASSWORD (location_type l)
2526 {
2527 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2528 }
2529#else
2530 static
2531 symbol_type
2533 {
2535 }
2536#endif
2537#if 201103L <= YY_CPLUSPLUS
2538 static
2539 symbol_type
2540 make_HOST (location_type l)
2541 {
2542 return symbol_type (token::TOKEN_HOST, std::move (l));
2543 }
2544#else
2545 static
2546 symbol_type
2548 {
2549 return symbol_type (token::TOKEN_HOST, l);
2550 }
2551#endif
2552#if 201103L <= YY_CPLUSPLUS
2553 static
2554 symbol_type
2555 make_PORT (location_type l)
2556 {
2557 return symbol_type (token::TOKEN_PORT, std::move (l));
2558 }
2559#else
2560 static
2561 symbol_type
2563 {
2564 return symbol_type (token::TOKEN_PORT, l);
2565 }
2566#endif
2567#if 201103L <= YY_CPLUSPLUS
2568 static
2569 symbol_type
2570 make_PERSIST (location_type l)
2571 {
2572 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2573 }
2574#else
2575 static
2576 symbol_type
2578 {
2580 }
2581#endif
2582#if 201103L <= YY_CPLUSPLUS
2583 static
2584 symbol_type
2585 make_LFC_INTERVAL (location_type l)
2586 {
2587 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2588 }
2589#else
2590 static
2591 symbol_type
2593 {
2595 }
2596#endif
2597#if 201103L <= YY_CPLUSPLUS
2598 static
2599 symbol_type
2600 make_READONLY (location_type l)
2601 {
2602 return symbol_type (token::TOKEN_READONLY, std::move (l));
2603 }
2604#else
2605 static
2606 symbol_type
2608 {
2610 }
2611#endif
2612#if 201103L <= YY_CPLUSPLUS
2613 static
2614 symbol_type
2615 make_CONNECT_TIMEOUT (location_type l)
2616 {
2617 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2618 }
2619#else
2620 static
2621 symbol_type
2626#endif
2627#if 201103L <= YY_CPLUSPLUS
2628 static
2629 symbol_type
2630 make_READ_TIMEOUT (location_type l)
2631 {
2632 return symbol_type (token::TOKEN_READ_TIMEOUT, std::move (l));
2633 }
2634#else
2635 static
2636 symbol_type
2638 {
2640 }
2641#endif
2642#if 201103L <= YY_CPLUSPLUS
2643 static
2644 symbol_type
2645 make_WRITE_TIMEOUT (location_type l)
2646 {
2647 return symbol_type (token::TOKEN_WRITE_TIMEOUT, std::move (l));
2648 }
2649#else
2650 static
2651 symbol_type
2656#endif
2657#if 201103L <= YY_CPLUSPLUS
2658 static
2659 symbol_type
2660 make_TCP_USER_TIMEOUT (location_type l)
2661 {
2662 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, std::move (l));
2663 }
2664#else
2665 static
2666 symbol_type
2671#endif
2672#if 201103L <= YY_CPLUSPLUS
2673 static
2674 symbol_type
2675 make_MAX_RECONNECT_TRIES (location_type l)
2676 {
2677 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2678 }
2679#else
2680 static
2681 symbol_type
2686#endif
2687#if 201103L <= YY_CPLUSPLUS
2688 static
2689 symbol_type
2690 make_RECONNECT_WAIT_TIME (location_type l)
2691 {
2692 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2693 }
2694#else
2695 static
2696 symbol_type
2701#endif
2702#if 201103L <= YY_CPLUSPLUS
2703 static
2704 symbol_type
2705 make_ON_FAIL (location_type l)
2706 {
2707 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2708 }
2709#else
2710 static
2711 symbol_type
2713 {
2715 }
2716#endif
2717#if 201103L <= YY_CPLUSPLUS
2718 static
2719 symbol_type
2720 make_STOP_RETRY_EXIT (location_type l)
2721 {
2722 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2723 }
2724#else
2725 static
2726 symbol_type
2731#endif
2732#if 201103L <= YY_CPLUSPLUS
2733 static
2734 symbol_type
2735 make_SERVE_RETRY_EXIT (location_type l)
2736 {
2737 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2738 }
2739#else
2740 static
2741 symbol_type
2746#endif
2747#if 201103L <= YY_CPLUSPLUS
2748 static
2749 symbol_type
2750 make_SERVE_RETRY_CONTINUE (location_type l)
2751 {
2752 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2753 }
2754#else
2755 static
2756 symbol_type
2761#endif
2762#if 201103L <= YY_CPLUSPLUS
2763 static
2764 symbol_type
2765 make_RETRY_ON_STARTUP (location_type l)
2766 {
2767 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, std::move (l));
2768 }
2769#else
2770 static
2771 symbol_type
2776#endif
2777#if 201103L <= YY_CPLUSPLUS
2778 static
2779 symbol_type
2780 make_MAX_ROW_ERRORS (location_type l)
2781 {
2782 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2783 }
2784#else
2785 static
2786 symbol_type
2791#endif
2792#if 201103L <= YY_CPLUSPLUS
2793 static
2794 symbol_type
2795 make_TRUST_ANCHOR (location_type l)
2796 {
2797 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2798 }
2799#else
2800 static
2801 symbol_type
2803 {
2805 }
2806#endif
2807#if 201103L <= YY_CPLUSPLUS
2808 static
2809 symbol_type
2810 make_CERT_FILE (location_type l)
2811 {
2812 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2813 }
2814#else
2815 static
2816 symbol_type
2818 {
2820 }
2821#endif
2822#if 201103L <= YY_CPLUSPLUS
2823 static
2824 symbol_type
2825 make_KEY_FILE (location_type l)
2826 {
2827 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2828 }
2829#else
2830 static
2831 symbol_type
2833 {
2835 }
2836#endif
2837#if 201103L <= YY_CPLUSPLUS
2838 static
2839 symbol_type
2840 make_SSL_MODE (location_type l)
2841 {
2842 return symbol_type (token::TOKEN_SSL_MODE, std::move (l));
2843 }
2844#else
2845 static
2846 symbol_type
2848 {
2850 }
2851#endif
2852#if 201103L <= YY_CPLUSPLUS
2853 static
2854 symbol_type
2855 make_DISABLE (location_type l)
2856 {
2857 return symbol_type (token::TOKEN_DISABLE, std::move (l));
2858 }
2859#else
2860 static
2861 symbol_type
2863 {
2865 }
2866#endif
2867#if 201103L <= YY_CPLUSPLUS
2868 static
2869 symbol_type
2870 make_PREFER (location_type l)
2871 {
2872 return symbol_type (token::TOKEN_PREFER, std::move (l));
2873 }
2874#else
2875 static
2876 symbol_type
2878 {
2879 return symbol_type (token::TOKEN_PREFER, l);
2880 }
2881#endif
2882#if 201103L <= YY_CPLUSPLUS
2883 static
2884 symbol_type
2885 make_REQUIRE (location_type l)
2886 {
2887 return symbol_type (token::TOKEN_REQUIRE, std::move (l));
2888 }
2889#else
2890 static
2891 symbol_type
2893 {
2895 }
2896#endif
2897#if 201103L <= YY_CPLUSPLUS
2898 static
2899 symbol_type
2900 make_VERIFY_CA (location_type l)
2901 {
2902 return symbol_type (token::TOKEN_VERIFY_CA, std::move (l));
2903 }
2904#else
2905 static
2906 symbol_type
2908 {
2910 }
2911#endif
2912#if 201103L <= YY_CPLUSPLUS
2913 static
2914 symbol_type
2915 make_VERIFY_FULL (location_type l)
2916 {
2917 return symbol_type (token::TOKEN_VERIFY_FULL, std::move (l));
2918 }
2919#else
2920 static
2921 symbol_type
2923 {
2925 }
2926#endif
2927#if 201103L <= YY_CPLUSPLUS
2928 static
2929 symbol_type
2930 make_CIPHER_LIST (location_type l)
2931 {
2932 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2933 }
2934#else
2935 static
2936 symbol_type
2938 {
2940 }
2941#endif
2942#if 201103L <= YY_CPLUSPLUS
2943 static
2944 symbol_type
2945 make_VALID_LIFETIME (location_type l)
2946 {
2947 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2948 }
2949#else
2950 static
2951 symbol_type
2956#endif
2957#if 201103L <= YY_CPLUSPLUS
2958 static
2959 symbol_type
2960 make_MIN_VALID_LIFETIME (location_type l)
2961 {
2962 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2963 }
2964#else
2965 static
2966 symbol_type
2971#endif
2972#if 201103L <= YY_CPLUSPLUS
2973 static
2974 symbol_type
2975 make_MAX_VALID_LIFETIME (location_type l)
2976 {
2977 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2978 }
2979#else
2980 static
2981 symbol_type
2986#endif
2987#if 201103L <= YY_CPLUSPLUS
2988 static
2989 symbol_type
2990 make_RENEW_TIMER (location_type l)
2991 {
2992 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2993 }
2994#else
2995 static
2996 symbol_type
2998 {
3000 }
3001#endif
3002#if 201103L <= YY_CPLUSPLUS
3003 static
3004 symbol_type
3005 make_REBIND_TIMER (location_type l)
3006 {
3007 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
3008 }
3009#else
3010 static
3011 symbol_type
3013 {
3015 }
3016#endif
3017#if 201103L <= YY_CPLUSPLUS
3018 static
3019 symbol_type
3020 make_CALCULATE_TEE_TIMES (location_type l)
3021 {
3022 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
3023 }
3024#else
3025 static
3026 symbol_type
3031#endif
3032#if 201103L <= YY_CPLUSPLUS
3033 static
3034 symbol_type
3035 make_T1_PERCENT (location_type l)
3036 {
3037 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
3038 }
3039#else
3040 static
3041 symbol_type
3043 {
3045 }
3046#endif
3047#if 201103L <= YY_CPLUSPLUS
3048 static
3049 symbol_type
3050 make_T2_PERCENT (location_type l)
3051 {
3052 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
3053 }
3054#else
3055 static
3056 symbol_type
3058 {
3060 }
3061#endif
3062#if 201103L <= YY_CPLUSPLUS
3063 static
3064 symbol_type
3065 make_CACHE_THRESHOLD (location_type l)
3066 {
3067 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
3068 }
3069#else
3070 static
3071 symbol_type
3076#endif
3077#if 201103L <= YY_CPLUSPLUS
3078 static
3079 symbol_type
3080 make_CACHE_MAX_AGE (location_type l)
3081 {
3082 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
3083 }
3084#else
3085 static
3086 symbol_type
3091#endif
3092#if 201103L <= YY_CPLUSPLUS
3093 static
3094 symbol_type
3095 make_DECLINE_PROBATION_PERIOD (location_type l)
3096 {
3097 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
3098 }
3099#else
3100 static
3101 symbol_type
3106#endif
3107#if 201103L <= YY_CPLUSPLUS
3108 static
3109 symbol_type
3110 make_SERVER_TAG (location_type l)
3111 {
3112 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
3113 }
3114#else
3115 static
3116 symbol_type
3118 {
3120 }
3121#endif
3122#if 201103L <= YY_CPLUSPLUS
3123 static
3124 symbol_type
3125 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
3126 {
3127 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
3128 }
3129#else
3130 static
3131 symbol_type
3136#endif
3137#if 201103L <= YY_CPLUSPLUS
3138 static
3139 symbol_type
3140 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
3141 {
3142 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
3143 }
3144#else
3145 static
3146 symbol_type
3151#endif
3152#if 201103L <= YY_CPLUSPLUS
3153 static
3154 symbol_type
3155 make_DDNS_SEND_UPDATES (location_type l)
3156 {
3157 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
3158 }
3159#else
3160 static
3161 symbol_type
3166#endif
3167#if 201103L <= YY_CPLUSPLUS
3168 static
3169 symbol_type
3170 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
3171 {
3172 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
3173 }
3174#else
3175 static
3176 symbol_type
3181#endif
3182#if 201103L <= YY_CPLUSPLUS
3183 static
3184 symbol_type
3185 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
3186 {
3187 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
3188 }
3189#else
3190 static
3191 symbol_type
3196#endif
3197#if 201103L <= YY_CPLUSPLUS
3198 static
3199 symbol_type
3200 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
3201 {
3202 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
3203 }
3204#else
3205 static
3206 symbol_type
3211#endif
3212#if 201103L <= YY_CPLUSPLUS
3213 static
3214 symbol_type
3215 make_DDNS_GENERATED_PREFIX (location_type l)
3216 {
3217 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
3218 }
3219#else
3220 static
3221 symbol_type
3226#endif
3227#if 201103L <= YY_CPLUSPLUS
3228 static
3229 symbol_type
3230 make_DDNS_QUALIFYING_SUFFIX (location_type l)
3231 {
3232 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
3233 }
3234#else
3235 static
3236 symbol_type
3241#endif
3242#if 201103L <= YY_CPLUSPLUS
3243 static
3244 symbol_type
3245 make_DDNS_UPDATE_ON_RENEW (location_type l)
3246 {
3247 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
3248 }
3249#else
3250 static
3251 symbol_type
3256#endif
3257#if 201103L <= YY_CPLUSPLUS
3258 static
3259 symbol_type
3260 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
3261 {
3262 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
3263 }
3264#else
3265 static
3266 symbol_type
3271#endif
3272#if 201103L <= YY_CPLUSPLUS
3273 static
3274 symbol_type
3275 make_DDNS_TTL_PERCENT (location_type l)
3276 {
3277 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, std::move (l));
3278 }
3279#else
3280 static
3281 symbol_type
3286#endif
3287#if 201103L <= YY_CPLUSPLUS
3288 static
3289 symbol_type
3290 make_DDNS_TTL (location_type l)
3291 {
3292 return symbol_type (token::TOKEN_DDNS_TTL, std::move (l));
3293 }
3294#else
3295 static
3296 symbol_type
3298 {
3300 }
3301#endif
3302#if 201103L <= YY_CPLUSPLUS
3303 static
3304 symbol_type
3305 make_DDNS_TTL_MIN (location_type l)
3306 {
3307 return symbol_type (token::TOKEN_DDNS_TTL_MIN, std::move (l));
3308 }
3309#else
3310 static
3311 symbol_type
3313 {
3315 }
3316#endif
3317#if 201103L <= YY_CPLUSPLUS
3318 static
3319 symbol_type
3320 make_DDNS_TTL_MAX (location_type l)
3321 {
3322 return symbol_type (token::TOKEN_DDNS_TTL_MAX, std::move (l));
3323 }
3324#else
3325 static
3326 symbol_type
3328 {
3330 }
3331#endif
3332#if 201103L <= YY_CPLUSPLUS
3333 static
3334 symbol_type
3335 make_STORE_EXTENDED_INFO (location_type l)
3336 {
3337 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
3338 }
3339#else
3340 static
3341 symbol_type
3346#endif
3347#if 201103L <= YY_CPLUSPLUS
3348 static
3349 symbol_type
3350 make_SUBNET4 (location_type l)
3351 {
3352 return symbol_type (token::TOKEN_SUBNET4, std::move (l));
3353 }
3354#else
3355 static
3356 symbol_type
3358 {
3360 }
3361#endif
3362#if 201103L <= YY_CPLUSPLUS
3363 static
3364 symbol_type
3365 make_SUBNET_4O6_INTERFACE (location_type l)
3366 {
3367 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, std::move (l));
3368 }
3369#else
3370 static
3371 symbol_type
3376#endif
3377#if 201103L <= YY_CPLUSPLUS
3378 static
3379 symbol_type
3380 make_SUBNET_4O6_INTERFACE_ID (location_type l)
3381 {
3382 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, std::move (l));
3383 }
3384#else
3385 static
3386 symbol_type
3391#endif
3392#if 201103L <= YY_CPLUSPLUS
3393 static
3394 symbol_type
3395 make_SUBNET_4O6_SUBNET (location_type l)
3396 {
3397 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, std::move (l));
3398 }
3399#else
3400 static
3401 symbol_type
3406#endif
3407#if 201103L <= YY_CPLUSPLUS
3408 static
3409 symbol_type
3410 make_OPTION_DEF (location_type l)
3411 {
3412 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
3413 }
3414#else
3415 static
3416 symbol_type
3418 {
3420 }
3421#endif
3422#if 201103L <= YY_CPLUSPLUS
3423 static
3424 symbol_type
3425 make_OPTION_DATA (location_type l)
3426 {
3427 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
3428 }
3429#else
3430 static
3431 symbol_type
3433 {
3435 }
3436#endif
3437#if 201103L <= YY_CPLUSPLUS
3438 static
3439 symbol_type
3440 make_NAME (location_type l)
3441 {
3442 return symbol_type (token::TOKEN_NAME, std::move (l));
3443 }
3444#else
3445 static
3446 symbol_type
3448 {
3449 return symbol_type (token::TOKEN_NAME, l);
3450 }
3451#endif
3452#if 201103L <= YY_CPLUSPLUS
3453 static
3454 symbol_type
3455 make_DATA (location_type l)
3456 {
3457 return symbol_type (token::TOKEN_DATA, std::move (l));
3458 }
3459#else
3460 static
3461 symbol_type
3463 {
3464 return symbol_type (token::TOKEN_DATA, l);
3465 }
3466#endif
3467#if 201103L <= YY_CPLUSPLUS
3468 static
3469 symbol_type
3470 make_CODE (location_type l)
3471 {
3472 return symbol_type (token::TOKEN_CODE, std::move (l));
3473 }
3474#else
3475 static
3476 symbol_type
3478 {
3479 return symbol_type (token::TOKEN_CODE, l);
3480 }
3481#endif
3482#if 201103L <= YY_CPLUSPLUS
3483 static
3484 symbol_type
3485 make_SPACE (location_type l)
3486 {
3487 return symbol_type (token::TOKEN_SPACE, std::move (l));
3488 }
3489#else
3490 static
3491 symbol_type
3493 {
3494 return symbol_type (token::TOKEN_SPACE, l);
3495 }
3496#endif
3497#if 201103L <= YY_CPLUSPLUS
3498 static
3499 symbol_type
3500 make_CSV_FORMAT (location_type l)
3501 {
3502 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3503 }
3504#else
3505 static
3506 symbol_type
3508 {
3510 }
3511#endif
3512#if 201103L <= YY_CPLUSPLUS
3513 static
3514 symbol_type
3515 make_ALWAYS_SEND (location_type l)
3516 {
3517 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3518 }
3519#else
3520 static
3521 symbol_type
3523 {
3525 }
3526#endif
3527#if 201103L <= YY_CPLUSPLUS
3528 static
3529 symbol_type
3530 make_NEVER_SEND (location_type l)
3531 {
3532 return symbol_type (token::TOKEN_NEVER_SEND, std::move (l));
3533 }
3534#else
3535 static
3536 symbol_type
3538 {
3540 }
3541#endif
3542#if 201103L <= YY_CPLUSPLUS
3543 static
3544 symbol_type
3545 make_RECORD_TYPES (location_type l)
3546 {
3547 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3548 }
3549#else
3550 static
3551 symbol_type
3553 {
3555 }
3556#endif
3557#if 201103L <= YY_CPLUSPLUS
3558 static
3559 symbol_type
3560 make_ENCAPSULATE (location_type l)
3561 {
3562 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3563 }
3564#else
3565 static
3566 symbol_type
3568 {
3570 }
3571#endif
3572#if 201103L <= YY_CPLUSPLUS
3573 static
3574 symbol_type
3575 make_ARRAY (location_type l)
3576 {
3577 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3578 }
3579#else
3580 static
3581 symbol_type
3583 {
3584 return symbol_type (token::TOKEN_ARRAY, l);
3585 }
3586#endif
3587#if 201103L <= YY_CPLUSPLUS
3588 static
3589 symbol_type
3590 make_PARKED_PACKET_LIMIT (location_type l)
3591 {
3592 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3593 }
3594#else
3595 static
3596 symbol_type
3601#endif
3602#if 201103L <= YY_CPLUSPLUS
3603 static
3604 symbol_type
3605 make_ALLOCATOR (location_type l)
3606 {
3607 return symbol_type (token::TOKEN_ALLOCATOR, std::move (l));
3608 }
3609#else
3610 static
3611 symbol_type
3613 {
3615 }
3616#endif
3617#if 201103L <= YY_CPLUSPLUS
3618 static
3619 symbol_type
3620 make_DDNS_CONFLICT_RESOLUTION_MODE (location_type l)
3621 {
3622 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, std::move (l));
3623 }
3624#else
3625 static
3626 symbol_type
3631#endif
3632#if 201103L <= YY_CPLUSPLUS
3633 static
3634 symbol_type
3635 make_CHECK_WITH_DHCID (location_type l)
3636 {
3637 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, std::move (l));
3638 }
3639#else
3640 static
3641 symbol_type
3646#endif
3647#if 201103L <= YY_CPLUSPLUS
3648 static
3649 symbol_type
3650 make_NO_CHECK_WITH_DHCID (location_type l)
3651 {
3652 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, std::move (l));
3653 }
3654#else
3655 static
3656 symbol_type
3661#endif
3662#if 201103L <= YY_CPLUSPLUS
3663 static
3664 symbol_type
3665 make_CHECK_EXISTS_WITH_DHCID (location_type l)
3666 {
3667 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, std::move (l));
3668 }
3669#else
3670 static
3671 symbol_type
3676#endif
3677#if 201103L <= YY_CPLUSPLUS
3678 static
3679 symbol_type
3680 make_NO_CHECK_WITHOUT_DHCID (location_type l)
3681 {
3682 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, std::move (l));
3683 }
3684#else
3685 static
3686 symbol_type
3691#endif
3692#if 201103L <= YY_CPLUSPLUS
3693 static
3694 symbol_type
3695 make_SHARED_NETWORKS (location_type l)
3696 {
3697 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3698 }
3699#else
3700 static
3701 symbol_type
3706#endif
3707#if 201103L <= YY_CPLUSPLUS
3708 static
3709 symbol_type
3710 make_POOLS (location_type l)
3711 {
3712 return symbol_type (token::TOKEN_POOLS, std::move (l));
3713 }
3714#else
3715 static
3716 symbol_type
3718 {
3719 return symbol_type (token::TOKEN_POOLS, l);
3720 }
3721#endif
3722#if 201103L <= YY_CPLUSPLUS
3723 static
3724 symbol_type
3725 make_POOL (location_type l)
3726 {
3727 return symbol_type (token::TOKEN_POOL, std::move (l));
3728 }
3729#else
3730 static
3731 symbol_type
3733 {
3734 return symbol_type (token::TOKEN_POOL, l);
3735 }
3736#endif
3737#if 201103L <= YY_CPLUSPLUS
3738 static
3739 symbol_type
3740 make_USER_CONTEXT (location_type l)
3741 {
3742 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3743 }
3744#else
3745 static
3746 symbol_type
3748 {
3750 }
3751#endif
3752#if 201103L <= YY_CPLUSPLUS
3753 static
3754 symbol_type
3755 make_COMMENT (location_type l)
3756 {
3757 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3758 }
3759#else
3760 static
3761 symbol_type
3763 {
3765 }
3766#endif
3767#if 201103L <= YY_CPLUSPLUS
3768 static
3769 symbol_type
3770 make_SUBNET (location_type l)
3771 {
3772 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3773 }
3774#else
3775 static
3776 symbol_type
3778 {
3779 return symbol_type (token::TOKEN_SUBNET, l);
3780 }
3781#endif
3782#if 201103L <= YY_CPLUSPLUS
3783 static
3784 symbol_type
3785 make_INTERFACE (location_type l)
3786 {
3787 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3788 }
3789#else
3790 static
3791 symbol_type
3793 {
3795 }
3796#endif
3797#if 201103L <= YY_CPLUSPLUS
3798 static
3799 symbol_type
3800 make_ID (location_type l)
3801 {
3802 return symbol_type (token::TOKEN_ID, std::move (l));
3803 }
3804#else
3805 static
3806 symbol_type
3808 {
3809 return symbol_type (token::TOKEN_ID, l);
3810 }
3811#endif
3812#if 201103L <= YY_CPLUSPLUS
3813 static
3814 symbol_type
3815 make_RESERVATIONS_GLOBAL (location_type l)
3816 {
3817 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3818 }
3819#else
3820 static
3821 symbol_type
3826#endif
3827#if 201103L <= YY_CPLUSPLUS
3828 static
3829 symbol_type
3830 make_RESERVATIONS_IN_SUBNET (location_type l)
3831 {
3832 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3833 }
3834#else
3835 static
3836 symbol_type
3841#endif
3842#if 201103L <= YY_CPLUSPLUS
3843 static
3844 symbol_type
3845 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3846 {
3847 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3848 }
3849#else
3850 static
3851 symbol_type
3856#endif
3857#if 201103L <= YY_CPLUSPLUS
3858 static
3859 symbol_type
3860 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3861 {
3862 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3863 }
3864#else
3865 static
3866 symbol_type
3871#endif
3872#if 201103L <= YY_CPLUSPLUS
3873 static
3874 symbol_type
3875 make_CLIENT_CLASSES (location_type l)
3876 {
3877 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3878 }
3879#else
3880 static
3881 symbol_type
3886#endif
3887#if 201103L <= YY_CPLUSPLUS
3888 static
3889 symbol_type
3890 make_REQUIRE_CLIENT_CLASSES (location_type l)
3891 {
3892 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3893 }
3894#else
3895 static
3896 symbol_type
3901#endif
3902#if 201103L <= YY_CPLUSPLUS
3903 static
3904 symbol_type
3905 make_EVALUATE_ADDITIONAL_CLASSES (location_type l)
3906 {
3907 return symbol_type (token::TOKEN_EVALUATE_ADDITIONAL_CLASSES, std::move (l));
3908 }
3909#else
3910 static
3911 symbol_type
3916#endif
3917#if 201103L <= YY_CPLUSPLUS
3918 static
3919 symbol_type
3920 make_TEST (location_type l)
3921 {
3922 return symbol_type (token::TOKEN_TEST, std::move (l));
3923 }
3924#else
3925 static
3926 symbol_type
3928 {
3929 return symbol_type (token::TOKEN_TEST, l);
3930 }
3931#endif
3932#if 201103L <= YY_CPLUSPLUS
3933 static
3934 symbol_type
3935 make_TEMPLATE_TEST (location_type l)
3936 {
3937 return symbol_type (token::TOKEN_TEMPLATE_TEST, std::move (l));
3938 }
3939#else
3940 static
3941 symbol_type
3946#endif
3947#if 201103L <= YY_CPLUSPLUS
3948 static
3949 symbol_type
3950 make_ONLY_IF_REQUIRED (location_type l)
3951 {
3952 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3953 }
3954#else
3955 static
3956 symbol_type
3961#endif
3962#if 201103L <= YY_CPLUSPLUS
3963 static
3964 symbol_type
3965 make_ONLY_IN_ADDITIONAL_LIST (location_type l)
3966 {
3967 return symbol_type (token::TOKEN_ONLY_IN_ADDITIONAL_LIST, std::move (l));
3968 }
3969#else
3970 static
3971 symbol_type
3976#endif
3977#if 201103L <= YY_CPLUSPLUS
3978 static
3979 symbol_type
3980 make_CLIENT_CLASS (location_type l)
3981 {
3982 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3983 }
3984#else
3985 static
3986 symbol_type
3988 {
3990 }
3991#endif
3992#if 201103L <= YY_CPLUSPLUS
3993 static
3994 symbol_type
3995 make_POOL_ID (location_type l)
3996 {
3997 return symbol_type (token::TOKEN_POOL_ID, std::move (l));
3998 }
3999#else
4000 static
4001 symbol_type
4003 {
4005 }
4006#endif
4007#if 201103L <= YY_CPLUSPLUS
4008 static
4009 symbol_type
4010 make_RESERVATIONS (location_type l)
4011 {
4012 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
4013 }
4014#else
4015 static
4016 symbol_type
4018 {
4020 }
4021#endif
4022#if 201103L <= YY_CPLUSPLUS
4023 static
4024 symbol_type
4025 make_IP_ADDRESS (location_type l)
4026 {
4027 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
4028 }
4029#else
4030 static
4031 symbol_type
4033 {
4035 }
4036#endif
4037#if 201103L <= YY_CPLUSPLUS
4038 static
4039 symbol_type
4040 make_DUID (location_type l)
4041 {
4042 return symbol_type (token::TOKEN_DUID, std::move (l));
4043 }
4044#else
4045 static
4046 symbol_type
4048 {
4049 return symbol_type (token::TOKEN_DUID, l);
4050 }
4051#endif
4052#if 201103L <= YY_CPLUSPLUS
4053 static
4054 symbol_type
4055 make_HW_ADDRESS (location_type l)
4056 {
4057 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
4058 }
4059#else
4060 static
4061 symbol_type
4063 {
4065 }
4066#endif
4067#if 201103L <= YY_CPLUSPLUS
4068 static
4069 symbol_type
4070 make_CIRCUIT_ID (location_type l)
4071 {
4072 return symbol_type (token::TOKEN_CIRCUIT_ID, std::move (l));
4073 }
4074#else
4075 static
4076 symbol_type
4078 {
4080 }
4081#endif
4082#if 201103L <= YY_CPLUSPLUS
4083 static
4084 symbol_type
4085 make_CLIENT_ID (location_type l)
4086 {
4087 return symbol_type (token::TOKEN_CLIENT_ID, std::move (l));
4088 }
4089#else
4090 static
4091 symbol_type
4093 {
4095 }
4096#endif
4097#if 201103L <= YY_CPLUSPLUS
4098 static
4099 symbol_type
4100 make_HOSTNAME (location_type l)
4101 {
4102 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
4103 }
4104#else
4105 static
4106 symbol_type
4108 {
4110 }
4111#endif
4112#if 201103L <= YY_CPLUSPLUS
4113 static
4114 symbol_type
4115 make_FLEX_ID (location_type l)
4116 {
4117 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
4118 }
4119#else
4120 static
4121 symbol_type
4123 {
4125 }
4126#endif
4127#if 201103L <= YY_CPLUSPLUS
4128 static
4129 symbol_type
4130 make_RELAY (location_type l)
4131 {
4132 return symbol_type (token::TOKEN_RELAY, std::move (l));
4133 }
4134#else
4135 static
4136 symbol_type
4138 {
4139 return symbol_type (token::TOKEN_RELAY, l);
4140 }
4141#endif
4142#if 201103L <= YY_CPLUSPLUS
4143 static
4144 symbol_type
4145 make_IP_ADDRESSES (location_type l)
4146 {
4147 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
4148 }
4149#else
4150 static
4151 symbol_type
4153 {
4155 }
4156#endif
4157#if 201103L <= YY_CPLUSPLUS
4158 static
4159 symbol_type
4160 make_HOOKS_LIBRARIES (location_type l)
4161 {
4162 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
4163 }
4164#else
4165 static
4166 symbol_type
4171#endif
4172#if 201103L <= YY_CPLUSPLUS
4173 static
4174 symbol_type
4175 make_LIBRARY (location_type l)
4176 {
4177 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
4178 }
4179#else
4180 static
4181 symbol_type
4183 {
4185 }
4186#endif
4187#if 201103L <= YY_CPLUSPLUS
4188 static
4189 symbol_type
4190 make_PARAMETERS (location_type l)
4191 {
4192 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
4193 }
4194#else
4195 static
4196 symbol_type
4198 {
4200 }
4201#endif
4202#if 201103L <= YY_CPLUSPLUS
4203 static
4204 symbol_type
4205 make_EXPIRED_LEASES_PROCESSING (location_type l)
4206 {
4207 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
4208 }
4209#else
4210 static
4211 symbol_type
4216#endif
4217#if 201103L <= YY_CPLUSPLUS
4218 static
4219 symbol_type
4220 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
4221 {
4222 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
4223 }
4224#else
4225 static
4226 symbol_type
4231#endif
4232#if 201103L <= YY_CPLUSPLUS
4233 static
4234 symbol_type
4235 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
4236 {
4237 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
4238 }
4239#else
4240 static
4241 symbol_type
4246#endif
4247#if 201103L <= YY_CPLUSPLUS
4248 static
4249 symbol_type
4250 make_HOLD_RECLAIMED_TIME (location_type l)
4251 {
4252 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
4253 }
4254#else
4255 static
4256 symbol_type
4261#endif
4262#if 201103L <= YY_CPLUSPLUS
4263 static
4264 symbol_type
4265 make_MAX_RECLAIM_LEASES (location_type l)
4266 {
4267 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
4268 }
4269#else
4270 static
4271 symbol_type
4276#endif
4277#if 201103L <= YY_CPLUSPLUS
4278 static
4279 symbol_type
4280 make_MAX_RECLAIM_TIME (location_type l)
4281 {
4282 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
4283 }
4284#else
4285 static
4286 symbol_type
4291#endif
4292#if 201103L <= YY_CPLUSPLUS
4293 static
4294 symbol_type
4295 make_UNWARNED_RECLAIM_CYCLES (location_type l)
4296 {
4297 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
4298 }
4299#else
4300 static
4301 symbol_type
4306#endif
4307#if 201103L <= YY_CPLUSPLUS
4308 static
4309 symbol_type
4310 make_DHCP4O6_PORT (location_type l)
4311 {
4312 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4313 }
4314#else
4315 static
4316 symbol_type
4318 {
4320 }
4321#endif
4322#if 201103L <= YY_CPLUSPLUS
4323 static
4324 symbol_type
4325 make_DHCP_MULTI_THREADING (location_type l)
4326 {
4327 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4328 }
4329#else
4330 static
4331 symbol_type
4336#endif
4337#if 201103L <= YY_CPLUSPLUS
4338 static
4339 symbol_type
4340 make_ENABLE_MULTI_THREADING (location_type l)
4341 {
4342 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4343 }
4344#else
4345 static
4346 symbol_type
4351#endif
4352#if 201103L <= YY_CPLUSPLUS
4353 static
4354 symbol_type
4355 make_THREAD_POOL_SIZE (location_type l)
4356 {
4357 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4358 }
4359#else
4360 static
4361 symbol_type
4366#endif
4367#if 201103L <= YY_CPLUSPLUS
4368 static
4369 symbol_type
4370 make_PACKET_QUEUE_SIZE (location_type l)
4371 {
4372 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4373 }
4374#else
4375 static
4376 symbol_type
4381#endif
4382#if 201103L <= YY_CPLUSPLUS
4383 static
4384 symbol_type
4385 make_CONTROL_SOCKET (location_type l)
4386 {
4387 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4388 }
4389#else
4390 static
4391 symbol_type
4396#endif
4397#if 201103L <= YY_CPLUSPLUS
4398 static
4399 symbol_type
4400 make_CONTROL_SOCKETS (location_type l)
4401 {
4402 return symbol_type (token::TOKEN_CONTROL_SOCKETS, std::move (l));
4403 }
4404#else
4405 static
4406 symbol_type
4411#endif
4412#if 201103L <= YY_CPLUSPLUS
4413 static
4414 symbol_type
4415 make_SOCKET_TYPE (location_type l)
4416 {
4417 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4418 }
4419#else
4420 static
4421 symbol_type
4423 {
4425 }
4426#endif
4427#if 201103L <= YY_CPLUSPLUS
4428 static
4429 symbol_type
4430 make_UNIX (location_type l)
4431 {
4432 return symbol_type (token::TOKEN_UNIX, std::move (l));
4433 }
4434#else
4435 static
4436 symbol_type
4438 {
4439 return symbol_type (token::TOKEN_UNIX, l);
4440 }
4441#endif
4442#if 201103L <= YY_CPLUSPLUS
4443 static
4444 symbol_type
4445 make_HTTP (location_type l)
4446 {
4447 return symbol_type (token::TOKEN_HTTP, std::move (l));
4448 }
4449#else
4450 static
4451 symbol_type
4453 {
4454 return symbol_type (token::TOKEN_HTTP, l);
4455 }
4456#endif
4457#if 201103L <= YY_CPLUSPLUS
4458 static
4459 symbol_type
4460 make_HTTPS (location_type l)
4461 {
4462 return symbol_type (token::TOKEN_HTTPS, std::move (l));
4463 }
4464#else
4465 static
4466 symbol_type
4468 {
4469 return symbol_type (token::TOKEN_HTTPS, l);
4470 }
4471#endif
4472#if 201103L <= YY_CPLUSPLUS
4473 static
4474 symbol_type
4475 make_SOCKET_NAME (location_type l)
4476 {
4477 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4478 }
4479#else
4480 static
4481 symbol_type
4483 {
4485 }
4486#endif
4487#if 201103L <= YY_CPLUSPLUS
4488 static
4489 symbol_type
4490 make_SOCKET_ADDRESS (location_type l)
4491 {
4492 return symbol_type (token::TOKEN_SOCKET_ADDRESS, std::move (l));
4493 }
4494#else
4495 static
4496 symbol_type
4501#endif
4502#if 201103L <= YY_CPLUSPLUS
4503 static
4504 symbol_type
4505 make_SOCKET_PORT (location_type l)
4506 {
4507 return symbol_type (token::TOKEN_SOCKET_PORT, std::move (l));
4508 }
4509#else
4510 static
4511 symbol_type
4513 {
4515 }
4516#endif
4517#if 201103L <= YY_CPLUSPLUS
4518 static
4519 symbol_type
4520 make_AUTHENTICATION (location_type l)
4521 {
4522 return symbol_type (token::TOKEN_AUTHENTICATION, std::move (l));
4523 }
4524#else
4525 static
4526 symbol_type
4531#endif
4532#if 201103L <= YY_CPLUSPLUS
4533 static
4534 symbol_type
4535 make_BASIC (location_type l)
4536 {
4537 return symbol_type (token::TOKEN_BASIC, std::move (l));
4538 }
4539#else
4540 static
4541 symbol_type
4543 {
4544 return symbol_type (token::TOKEN_BASIC, l);
4545 }
4546#endif
4547#if 201103L <= YY_CPLUSPLUS
4548 static
4549 symbol_type
4550 make_REALM (location_type l)
4551 {
4552 return symbol_type (token::TOKEN_REALM, std::move (l));
4553 }
4554#else
4555 static
4556 symbol_type
4558 {
4559 return symbol_type (token::TOKEN_REALM, l);
4560 }
4561#endif
4562#if 201103L <= YY_CPLUSPLUS
4563 static
4564 symbol_type
4565 make_DIRECTORY (location_type l)
4566 {
4567 return symbol_type (token::TOKEN_DIRECTORY, std::move (l));
4568 }
4569#else
4570 static
4571 symbol_type
4573 {
4575 }
4576#endif
4577#if 201103L <= YY_CPLUSPLUS
4578 static
4579 symbol_type
4580 make_CLIENTS (location_type l)
4581 {
4582 return symbol_type (token::TOKEN_CLIENTS, std::move (l));
4583 }
4584#else
4585 static
4586 symbol_type
4588 {
4590 }
4591#endif
4592#if 201103L <= YY_CPLUSPLUS
4593 static
4594 symbol_type
4595 make_USER_FILE (location_type l)
4596 {
4597 return symbol_type (token::TOKEN_USER_FILE, std::move (l));
4598 }
4599#else
4600 static
4601 symbol_type
4603 {
4605 }
4606#endif
4607#if 201103L <= YY_CPLUSPLUS
4608 static
4609 symbol_type
4610 make_PASSWORD_FILE (location_type l)
4611 {
4612 return symbol_type (token::TOKEN_PASSWORD_FILE, std::move (l));
4613 }
4614#else
4615 static
4616 symbol_type
4621#endif
4622#if 201103L <= YY_CPLUSPLUS
4623 static
4624 symbol_type
4625 make_CERT_REQUIRED (location_type l)
4626 {
4627 return symbol_type (token::TOKEN_CERT_REQUIRED, std::move (l));
4628 }
4629#else
4630 static
4631 symbol_type
4636#endif
4637#if 201103L <= YY_CPLUSPLUS
4638 static
4639 symbol_type
4640 make_HTTP_HEADERS (location_type l)
4641 {
4642 return symbol_type (token::TOKEN_HTTP_HEADERS, std::move (l));
4643 }
4644#else
4645 static
4646 symbol_type
4648 {
4650 }
4651#endif
4652#if 201103L <= YY_CPLUSPLUS
4653 static
4654 symbol_type
4655 make_VALUE (location_type l)
4656 {
4657 return symbol_type (token::TOKEN_VALUE, std::move (l));
4658 }
4659#else
4660 static
4661 symbol_type
4663 {
4664 return symbol_type (token::TOKEN_VALUE, l);
4665 }
4666#endif
4667#if 201103L <= YY_CPLUSPLUS
4668 static
4669 symbol_type
4670 make_DHCP_QUEUE_CONTROL (location_type l)
4671 {
4672 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4673 }
4674#else
4675 static
4676 symbol_type
4681#endif
4682#if 201103L <= YY_CPLUSPLUS
4683 static
4684 symbol_type
4685 make_ENABLE_QUEUE (location_type l)
4686 {
4687 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4688 }
4689#else
4690 static
4691 symbol_type
4693 {
4695 }
4696#endif
4697#if 201103L <= YY_CPLUSPLUS
4698 static
4699 symbol_type
4700 make_QUEUE_TYPE (location_type l)
4701 {
4702 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4703 }
4704#else
4705 static
4706 symbol_type
4708 {
4710 }
4711#endif
4712#if 201103L <= YY_CPLUSPLUS
4713 static
4714 symbol_type
4715 make_CAPACITY (location_type l)
4716 {
4717 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4718 }
4719#else
4720 static
4721 symbol_type
4723 {
4725 }
4726#endif
4727#if 201103L <= YY_CPLUSPLUS
4728 static
4729 symbol_type
4730 make_DHCP_DDNS (location_type l)
4731 {
4732 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4733 }
4734#else
4735 static
4736 symbol_type
4738 {
4740 }
4741#endif
4742#if 201103L <= YY_CPLUSPLUS
4743 static
4744 symbol_type
4745 make_ENABLE_UPDATES (location_type l)
4746 {
4747 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4748 }
4749#else
4750 static
4751 symbol_type
4756#endif
4757#if 201103L <= YY_CPLUSPLUS
4758 static
4759 symbol_type
4760 make_SERVER_IP (location_type l)
4761 {
4762 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4763 }
4764#else
4765 static
4766 symbol_type
4768 {
4770 }
4771#endif
4772#if 201103L <= YY_CPLUSPLUS
4773 static
4774 symbol_type
4775 make_SERVER_PORT (location_type l)
4776 {
4777 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4778 }
4779#else
4780 static
4781 symbol_type
4783 {
4785 }
4786#endif
4787#if 201103L <= YY_CPLUSPLUS
4788 static
4789 symbol_type
4790 make_SENDER_IP (location_type l)
4791 {
4792 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4793 }
4794#else
4795 static
4796 symbol_type
4798 {
4800 }
4801#endif
4802#if 201103L <= YY_CPLUSPLUS
4803 static
4804 symbol_type
4805 make_SENDER_PORT (location_type l)
4806 {
4807 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4808 }
4809#else
4810 static
4811 symbol_type
4813 {
4815 }
4816#endif
4817#if 201103L <= YY_CPLUSPLUS
4818 static
4819 symbol_type
4820 make_MAX_QUEUE_SIZE (location_type l)
4821 {
4822 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4823 }
4824#else
4825 static
4826 symbol_type
4831#endif
4832#if 201103L <= YY_CPLUSPLUS
4833 static
4834 symbol_type
4835 make_NCR_PROTOCOL (location_type l)
4836 {
4837 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4838 }
4839#else
4840 static
4841 symbol_type
4843 {
4845 }
4846#endif
4847#if 201103L <= YY_CPLUSPLUS
4848 static
4849 symbol_type
4850 make_NCR_FORMAT (location_type l)
4851 {
4852 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4853 }
4854#else
4855 static
4856 symbol_type
4858 {
4860 }
4861#endif
4862#if 201103L <= YY_CPLUSPLUS
4863 static
4864 symbol_type
4865 make_TCP (location_type l)
4866 {
4867 return symbol_type (token::TOKEN_TCP, std::move (l));
4868 }
4869#else
4870 static
4871 symbol_type
4873 {
4874 return symbol_type (token::TOKEN_TCP, l);
4875 }
4876#endif
4877#if 201103L <= YY_CPLUSPLUS
4878 static
4879 symbol_type
4880 make_JSON (location_type l)
4881 {
4882 return symbol_type (token::TOKEN_JSON, std::move (l));
4883 }
4884#else
4885 static
4886 symbol_type
4888 {
4889 return symbol_type (token::TOKEN_JSON, l);
4890 }
4891#endif
4892#if 201103L <= YY_CPLUSPLUS
4893 static
4894 symbol_type
4895 make_WHEN_PRESENT (location_type l)
4896 {
4897 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4898 }
4899#else
4900 static
4901 symbol_type
4903 {
4905 }
4906#endif
4907#if 201103L <= YY_CPLUSPLUS
4908 static
4909 symbol_type
4910 make_NEVER (location_type l)
4911 {
4912 return symbol_type (token::TOKEN_NEVER, std::move (l));
4913 }
4914#else
4915 static
4916 symbol_type
4918 {
4919 return symbol_type (token::TOKEN_NEVER, l);
4920 }
4921#endif
4922#if 201103L <= YY_CPLUSPLUS
4923 static
4924 symbol_type
4925 make_ALWAYS (location_type l)
4926 {
4927 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4928 }
4929#else
4930 static
4931 symbol_type
4933 {
4934 return symbol_type (token::TOKEN_ALWAYS, l);
4935 }
4936#endif
4937#if 201103L <= YY_CPLUSPLUS
4938 static
4939 symbol_type
4940 make_WHEN_NOT_PRESENT (location_type l)
4941 {
4942 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4943 }
4944#else
4945 static
4946 symbol_type
4951#endif
4952#if 201103L <= YY_CPLUSPLUS
4953 static
4954 symbol_type
4955 make_HOSTNAME_CHAR_SET (location_type l)
4956 {
4957 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4958 }
4959#else
4960 static
4961 symbol_type
4966#endif
4967#if 201103L <= YY_CPLUSPLUS
4968 static
4969 symbol_type
4970 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4971 {
4972 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4973 }
4974#else
4975 static
4976 symbol_type
4981#endif
4982#if 201103L <= YY_CPLUSPLUS
4983 static
4984 symbol_type
4985 make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
4986 {
4987 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
4988 }
4989#else
4990 static
4991 symbol_type
4996#endif
4997#if 201103L <= YY_CPLUSPLUS
4998 static
4999 symbol_type
5000 make_IP_RESERVATIONS_UNIQUE (location_type l)
5001 {
5002 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
5003 }
5004#else
5005 static
5006 symbol_type
5011#endif
5012#if 201103L <= YY_CPLUSPLUS
5013 static
5014 symbol_type
5015 make_RESERVATIONS_LOOKUP_FIRST (location_type l)
5016 {
5017 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
5018 }
5019#else
5020 static
5021 symbol_type
5026#endif
5027#if 201103L <= YY_CPLUSPLUS
5028 static
5029 symbol_type
5030 make_LOGGERS (location_type l)
5031 {
5032 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
5033 }
5034#else
5035 static
5036 symbol_type
5038 {
5040 }
5041#endif
5042#if 201103L <= YY_CPLUSPLUS
5043 static
5044 symbol_type
5045 make_OUTPUT_OPTIONS (location_type l)
5046 {
5047 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
5048 }
5049#else
5050 static
5051 symbol_type
5056#endif
5057#if 201103L <= YY_CPLUSPLUS
5058 static
5059 symbol_type
5060 make_OUTPUT (location_type l)
5061 {
5062 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
5063 }
5064#else
5065 static
5066 symbol_type
5068 {
5069 return symbol_type (token::TOKEN_OUTPUT, l);
5070 }
5071#endif
5072#if 201103L <= YY_CPLUSPLUS
5073 static
5074 symbol_type
5075 make_DEBUGLEVEL (location_type l)
5076 {
5077 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
5078 }
5079#else
5080 static
5081 symbol_type
5083 {
5085 }
5086#endif
5087#if 201103L <= YY_CPLUSPLUS
5088 static
5089 symbol_type
5090 make_SEVERITY (location_type l)
5091 {
5092 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
5093 }
5094#else
5095 static
5096 symbol_type
5098 {
5100 }
5101#endif
5102#if 201103L <= YY_CPLUSPLUS
5103 static
5104 symbol_type
5105 make_FLUSH (location_type l)
5106 {
5107 return symbol_type (token::TOKEN_FLUSH, std::move (l));
5108 }
5109#else
5110 static
5111 symbol_type
5113 {
5114 return symbol_type (token::TOKEN_FLUSH, l);
5115 }
5116#endif
5117#if 201103L <= YY_CPLUSPLUS
5118 static
5119 symbol_type
5120 make_MAXSIZE (location_type l)
5121 {
5122 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
5123 }
5124#else
5125 static
5126 symbol_type
5128 {
5130 }
5131#endif
5132#if 201103L <= YY_CPLUSPLUS
5133 static
5134 symbol_type
5135 make_MAXVER (location_type l)
5136 {
5137 return symbol_type (token::TOKEN_MAXVER, std::move (l));
5138 }
5139#else
5140 static
5141 symbol_type
5143 {
5144 return symbol_type (token::TOKEN_MAXVER, l);
5145 }
5146#endif
5147#if 201103L <= YY_CPLUSPLUS
5148 static
5149 symbol_type
5150 make_PATTERN (location_type l)
5151 {
5152 return symbol_type (token::TOKEN_PATTERN, std::move (l));
5153 }
5154#else
5155 static
5156 symbol_type
5158 {
5160 }
5161#endif
5162#if 201103L <= YY_CPLUSPLUS
5163 static
5164 symbol_type
5165 make_COMPATIBILITY (location_type l)
5166 {
5167 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
5168 }
5169#else
5170 static
5171 symbol_type
5176#endif
5177#if 201103L <= YY_CPLUSPLUS
5178 static
5179 symbol_type
5180 make_LENIENT_OPTION_PARSING (location_type l)
5181 {
5182 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
5183 }
5184#else
5185 static
5186 symbol_type
5191#endif
5192#if 201103L <= YY_CPLUSPLUS
5193 static
5194 symbol_type
5195 make_IGNORE_DHCP_SERVER_ID (location_type l)
5196 {
5197 return symbol_type (token::TOKEN_IGNORE_DHCP_SERVER_ID, std::move (l));
5198 }
5199#else
5200 static
5201 symbol_type
5206#endif
5207#if 201103L <= YY_CPLUSPLUS
5208 static
5209 symbol_type
5210 make_IGNORE_RAI_LINK_SEL (location_type l)
5211 {
5212 return symbol_type (token::TOKEN_IGNORE_RAI_LINK_SEL, std::move (l));
5213 }
5214#else
5215 static
5216 symbol_type
5221#endif
5222#if 201103L <= YY_CPLUSPLUS
5223 static
5224 symbol_type
5225 make_EXCLUDE_FIRST_LAST_24 (location_type l)
5226 {
5227 return symbol_type (token::TOKEN_EXCLUDE_FIRST_LAST_24, std::move (l));
5228 }
5229#else
5230 static
5231 symbol_type
5236#endif
5237#if 201103L <= YY_CPLUSPLUS
5238 static
5239 symbol_type
5240 make_TOPLEVEL_JSON (location_type l)
5241 {
5242 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
5243 }
5244#else
5245 static
5246 symbol_type
5251#endif
5252#if 201103L <= YY_CPLUSPLUS
5253 static
5254 symbol_type
5255 make_TOPLEVEL_DHCP4 (location_type l)
5256 {
5257 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, std::move (l));
5258 }
5259#else
5260 static
5261 symbol_type
5266#endif
5267#if 201103L <= YY_CPLUSPLUS
5268 static
5269 symbol_type
5270 make_SUB_DHCP4 (location_type l)
5271 {
5272 return symbol_type (token::TOKEN_SUB_DHCP4, std::move (l));
5273 }
5274#else
5275 static
5276 symbol_type
5278 {
5280 }
5281#endif
5282#if 201103L <= YY_CPLUSPLUS
5283 static
5284 symbol_type
5285 make_SUB_INTERFACES4 (location_type l)
5286 {
5287 return symbol_type (token::TOKEN_SUB_INTERFACES4, std::move (l));
5288 }
5289#else
5290 static
5291 symbol_type
5296#endif
5297#if 201103L <= YY_CPLUSPLUS
5298 static
5299 symbol_type
5300 make_SUB_SUBNET4 (location_type l)
5301 {
5302 return symbol_type (token::TOKEN_SUB_SUBNET4, std::move (l));
5303 }
5304#else
5305 static
5306 symbol_type
5308 {
5310 }
5311#endif
5312#if 201103L <= YY_CPLUSPLUS
5313 static
5314 symbol_type
5315 make_SUB_POOL4 (location_type l)
5316 {
5317 return symbol_type (token::TOKEN_SUB_POOL4, std::move (l));
5318 }
5319#else
5320 static
5321 symbol_type
5323 {
5325 }
5326#endif
5327#if 201103L <= YY_CPLUSPLUS
5328 static
5329 symbol_type
5330 make_SUB_RESERVATION (location_type l)
5331 {
5332 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
5333 }
5334#else
5335 static
5336 symbol_type
5341#endif
5342#if 201103L <= YY_CPLUSPLUS
5343 static
5344 symbol_type
5345 make_SUB_OPTION_DEFS (location_type l)
5346 {
5347 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
5348 }
5349#else
5350 static
5351 symbol_type
5356#endif
5357#if 201103L <= YY_CPLUSPLUS
5358 static
5359 symbol_type
5360 make_SUB_OPTION_DEF (location_type l)
5361 {
5362 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
5363 }
5364#else
5365 static
5366 symbol_type
5371#endif
5372#if 201103L <= YY_CPLUSPLUS
5373 static
5374 symbol_type
5375 make_SUB_OPTION_DATA (location_type l)
5376 {
5377 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
5378 }
5379#else
5380 static
5381 symbol_type
5386#endif
5387#if 201103L <= YY_CPLUSPLUS
5388 static
5389 symbol_type
5390 make_SUB_HOOKS_LIBRARY (location_type l)
5391 {
5392 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
5393 }
5394#else
5395 static
5396 symbol_type
5401#endif
5402#if 201103L <= YY_CPLUSPLUS
5403 static
5404 symbol_type
5405 make_SUB_DHCP_DDNS (location_type l)
5406 {
5407 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
5408 }
5409#else
5410 static
5411 symbol_type
5416#endif
5417#if 201103L <= YY_CPLUSPLUS
5418 static
5419 symbol_type
5420 make_SUB_CONFIG_CONTROL (location_type l)
5421 {
5422 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
5423 }
5424#else
5425 static
5426 symbol_type
5431#endif
5432#if 201103L <= YY_CPLUSPLUS
5433 static
5434 symbol_type
5435 make_STRING (std::string v, location_type l)
5436 {
5437 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
5438 }
5439#else
5440 static
5441 symbol_type
5442 make_STRING (const std::string& v, const location_type& l)
5443 {
5444 return symbol_type (token::TOKEN_STRING, v, l);
5445 }
5446#endif
5447#if 201103L <= YY_CPLUSPLUS
5448 static
5449 symbol_type
5450 make_INTEGER (int64_t v, location_type l)
5451 {
5452 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
5453 }
5454#else
5455 static
5456 symbol_type
5457 make_INTEGER (const int64_t& v, const location_type& l)
5458 {
5459 return symbol_type (token::TOKEN_INTEGER, v, l);
5460 }
5461#endif
5462#if 201103L <= YY_CPLUSPLUS
5463 static
5464 symbol_type
5465 make_FLOAT (double v, location_type l)
5466 {
5467 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
5468 }
5469#else
5470 static
5471 symbol_type
5472 make_FLOAT (const double& v, const location_type& l)
5473 {
5474 return symbol_type (token::TOKEN_FLOAT, v, l);
5475 }
5476#endif
5477#if 201103L <= YY_CPLUSPLUS
5478 static
5479 symbol_type
5480 make_BOOLEAN (bool v, location_type l)
5481 {
5482 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
5483 }
5484#else
5485 static
5486 symbol_type
5487 make_BOOLEAN (const bool& v, const location_type& l)
5488 {
5489 return symbol_type (token::TOKEN_BOOLEAN, v, l);
5490 }
5491#endif
5492
5493
5495 {
5496 public:
5497 context (const Dhcp4Parser& yyparser, const symbol_type& yyla);
5498 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
5499 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
5500 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
5501
5505 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
5506
5507 private:
5508 const Dhcp4Parser& yyparser_;
5509 const symbol_type& yyla_;
5510 };
5511
5512 private:
5513#if YY_CPLUSPLUS < 201103L
5515 Dhcp4Parser (const Dhcp4Parser&);
5517 Dhcp4Parser& operator= (const Dhcp4Parser&);
5518#endif
5519
5520
5522 typedef short state_type;
5523
5525 int yy_syntax_error_arguments_ (const context& yyctx,
5526 symbol_kind_type yyarg[], int yyargn) const;
5527
5530 virtual std::string yysyntax_error_ (const context& yyctx) const;
5534 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
5535
5538 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
5539
5542 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
5543
5544 static const short yypact_ninf_;
5545 static const signed char yytable_ninf_;
5546
5550 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
5551
5553 static std::string yytnamerr_ (const char *yystr);
5554
5556 static const char* const yytname_[];
5557
5558
5559 // Tables.
5560 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5561 // STATE-NUM.
5562 static const short yypact_[];
5563
5564 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5565 // Performed when YYTABLE does not specify something else to do. Zero
5566 // means the default is an error.
5567 static const short yydefact_[];
5568
5569 // YYPGOTO[NTERM-NUM].
5570 static const short yypgoto_[];
5571
5572 // YYDEFGOTO[NTERM-NUM].
5573 static const short yydefgoto_[];
5574
5575 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5576 // positive, shift that token. If negative, reduce the rule whose
5577 // number is the opposite. If YYTABLE_NINF, syntax error.
5578 static const short yytable_[];
5579
5580 static const short yycheck_[];
5581
5582 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
5583 // state STATE-NUM.
5584 static const short yystos_[];
5585
5586 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
5587 static const short yyr1_[];
5588
5589 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
5590 static const signed char yyr2_[];
5591
5592
5593#if PARSER4_DEBUG
5594 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5595 static const short yyrline_[];
5597 virtual void yy_reduce_print_ (int r) const;
5599 virtual void yy_stack_print_ () const;
5600
5602 int yydebug_;
5604 std::ostream* yycdebug_;
5605
5609 template <typename Base>
5610 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5611#endif
5612
5617 template <typename Base>
5618 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5619
5620 private:
5622 struct by_state
5623 {
5625 by_state () YY_NOEXCEPT;
5626
5628 typedef state_type kind_type;
5629
5631 by_state (kind_type s) YY_NOEXCEPT;
5632
5634 by_state (const by_state& that) YY_NOEXCEPT;
5635
5637 void clear () YY_NOEXCEPT;
5638
5640 void move (by_state& that);
5641
5644 symbol_kind_type kind () const YY_NOEXCEPT;
5645
5648 enum { empty_state = 0 };
5649
5652 state_type state;
5653 };
5654
5656 struct stack_symbol_type : basic_symbol<by_state>
5657 {
5659 typedef basic_symbol<by_state> super_type;
5661 stack_symbol_type ();
5663 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5665 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5666#if YY_CPLUSPLUS < 201103L
5669 stack_symbol_type& operator= (stack_symbol_type& that);
5670
5673 stack_symbol_type& operator= (const stack_symbol_type& that);
5674#endif
5675 };
5676
5678 template <typename T, typename S = std::vector<T> >
5679 class stack
5680 {
5681 public:
5682 // Hide our reversed order.
5683 typedef typename S::iterator iterator;
5684 typedef typename S::const_iterator const_iterator;
5685 typedef typename S::size_type size_type;
5686 typedef typename std::ptrdiff_t index_type;
5687
5688 stack (size_type n = 200) YY_NOEXCEPT
5689 : seq_ (n)
5690 {}
5691
5692#if 201103L <= YY_CPLUSPLUS
5694 stack (const stack&) = delete;
5696 stack& operator= (const stack&) = delete;
5697#endif
5698
5702 const T&
5703 operator[] (index_type i) const
5704 {
5705 return seq_[size_type (size () - 1 - i)];
5706 }
5707
5711 T&
5712 operator[] (index_type i)
5713 {
5714 return seq_[size_type (size () - 1 - i)];
5715 }
5716
5720 void
5721 push (YY_MOVE_REF (T) t)
5722 {
5723 seq_.push_back (T ());
5724 operator[] (0).move (t);
5725 }
5726
5728 void
5729 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5730 {
5731 for (; 0 < n; --n)
5732 seq_.pop_back ();
5733 }
5734
5736 void
5737 clear () YY_NOEXCEPT
5738 {
5739 seq_.clear ();
5740 }
5741
5743 index_type
5744 size () const YY_NOEXCEPT
5745 {
5746 return index_type (seq_.size ());
5747 }
5748
5750 const_iterator
5751 begin () const YY_NOEXCEPT
5752 {
5753 return seq_.begin ();
5754 }
5755
5757 const_iterator
5758 end () const YY_NOEXCEPT
5759 {
5760 return seq_.end ();
5761 }
5762
5764 class slice
5765 {
5766 public:
5767 slice (const stack& stack, index_type range) YY_NOEXCEPT
5768 : stack_ (stack)
5769 , range_ (range)
5770 {}
5771
5772 const T&
5773 operator[] (index_type i) const
5774 {
5775 return stack_[range_ - i];
5776 }
5777
5778 private:
5779 const stack& stack_;
5780 index_type range_;
5781 };
5782
5783 private:
5784#if YY_CPLUSPLUS < 201103L
5786 stack (const stack&);
5788 stack& operator= (const stack&);
5789#endif
5791 S seq_;
5792 };
5793
5794
5796 typedef stack<stack_symbol_type> stack_type;
5797
5799 stack_type yystack_;
5800
5806 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5807
5814 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5815
5817 void yypop_ (int n = 1) YY_NOEXCEPT;
5818
5820 enum
5821 {
5822 yylast_ = 1699,
5823 yynnts_ = 483,
5824 yyfinal_ = 28
5825 };
5826
5827
5828 // User arguments.
5830
5831 };
5832
5833 inline
5835 Dhcp4Parser::yytranslate_ (int t) YY_NOEXCEPT
5836 {
5837 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
5838 // TOKEN-NUM as returned by yylex.
5839 static
5840 const unsigned char
5841 translate_table[] =
5842 {
5843 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5844 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5845 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5846 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5847 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5848 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5849 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5850 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5851 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5852 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5853 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5854 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5855 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5856 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5857 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5858 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5859 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5860 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5861 2, 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, 1, 2, 3, 4,
5869 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5870 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5871 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5872 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5873 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5874 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5875 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5876 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5877 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5878 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5879 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5880 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5881 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5882 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5883 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5884 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5885 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5886 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5887 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5888 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5889 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
5890 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
5891 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
5892 235, 236, 237, 238, 239
5893 };
5894 // Last valid token kind.
5895 const int code_max = 494;
5896
5897 if (t <= 0)
5898 return symbol_kind::S_YYEOF;
5899 else if (t <= code_max)
5900 return static_cast <symbol_kind_type> (translate_table[t]);
5901 else
5903 }
5904
5905 // basic_symbol.
5906 template <typename Base>
5908 : Base (that)
5909 , value ()
5910 , location (that.location)
5911 {
5912 switch (this->kind ())
5913 {
5914 case symbol_kind::S_value: // value
5915 case symbol_kind::S_map_value: // map_value
5916 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5917 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
5918 case symbol_kind::S_socket_type: // socket_type
5919 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
5920 case symbol_kind::S_on_fail_mode: // on_fail_mode
5921 case symbol_kind::S_ssl_mode: // ssl_mode
5922 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
5923 case symbol_kind::S_auth_type_value: // auth_type_value
5924 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5925 value.copy< ElementPtr > (YY_MOVE (that.value));
5926 break;
5927
5928 case symbol_kind::S_BOOLEAN: // "boolean"
5929 value.copy< bool > (YY_MOVE (that.value));
5930 break;
5931
5932 case symbol_kind::S_FLOAT: // "floating point"
5933 value.copy< double > (YY_MOVE (that.value));
5934 break;
5935
5936 case symbol_kind::S_INTEGER: // "integer"
5937 value.copy< int64_t > (YY_MOVE (that.value));
5938 break;
5939
5940 case symbol_kind::S_STRING: // "constant string"
5941 value.copy< std::string > (YY_MOVE (that.value));
5942 break;
5943
5944 default:
5945 break;
5946 }
5947
5948 }
5949
5950
5951
5952
5953 template <typename Base>
5956 {
5957 return this->kind ();
5958 }
5959
5960
5961 template <typename Base>
5962 bool
5964 {
5965 return this->kind () == symbol_kind::S_YYEMPTY;
5966 }
5967
5968 template <typename Base>
5969 void
5971 {
5972 super_type::move (s);
5973 switch (this->kind ())
5974 {
5975 case symbol_kind::S_value: // value
5976 case symbol_kind::S_map_value: // map_value
5977 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5978 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
5979 case symbol_kind::S_socket_type: // socket_type
5980 case symbol_kind::S_outbound_interface_value: // outbound_interface_value
5981 case symbol_kind::S_on_fail_mode: // on_fail_mode
5982 case symbol_kind::S_ssl_mode: // ssl_mode
5983 case symbol_kind::S_control_socket_type_value: // control_socket_type_value
5984 case symbol_kind::S_auth_type_value: // auth_type_value
5985 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5986 value.move< ElementPtr > (YY_MOVE (s.value));
5987 break;
5988
5989 case symbol_kind::S_BOOLEAN: // "boolean"
5990 value.move< bool > (YY_MOVE (s.value));
5991 break;
5992
5993 case symbol_kind::S_FLOAT: // "floating point"
5994 value.move< double > (YY_MOVE (s.value));
5995 break;
5996
5997 case symbol_kind::S_INTEGER: // "integer"
5998 value.move< int64_t > (YY_MOVE (s.value));
5999 break;
6000
6001 case symbol_kind::S_STRING: // "constant string"
6002 value.move< std::string > (YY_MOVE (s.value));
6003 break;
6004
6005 default:
6006 break;
6007 }
6008
6010 }
6011
6012 // by_kind.
6013 inline
6017
6018#if 201103L <= YY_CPLUSPLUS
6019 inline
6021 : kind_ (that.kind_)
6022 {
6023 that.clear ();
6024 }
6025#endif
6026
6027 inline
6029 : kind_ (that.kind_)
6030 {}
6031
6032 inline
6036
6037
6038
6039 inline
6040 void
6045
6046 inline
6047 void
6049 {
6050 kind_ = that.kind_;
6051 that.clear ();
6052 }
6053
6054 inline
6057 {
6058 return kind_;
6059 }
6060
6061
6062 inline
6065 {
6066 return this->kind ();
6067 }
6068
6069
6070#line 14 "dhcp4_parser.yy"
6071} } // isc::dhcp
6072#line 6073 "dhcp4_parser.h"
6073
6074
6075
6076
6077#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_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).