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