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