Kea 2.2.0
dhcp6_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_PARSER6_DHCP6_PARSER_H_INCLUDED
46# define YY_PARSER6_DHCP6_PARSER_H_INCLUDED
47// "%code requires" blocks.
48#line 17 "dhcp6_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 "dhcp6_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 PARSER6__ASSERT
108# include <cassert>
109# define PARSER6__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 PARSER6_DEBUG
196# if defined YYDEBUG
197#if YYDEBUG
198# define PARSER6_DEBUG 1
199# else
200# define PARSER6_DEBUG 0
201# endif
202# else /* ! defined YYDEBUG */
203# define PARSER6_DEBUG 1
204# endif /* ! defined YYDEBUG */
205#endif /* ! defined PARSER6_DEBUG */
206
207#line 14 "dhcp6_parser.yy"
208namespace isc { namespace dhcp {
209#line 210 "dhcp6_parser.h"
210
211
212
213
216 {
217 public:
218#ifdef PARSER6_STYPE
219# ifdef __GNUC__
220# pragma GCC message "bison: do not #define PARSER6_STYPE in C++, use %define api.value.type"
221# endif
222 typedef PARSER6_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 PARSER6__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 PARSER6__ASSERT (!yytypeid_);
261 }
262
263# if 201103L <= YY_CPLUSPLUS
265 template <typename T, typename... U>
266 T&
267 emplace (U&&... u)
268 {
269 PARSER6__ASSERT (!yytypeid_);
270 PARSER6__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 PARSER6__ASSERT (!yytypeid_);
281 PARSER6__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 PARSER6__ASSERT (!yytypeid_);
292 PARSER6__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 PARSER6__ASSERT (yytypeid_);
322 PARSER6__ASSERT (*yytypeid_ == typeid (T));
323 PARSER6__ASSERT (sizeof (T) <= size);
324 return *yyas_<T> ();
325 }
326
328 template <typename T>
329 const T&
331 {
332 PARSER6__ASSERT (yytypeid_);
333 PARSER6__ASSERT (*yytypeid_ == typeid (T));
334 PARSER6__ASSERT (sizeof (T) <= size);
335 return *yyas_<T> ();
336 }
337
346 template <typename T>
347 void
349 {
350 PARSER6__ASSERT (yytypeid_);
351 PARSER6__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 // db_type
432 // on_fail_mode
433 // hr_mode
434 // duid_type
435 // ncr_protocol_value
436 char dummy1[sizeof (ElementPtr)];
437
438 // "boolean"
439 char dummy2[sizeof (bool)];
440
441 // "floating point"
442 char dummy3[sizeof (double)];
443
444 // "integer"
445 char dummy4[sizeof (int64_t)];
446
447 // "constant string"
448 char dummy5[sizeof (std::string)];
449 };
450
452 enum { size = sizeof (union_type) };
453
455 union
456 {
458 long double yyalign_me_;
460 char yyraw_[size];
461 };
462
464 const std::type_info *yytypeid_;
465 };
466
467#endif
470
472 typedef location location_type;
473
475 struct syntax_error : std::runtime_error
476 {
477 syntax_error (const location_type& l, const std::string& m)
478 : std::runtime_error (m)
479 , location (l)
480 {}
481
483 : std::runtime_error (s.what ())
484 , location (s.location)
485 {}
486
488
490 };
491
493 struct token
494 {
496 {
497 TOKEN_PARSER6_EMPTY = -2,
498 TOKEN_END = 0, // "end of file"
499 TOKEN_PARSER6_error = 256, // error
500 TOKEN_PARSER6_UNDEF = 257, // "invalid token"
501 TOKEN_COMMA = 258, // ","
502 TOKEN_COLON = 259, // ":"
503 TOKEN_LSQUARE_BRACKET = 260, // "["
504 TOKEN_RSQUARE_BRACKET = 261, // "]"
505 TOKEN_LCURLY_BRACKET = 262, // "{"
506 TOKEN_RCURLY_BRACKET = 263, // "}"
507 TOKEN_NULL_TYPE = 264, // "null"
508 TOKEN_DHCP6 = 265, // "Dhcp6"
509 TOKEN_DATA_DIRECTORY = 266, // "data-directory"
510 TOKEN_CONFIG_CONTROL = 267, // "config-control"
511 TOKEN_CONFIG_DATABASES = 268, // "config-databases"
512 TOKEN_CONFIG_FETCH_WAIT_TIME = 269, // "config-fetch-wait-time"
513 TOKEN_INTERFACES_CONFIG = 270, // "interfaces-config"
514 TOKEN_INTERFACES = 271, // "interfaces"
515 TOKEN_RE_DETECT = 272, // "re-detect"
516 TOKEN_SERVICE_SOCKETS_REQUIRE_ALL = 273, // "service-sockets-require-all"
517 TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME = 274, // "service-sockets-retry-wait-time"
518 TOKEN_SERVICE_SOCKETS_MAX_RETRIES = 275, // "service-sockets-max-retries"
519 TOKEN_LEASE_DATABASE = 276, // "lease-database"
520 TOKEN_HOSTS_DATABASE = 277, // "hosts-database"
521 TOKEN_HOSTS_DATABASES = 278, // "hosts-databases"
522 TOKEN_TYPE = 279, // "type"
523 TOKEN_MEMFILE = 280, // "memfile"
524 TOKEN_MYSQL = 281, // "mysql"
525 TOKEN_POSTGRESQL = 282, // "postgresql"
526 TOKEN_USER = 283, // "user"
527 TOKEN_PASSWORD = 284, // "password"
528 TOKEN_HOST = 285, // "host"
529 TOKEN_PORT = 286, // "port"
530 TOKEN_PERSIST = 287, // "persist"
531 TOKEN_LFC_INTERVAL = 288, // "lfc-interval"
532 TOKEN_READONLY = 289, // "readonly"
533 TOKEN_CONNECT_TIMEOUT = 290, // "connect-timeout"
534 TOKEN_MAX_RECONNECT_TRIES = 291, // "max-reconnect-tries"
535 TOKEN_RECONNECT_WAIT_TIME = 292, // "reconnect-wait-time"
536 TOKEN_ON_FAIL = 293, // "on-fail"
537 TOKEN_STOP_RETRY_EXIT = 294, // "stop-retry-exit"
538 TOKEN_SERVE_RETRY_EXIT = 295, // "serve-retry-exit"
539 TOKEN_SERVE_RETRY_CONTINUE = 296, // "serve-retry-continue"
540 TOKEN_MAX_ROW_ERRORS = 297, // "max-row-errors"
541 TOKEN_TRUST_ANCHOR = 298, // "trust-anchor"
542 TOKEN_CERT_FILE = 299, // "cert-file"
543 TOKEN_KEY_FILE = 300, // "key-file"
544 TOKEN_CIPHER_LIST = 301, // "cipher-list"
545 TOKEN_PREFERRED_LIFETIME = 302, // "preferred-lifetime"
546 TOKEN_MIN_PREFERRED_LIFETIME = 303, // "min-preferred-lifetime"
547 TOKEN_MAX_PREFERRED_LIFETIME = 304, // "max-preferred-lifetime"
548 TOKEN_VALID_LIFETIME = 305, // "valid-lifetime"
549 TOKEN_MIN_VALID_LIFETIME = 306, // "min-valid-lifetime"
550 TOKEN_MAX_VALID_LIFETIME = 307, // "max-valid-lifetime"
551 TOKEN_RENEW_TIMER = 308, // "renew-timer"
552 TOKEN_REBIND_TIMER = 309, // "rebind-timer"
553 TOKEN_CALCULATE_TEE_TIMES = 310, // "calculate-tee-times"
554 TOKEN_T1_PERCENT = 311, // "t1-percent"
555 TOKEN_T2_PERCENT = 312, // "t2-percent"
556 TOKEN_CACHE_THRESHOLD = 313, // "cache-threshold"
557 TOKEN_CACHE_MAX_AGE = 314, // "cache-max-age"
558 TOKEN_DECLINE_PROBATION_PERIOD = 315, // "decline-probation-period"
559 TOKEN_SERVER_TAG = 316, // "server-tag"
560 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 317, // "statistic-default-sample-count"
561 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 318, // "statistic-default-sample-age"
562 TOKEN_DDNS_SEND_UPDATES = 319, // "ddns-send-updates"
563 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 320, // "ddns-override-no-update"
564 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 321, // "ddns-override-client-update"
565 TOKEN_DDNS_REPLACE_CLIENT_NAME = 322, // "ddns-replace-client-name"
566 TOKEN_DDNS_GENERATED_PREFIX = 323, // "ddns-generated-prefix"
567 TOKEN_DDNS_QUALIFYING_SUFFIX = 324, // "ddns-qualifying-suffix"
568 TOKEN_DDNS_UPDATE_ON_RENEW = 325, // "ddns-update-on-renew"
569 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 326, // "ddns-use-conflict-resolution"
570 TOKEN_STORE_EXTENDED_INFO = 327, // "store-extended-info"
571 TOKEN_SUBNET6 = 328, // "subnet6"
572 TOKEN_OPTION_DEF = 329, // "option-def"
573 TOKEN_OPTION_DATA = 330, // "option-data"
574 TOKEN_NAME = 331, // "name"
575 TOKEN_DATA = 332, // "data"
576 TOKEN_CODE = 333, // "code"
577 TOKEN_SPACE = 334, // "space"
578 TOKEN_CSV_FORMAT = 335, // "csv-format"
579 TOKEN_ALWAYS_SEND = 336, // "always-send"
580 TOKEN_RECORD_TYPES = 337, // "record-types"
581 TOKEN_ENCAPSULATE = 338, // "encapsulate"
582 TOKEN_ARRAY = 339, // "array"
583 TOKEN_PARKED_PACKET_LIMIT = 340, // "parked-packet-limit"
584 TOKEN_SHARED_NETWORKS = 341, // "shared-networks"
585 TOKEN_POOLS = 342, // "pools"
586 TOKEN_POOL = 343, // "pool"
587 TOKEN_PD_POOLS = 344, // "pd-pools"
588 TOKEN_PREFIX = 345, // "prefix"
589 TOKEN_PREFIX_LEN = 346, // "prefix-len"
590 TOKEN_EXCLUDED_PREFIX = 347, // "excluded-prefix"
591 TOKEN_EXCLUDED_PREFIX_LEN = 348, // "excluded-prefix-len"
592 TOKEN_DELEGATED_LEN = 349, // "delegated-len"
593 TOKEN_USER_CONTEXT = 350, // "user-context"
594 TOKEN_COMMENT = 351, // "comment"
595 TOKEN_SUBNET = 352, // "subnet"
596 TOKEN_INTERFACE = 353, // "interface"
597 TOKEN_INTERFACE_ID = 354, // "interface-id"
598 TOKEN_ID = 355, // "id"
599 TOKEN_RAPID_COMMIT = 356, // "rapid-commit"
600 TOKEN_RESERVATION_MODE = 357, // "reservation-mode"
601 TOKEN_DISABLED = 358, // "disabled"
602 TOKEN_OUT_OF_POOL = 359, // "out-of-pool"
603 TOKEN_GLOBAL = 360, // "global"
604 TOKEN_ALL = 361, // "all"
605 TOKEN_RESERVATIONS_GLOBAL = 362, // "reservations-global"
606 TOKEN_RESERVATIONS_IN_SUBNET = 363, // "reservations-in-subnet"
607 TOKEN_RESERVATIONS_OUT_OF_POOL = 364, // "reservations-out-of-pool"
608 TOKEN_MAC_SOURCES = 365, // "mac-sources"
609 TOKEN_RELAY_SUPPLIED_OPTIONS = 366, // "relay-supplied-options"
610 TOKEN_HOST_RESERVATION_IDENTIFIERS = 367, // "host-reservation-identifiers"
611 TOKEN_SANITY_CHECKS = 368, // "sanity-checks"
612 TOKEN_LEASE_CHECKS = 369, // "lease-checks"
613 TOKEN_CLIENT_CLASSES = 370, // "client-classes"
614 TOKEN_REQUIRE_CLIENT_CLASSES = 371, // "require-client-classes"
615 TOKEN_TEST = 372, // "test"
616 TOKEN_ONLY_IF_REQUIRED = 373, // "only-if-required"
617 TOKEN_CLIENT_CLASS = 374, // "client-class"
618 TOKEN_RESERVATIONS = 375, // "reservations"
619 TOKEN_IP_ADDRESSES = 376, // "ip-addresses"
620 TOKEN_PREFIXES = 377, // "prefixes"
621 TOKEN_DUID = 378, // "duid"
622 TOKEN_HW_ADDRESS = 379, // "hw-address"
623 TOKEN_HOSTNAME = 380, // "hostname"
624 TOKEN_FLEX_ID = 381, // "flex-id"
625 TOKEN_RELAY = 382, // "relay"
626 TOKEN_IP_ADDRESS = 383, // "ip-address"
627 TOKEN_HOOKS_LIBRARIES = 384, // "hooks-libraries"
628 TOKEN_LIBRARY = 385, // "library"
629 TOKEN_PARAMETERS = 386, // "parameters"
630 TOKEN_EXPIRED_LEASES_PROCESSING = 387, // "expired-leases-processing"
631 TOKEN_RECLAIM_TIMER_WAIT_TIME = 388, // "reclaim-timer-wait-time"
632 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 389, // "flush-reclaimed-timer-wait-time"
633 TOKEN_HOLD_RECLAIMED_TIME = 390, // "hold-reclaimed-time"
634 TOKEN_MAX_RECLAIM_LEASES = 391, // "max-reclaim-leases"
635 TOKEN_MAX_RECLAIM_TIME = 392, // "max-reclaim-time"
636 TOKEN_UNWARNED_RECLAIM_CYCLES = 393, // "unwarned-reclaim-cycles"
637 TOKEN_SERVER_ID = 394, // "server-id"
638 TOKEN_LLT = 395, // "LLT"
639 TOKEN_EN = 396, // "EN"
640 TOKEN_LL = 397, // "LL"
641 TOKEN_IDENTIFIER = 398, // "identifier"
642 TOKEN_HTYPE = 399, // "htype"
643 TOKEN_TIME = 400, // "time"
644 TOKEN_ENTERPRISE_ID = 401, // "enterprise-id"
645 TOKEN_DHCP4O6_PORT = 402, // "dhcp4o6-port"
646 TOKEN_DHCP_MULTI_THREADING = 403, // "multi-threading"
647 TOKEN_ENABLE_MULTI_THREADING = 404, // "enable-multi-threading"
648 TOKEN_THREAD_POOL_SIZE = 405, // "thread-pool-size"
649 TOKEN_PACKET_QUEUE_SIZE = 406, // "packet-queue-size"
650 TOKEN_CONTROL_SOCKET = 407, // "control-socket"
651 TOKEN_SOCKET_TYPE = 408, // "socket-type"
652 TOKEN_SOCKET_NAME = 409, // "socket-name"
653 TOKEN_DHCP_QUEUE_CONTROL = 410, // "dhcp-queue-control"
654 TOKEN_ENABLE_QUEUE = 411, // "enable-queue"
655 TOKEN_QUEUE_TYPE = 412, // "queue-type"
656 TOKEN_CAPACITY = 413, // "capacity"
657 TOKEN_DHCP_DDNS = 414, // "dhcp-ddns"
658 TOKEN_ENABLE_UPDATES = 415, // "enable-updates"
659 TOKEN_QUALIFYING_SUFFIX = 416, // "qualifying-suffix"
660 TOKEN_SERVER_IP = 417, // "server-ip"
661 TOKEN_SERVER_PORT = 418, // "server-port"
662 TOKEN_SENDER_IP = 419, // "sender-ip"
663 TOKEN_SENDER_PORT = 420, // "sender-port"
664 TOKEN_MAX_QUEUE_SIZE = 421, // "max-queue-size"
665 TOKEN_NCR_PROTOCOL = 422, // "ncr-protocol"
666 TOKEN_NCR_FORMAT = 423, // "ncr-format"
667 TOKEN_OVERRIDE_NO_UPDATE = 424, // "override-no-update"
668 TOKEN_OVERRIDE_CLIENT_UPDATE = 425, // "override-client-update"
669 TOKEN_REPLACE_CLIENT_NAME = 426, // "replace-client-name"
670 TOKEN_GENERATED_PREFIX = 427, // "generated-prefix"
671 TOKEN_UDP = 428, // "UDP"
672 TOKEN_TCP = 429, // "TCP"
673 TOKEN_JSON = 430, // "JSON"
674 TOKEN_WHEN_PRESENT = 431, // "when-present"
675 TOKEN_NEVER = 432, // "never"
676 TOKEN_ALWAYS = 433, // "always"
677 TOKEN_WHEN_NOT_PRESENT = 434, // "when-not-present"
678 TOKEN_HOSTNAME_CHAR_SET = 435, // "hostname-char-set"
679 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 436, // "hostname-char-replacement"
680 TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 437, // "early-global-reservations-lookup"
681 TOKEN_IP_RESERVATIONS_UNIQUE = 438, // "ip-reservations-unique"
682 TOKEN_RESERVATIONS_LOOKUP_FIRST = 439, // "reservations-lookup-first"
683 TOKEN_LOGGERS = 440, // "loggers"
684 TOKEN_OUTPUT_OPTIONS = 441, // "output_options"
685 TOKEN_OUTPUT = 442, // "output"
686 TOKEN_DEBUGLEVEL = 443, // "debuglevel"
687 TOKEN_SEVERITY = 444, // "severity"
688 TOKEN_FLUSH = 445, // "flush"
689 TOKEN_MAXSIZE = 446, // "maxsize"
690 TOKEN_MAXVER = 447, // "maxver"
691 TOKEN_PATTERN = 448, // "pattern"
692 TOKEN_COMPATIBILITY = 449, // "compatibility"
693 TOKEN_LENIENT_OPTION_PARSING = 450, // "lenient-option-parsing"
694 TOKEN_TOPLEVEL_JSON = 451, // TOPLEVEL_JSON
695 TOKEN_TOPLEVEL_DHCP6 = 452, // TOPLEVEL_DHCP6
696 TOKEN_SUB_DHCP6 = 453, // SUB_DHCP6
697 TOKEN_SUB_INTERFACES6 = 454, // SUB_INTERFACES6
698 TOKEN_SUB_SUBNET6 = 455, // SUB_SUBNET6
699 TOKEN_SUB_POOL6 = 456, // SUB_POOL6
700 TOKEN_SUB_PD_POOL = 457, // SUB_PD_POOL
701 TOKEN_SUB_RESERVATION = 458, // SUB_RESERVATION
702 TOKEN_SUB_OPTION_DEFS = 459, // SUB_OPTION_DEFS
703 TOKEN_SUB_OPTION_DEF = 460, // SUB_OPTION_DEF
704 TOKEN_SUB_OPTION_DATA = 461, // SUB_OPTION_DATA
705 TOKEN_SUB_HOOKS_LIBRARY = 462, // SUB_HOOKS_LIBRARY
706 TOKEN_SUB_DHCP_DDNS = 463, // SUB_DHCP_DDNS
707 TOKEN_SUB_CONFIG_CONTROL = 464, // SUB_CONFIG_CONTROL
708 TOKEN_STRING = 465, // "constant string"
709 TOKEN_INTEGER = 466, // "integer"
710 TOKEN_FLOAT = 467, // "floating point"
711 TOKEN_BOOLEAN = 468 // "boolean"
712 };
715 };
716
719
722
725 {
727 {
728 YYNTOKENS = 214,
729 S_YYEMPTY = -2,
730 S_YYEOF = 0, // "end of file"
731 S_YYerror = 1, // error
732 S_YYUNDEF = 2, // "invalid token"
733 S_COMMA = 3, // ","
734 S_COLON = 4, // ":"
735 S_LSQUARE_BRACKET = 5, // "["
736 S_RSQUARE_BRACKET = 6, // "]"
737 S_LCURLY_BRACKET = 7, // "{"
738 S_RCURLY_BRACKET = 8, // "}"
739 S_NULL_TYPE = 9, // "null"
740 S_DHCP6 = 10, // "Dhcp6"
741 S_DATA_DIRECTORY = 11, // "data-directory"
742 S_CONFIG_CONTROL = 12, // "config-control"
743 S_CONFIG_DATABASES = 13, // "config-databases"
744 S_CONFIG_FETCH_WAIT_TIME = 14, // "config-fetch-wait-time"
745 S_INTERFACES_CONFIG = 15, // "interfaces-config"
746 S_INTERFACES = 16, // "interfaces"
747 S_RE_DETECT = 17, // "re-detect"
748 S_SERVICE_SOCKETS_REQUIRE_ALL = 18, // "service-sockets-require-all"
749 S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 19, // "service-sockets-retry-wait-time"
750 S_SERVICE_SOCKETS_MAX_RETRIES = 20, // "service-sockets-max-retries"
751 S_LEASE_DATABASE = 21, // "lease-database"
752 S_HOSTS_DATABASE = 22, // "hosts-database"
753 S_HOSTS_DATABASES = 23, // "hosts-databases"
754 S_TYPE = 24, // "type"
755 S_MEMFILE = 25, // "memfile"
756 S_MYSQL = 26, // "mysql"
757 S_POSTGRESQL = 27, // "postgresql"
758 S_USER = 28, // "user"
759 S_PASSWORD = 29, // "password"
760 S_HOST = 30, // "host"
761 S_PORT = 31, // "port"
762 S_PERSIST = 32, // "persist"
763 S_LFC_INTERVAL = 33, // "lfc-interval"
764 S_READONLY = 34, // "readonly"
765 S_CONNECT_TIMEOUT = 35, // "connect-timeout"
766 S_MAX_RECONNECT_TRIES = 36, // "max-reconnect-tries"
767 S_RECONNECT_WAIT_TIME = 37, // "reconnect-wait-time"
768 S_ON_FAIL = 38, // "on-fail"
769 S_STOP_RETRY_EXIT = 39, // "stop-retry-exit"
770 S_SERVE_RETRY_EXIT = 40, // "serve-retry-exit"
771 S_SERVE_RETRY_CONTINUE = 41, // "serve-retry-continue"
772 S_MAX_ROW_ERRORS = 42, // "max-row-errors"
773 S_TRUST_ANCHOR = 43, // "trust-anchor"
774 S_CERT_FILE = 44, // "cert-file"
775 S_KEY_FILE = 45, // "key-file"
776 S_CIPHER_LIST = 46, // "cipher-list"
777 S_PREFERRED_LIFETIME = 47, // "preferred-lifetime"
778 S_MIN_PREFERRED_LIFETIME = 48, // "min-preferred-lifetime"
779 S_MAX_PREFERRED_LIFETIME = 49, // "max-preferred-lifetime"
780 S_VALID_LIFETIME = 50, // "valid-lifetime"
781 S_MIN_VALID_LIFETIME = 51, // "min-valid-lifetime"
782 S_MAX_VALID_LIFETIME = 52, // "max-valid-lifetime"
783 S_RENEW_TIMER = 53, // "renew-timer"
784 S_REBIND_TIMER = 54, // "rebind-timer"
785 S_CALCULATE_TEE_TIMES = 55, // "calculate-tee-times"
786 S_T1_PERCENT = 56, // "t1-percent"
787 S_T2_PERCENT = 57, // "t2-percent"
788 S_CACHE_THRESHOLD = 58, // "cache-threshold"
789 S_CACHE_MAX_AGE = 59, // "cache-max-age"
790 S_DECLINE_PROBATION_PERIOD = 60, // "decline-probation-period"
791 S_SERVER_TAG = 61, // "server-tag"
792 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 62, // "statistic-default-sample-count"
793 S_STATISTIC_DEFAULT_SAMPLE_AGE = 63, // "statistic-default-sample-age"
794 S_DDNS_SEND_UPDATES = 64, // "ddns-send-updates"
795 S_DDNS_OVERRIDE_NO_UPDATE = 65, // "ddns-override-no-update"
796 S_DDNS_OVERRIDE_CLIENT_UPDATE = 66, // "ddns-override-client-update"
797 S_DDNS_REPLACE_CLIENT_NAME = 67, // "ddns-replace-client-name"
798 S_DDNS_GENERATED_PREFIX = 68, // "ddns-generated-prefix"
799 S_DDNS_QUALIFYING_SUFFIX = 69, // "ddns-qualifying-suffix"
800 S_DDNS_UPDATE_ON_RENEW = 70, // "ddns-update-on-renew"
801 S_DDNS_USE_CONFLICT_RESOLUTION = 71, // "ddns-use-conflict-resolution"
802 S_STORE_EXTENDED_INFO = 72, // "store-extended-info"
803 S_SUBNET6 = 73, // "subnet6"
804 S_OPTION_DEF = 74, // "option-def"
805 S_OPTION_DATA = 75, // "option-data"
806 S_NAME = 76, // "name"
807 S_DATA = 77, // "data"
808 S_CODE = 78, // "code"
809 S_SPACE = 79, // "space"
810 S_CSV_FORMAT = 80, // "csv-format"
811 S_ALWAYS_SEND = 81, // "always-send"
812 S_RECORD_TYPES = 82, // "record-types"
813 S_ENCAPSULATE = 83, // "encapsulate"
814 S_ARRAY = 84, // "array"
815 S_PARKED_PACKET_LIMIT = 85, // "parked-packet-limit"
816 S_SHARED_NETWORKS = 86, // "shared-networks"
817 S_POOLS = 87, // "pools"
818 S_POOL = 88, // "pool"
819 S_PD_POOLS = 89, // "pd-pools"
820 S_PREFIX = 90, // "prefix"
821 S_PREFIX_LEN = 91, // "prefix-len"
822 S_EXCLUDED_PREFIX = 92, // "excluded-prefix"
823 S_EXCLUDED_PREFIX_LEN = 93, // "excluded-prefix-len"
824 S_DELEGATED_LEN = 94, // "delegated-len"
825 S_USER_CONTEXT = 95, // "user-context"
826 S_COMMENT = 96, // "comment"
827 S_SUBNET = 97, // "subnet"
828 S_INTERFACE = 98, // "interface"
829 S_INTERFACE_ID = 99, // "interface-id"
830 S_ID = 100, // "id"
831 S_RAPID_COMMIT = 101, // "rapid-commit"
832 S_RESERVATION_MODE = 102, // "reservation-mode"
833 S_DISABLED = 103, // "disabled"
834 S_OUT_OF_POOL = 104, // "out-of-pool"
835 S_GLOBAL = 105, // "global"
836 S_ALL = 106, // "all"
837 S_RESERVATIONS_GLOBAL = 107, // "reservations-global"
838 S_RESERVATIONS_IN_SUBNET = 108, // "reservations-in-subnet"
839 S_RESERVATIONS_OUT_OF_POOL = 109, // "reservations-out-of-pool"
840 S_MAC_SOURCES = 110, // "mac-sources"
841 S_RELAY_SUPPLIED_OPTIONS = 111, // "relay-supplied-options"
842 S_HOST_RESERVATION_IDENTIFIERS = 112, // "host-reservation-identifiers"
843 S_SANITY_CHECKS = 113, // "sanity-checks"
844 S_LEASE_CHECKS = 114, // "lease-checks"
845 S_CLIENT_CLASSES = 115, // "client-classes"
846 S_REQUIRE_CLIENT_CLASSES = 116, // "require-client-classes"
847 S_TEST = 117, // "test"
848 S_ONLY_IF_REQUIRED = 118, // "only-if-required"
849 S_CLIENT_CLASS = 119, // "client-class"
850 S_RESERVATIONS = 120, // "reservations"
851 S_IP_ADDRESSES = 121, // "ip-addresses"
852 S_PREFIXES = 122, // "prefixes"
853 S_DUID = 123, // "duid"
854 S_HW_ADDRESS = 124, // "hw-address"
855 S_HOSTNAME = 125, // "hostname"
856 S_FLEX_ID = 126, // "flex-id"
857 S_RELAY = 127, // "relay"
858 S_IP_ADDRESS = 128, // "ip-address"
859 S_HOOKS_LIBRARIES = 129, // "hooks-libraries"
860 S_LIBRARY = 130, // "library"
861 S_PARAMETERS = 131, // "parameters"
862 S_EXPIRED_LEASES_PROCESSING = 132, // "expired-leases-processing"
863 S_RECLAIM_TIMER_WAIT_TIME = 133, // "reclaim-timer-wait-time"
864 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 134, // "flush-reclaimed-timer-wait-time"
865 S_HOLD_RECLAIMED_TIME = 135, // "hold-reclaimed-time"
866 S_MAX_RECLAIM_LEASES = 136, // "max-reclaim-leases"
867 S_MAX_RECLAIM_TIME = 137, // "max-reclaim-time"
868 S_UNWARNED_RECLAIM_CYCLES = 138, // "unwarned-reclaim-cycles"
869 S_SERVER_ID = 139, // "server-id"
870 S_LLT = 140, // "LLT"
871 S_EN = 141, // "EN"
872 S_LL = 142, // "LL"
873 S_IDENTIFIER = 143, // "identifier"
874 S_HTYPE = 144, // "htype"
875 S_TIME = 145, // "time"
876 S_ENTERPRISE_ID = 146, // "enterprise-id"
877 S_DHCP4O6_PORT = 147, // "dhcp4o6-port"
878 S_DHCP_MULTI_THREADING = 148, // "multi-threading"
879 S_ENABLE_MULTI_THREADING = 149, // "enable-multi-threading"
880 S_THREAD_POOL_SIZE = 150, // "thread-pool-size"
881 S_PACKET_QUEUE_SIZE = 151, // "packet-queue-size"
882 S_CONTROL_SOCKET = 152, // "control-socket"
883 S_SOCKET_TYPE = 153, // "socket-type"
884 S_SOCKET_NAME = 154, // "socket-name"
885 S_DHCP_QUEUE_CONTROL = 155, // "dhcp-queue-control"
886 S_ENABLE_QUEUE = 156, // "enable-queue"
887 S_QUEUE_TYPE = 157, // "queue-type"
888 S_CAPACITY = 158, // "capacity"
889 S_DHCP_DDNS = 159, // "dhcp-ddns"
890 S_ENABLE_UPDATES = 160, // "enable-updates"
891 S_QUALIFYING_SUFFIX = 161, // "qualifying-suffix"
892 S_SERVER_IP = 162, // "server-ip"
893 S_SERVER_PORT = 163, // "server-port"
894 S_SENDER_IP = 164, // "sender-ip"
895 S_SENDER_PORT = 165, // "sender-port"
896 S_MAX_QUEUE_SIZE = 166, // "max-queue-size"
897 S_NCR_PROTOCOL = 167, // "ncr-protocol"
898 S_NCR_FORMAT = 168, // "ncr-format"
899 S_OVERRIDE_NO_UPDATE = 169, // "override-no-update"
900 S_OVERRIDE_CLIENT_UPDATE = 170, // "override-client-update"
901 S_REPLACE_CLIENT_NAME = 171, // "replace-client-name"
902 S_GENERATED_PREFIX = 172, // "generated-prefix"
903 S_UDP = 173, // "UDP"
904 S_TCP = 174, // "TCP"
905 S_JSON = 175, // "JSON"
906 S_WHEN_PRESENT = 176, // "when-present"
907 S_NEVER = 177, // "never"
908 S_ALWAYS = 178, // "always"
909 S_WHEN_NOT_PRESENT = 179, // "when-not-present"
910 S_HOSTNAME_CHAR_SET = 180, // "hostname-char-set"
911 S_HOSTNAME_CHAR_REPLACEMENT = 181, // "hostname-char-replacement"
912 S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 182, // "early-global-reservations-lookup"
913 S_IP_RESERVATIONS_UNIQUE = 183, // "ip-reservations-unique"
914 S_RESERVATIONS_LOOKUP_FIRST = 184, // "reservations-lookup-first"
915 S_LOGGERS = 185, // "loggers"
916 S_OUTPUT_OPTIONS = 186, // "output_options"
917 S_OUTPUT = 187, // "output"
918 S_DEBUGLEVEL = 188, // "debuglevel"
919 S_SEVERITY = 189, // "severity"
920 S_FLUSH = 190, // "flush"
921 S_MAXSIZE = 191, // "maxsize"
922 S_MAXVER = 192, // "maxver"
923 S_PATTERN = 193, // "pattern"
924 S_COMPATIBILITY = 194, // "compatibility"
925 S_LENIENT_OPTION_PARSING = 195, // "lenient-option-parsing"
926 S_TOPLEVEL_JSON = 196, // TOPLEVEL_JSON
927 S_TOPLEVEL_DHCP6 = 197, // TOPLEVEL_DHCP6
928 S_SUB_DHCP6 = 198, // SUB_DHCP6
929 S_SUB_INTERFACES6 = 199, // SUB_INTERFACES6
930 S_SUB_SUBNET6 = 200, // SUB_SUBNET6
931 S_SUB_POOL6 = 201, // SUB_POOL6
932 S_SUB_PD_POOL = 202, // SUB_PD_POOL
933 S_SUB_RESERVATION = 203, // SUB_RESERVATION
934 S_SUB_OPTION_DEFS = 204, // SUB_OPTION_DEFS
935 S_SUB_OPTION_DEF = 205, // SUB_OPTION_DEF
936 S_SUB_OPTION_DATA = 206, // SUB_OPTION_DATA
937 S_SUB_HOOKS_LIBRARY = 207, // SUB_HOOKS_LIBRARY
938 S_SUB_DHCP_DDNS = 208, // SUB_DHCP_DDNS
939 S_SUB_CONFIG_CONTROL = 209, // SUB_CONFIG_CONTROL
940 S_STRING = 210, // "constant string"
941 S_INTEGER = 211, // "integer"
942 S_FLOAT = 212, // "floating point"
943 S_BOOLEAN = 213, // "boolean"
944 S_YYACCEPT = 214, // $accept
945 S_start = 215, // start
946 S_216_1 = 216, // $@1
947 S_217_2 = 217, // $@2
948 S_218_3 = 218, // $@3
949 S_219_4 = 219, // $@4
950 S_220_5 = 220, // $@5
951 S_221_6 = 221, // $@6
952 S_222_7 = 222, // $@7
953 S_223_8 = 223, // $@8
954 S_224_9 = 224, // $@9
955 S_225_10 = 225, // $@10
956 S_226_11 = 226, // $@11
957 S_227_12 = 227, // $@12
958 S_228_13 = 228, // $@13
959 S_229_14 = 229, // $@14
960 S_value = 230, // value
961 S_sub_json = 231, // sub_json
962 S_map2 = 232, // map2
963 S_233_15 = 233, // $@15
964 S_map_value = 234, // map_value
965 S_map_content = 235, // map_content
966 S_not_empty_map = 236, // not_empty_map
967 S_list_generic = 237, // list_generic
968 S_238_16 = 238, // $@16
969 S_list_content = 239, // list_content
970 S_not_empty_list = 240, // not_empty_list
971 S_list_strings = 241, // list_strings
972 S_242_17 = 242, // $@17
973 S_list_strings_content = 243, // list_strings_content
974 S_not_empty_list_strings = 244, // not_empty_list_strings
975 S_unknown_map_entry = 245, // unknown_map_entry
976 S_syntax_map = 246, // syntax_map
977 S_247_18 = 247, // $@18
978 S_global_object = 248, // global_object
979 S_249_19 = 249, // $@19
980 S_global_object_comma = 250, // global_object_comma
981 S_sub_dhcp6 = 251, // sub_dhcp6
982 S_252_20 = 252, // $@20
983 S_global_params = 253, // global_params
984 S_global_param = 254, // global_param
985 S_data_directory = 255, // data_directory
986 S_256_21 = 256, // $@21
987 S_preferred_lifetime = 257, // preferred_lifetime
988 S_min_preferred_lifetime = 258, // min_preferred_lifetime
989 S_max_preferred_lifetime = 259, // max_preferred_lifetime
990 S_valid_lifetime = 260, // valid_lifetime
991 S_min_valid_lifetime = 261, // min_valid_lifetime
992 S_max_valid_lifetime = 262, // max_valid_lifetime
993 S_renew_timer = 263, // renew_timer
994 S_rebind_timer = 264, // rebind_timer
995 S_calculate_tee_times = 265, // calculate_tee_times
996 S_t1_percent = 266, // t1_percent
997 S_t2_percent = 267, // t2_percent
998 S_cache_threshold = 268, // cache_threshold
999 S_cache_max_age = 269, // cache_max_age
1000 S_decline_probation_period = 270, // decline_probation_period
1001 S_ddns_send_updates = 271, // ddns_send_updates
1002 S_ddns_override_no_update = 272, // ddns_override_no_update
1003 S_ddns_override_client_update = 273, // ddns_override_client_update
1004 S_ddns_replace_client_name = 274, // ddns_replace_client_name
1005 S_275_22 = 275, // $@22
1006 S_ddns_replace_client_name_value = 276, // ddns_replace_client_name_value
1007 S_ddns_generated_prefix = 277, // ddns_generated_prefix
1008 S_278_23 = 278, // $@23
1009 S_ddns_qualifying_suffix = 279, // ddns_qualifying_suffix
1010 S_280_24 = 280, // $@24
1011 S_ddns_update_on_renew = 281, // ddns_update_on_renew
1012 S_ddns_use_conflict_resolution = 282, // ddns_use_conflict_resolution
1013 S_hostname_char_set = 283, // hostname_char_set
1014 S_284_25 = 284, // $@25
1015 S_hostname_char_replacement = 285, // hostname_char_replacement
1016 S_286_26 = 286, // $@26
1017 S_store_extended_info = 287, // store_extended_info
1018 S_statistic_default_sample_count = 288, // statistic_default_sample_count
1019 S_statistic_default_sample_age = 289, // statistic_default_sample_age
1020 S_server_tag = 290, // server_tag
1021 S_291_27 = 291, // $@27
1022 S_parked_packet_limit = 292, // parked_packet_limit
1023 S_early_global_reservations_lookup = 293, // early_global_reservations_lookup
1024 S_ip_reservations_unique = 294, // ip_reservations_unique
1025 S_reservations_lookup_first = 295, // reservations_lookup_first
1026 S_interfaces_config = 296, // interfaces_config
1027 S_297_28 = 297, // $@28
1028 S_sub_interfaces6 = 298, // sub_interfaces6
1029 S_299_29 = 299, // $@29
1030 S_interfaces_config_params = 300, // interfaces_config_params
1031 S_interfaces_config_param = 301, // interfaces_config_param
1032 S_interfaces_list = 302, // interfaces_list
1033 S_303_30 = 303, // $@30
1034 S_re_detect = 304, // re_detect
1035 S_service_sockets_require_all = 305, // service_sockets_require_all
1036 S_service_sockets_retry_wait_time = 306, // service_sockets_retry_wait_time
1037 S_service_sockets_max_retries = 307, // service_sockets_max_retries
1038 S_lease_database = 308, // lease_database
1039 S_309_31 = 309, // $@31
1040 S_hosts_database = 310, // hosts_database
1041 S_311_32 = 311, // $@32
1042 S_hosts_databases = 312, // hosts_databases
1043 S_313_33 = 313, // $@33
1044 S_database_list = 314, // database_list
1045 S_not_empty_database_list = 315, // not_empty_database_list
1046 S_database = 316, // database
1047 S_317_34 = 317, // $@34
1048 S_database_map_params = 318, // database_map_params
1049 S_database_map_param = 319, // database_map_param
1050 S_database_type = 320, // database_type
1051 S_321_35 = 321, // $@35
1052 S_db_type = 322, // db_type
1053 S_user = 323, // user
1054 S_324_36 = 324, // $@36
1055 S_password = 325, // password
1056 S_326_37 = 326, // $@37
1057 S_host = 327, // host
1058 S_328_38 = 328, // $@38
1059 S_port = 329, // port
1060 S_name = 330, // name
1061 S_331_39 = 331, // $@39
1062 S_persist = 332, // persist
1063 S_lfc_interval = 333, // lfc_interval
1064 S_readonly = 334, // readonly
1065 S_connect_timeout = 335, // connect_timeout
1066 S_reconnect_wait_time = 336, // reconnect_wait_time
1067 S_on_fail = 337, // on_fail
1068 S_338_40 = 338, // $@40
1069 S_on_fail_mode = 339, // on_fail_mode
1070 S_max_row_errors = 340, // max_row_errors
1071 S_max_reconnect_tries = 341, // max_reconnect_tries
1072 S_trust_anchor = 342, // trust_anchor
1073 S_343_41 = 343, // $@41
1074 S_cert_file = 344, // cert_file
1075 S_345_42 = 345, // $@42
1076 S_key_file = 346, // key_file
1077 S_347_43 = 347, // $@43
1078 S_cipher_list = 348, // cipher_list
1079 S_349_44 = 349, // $@44
1080 S_sanity_checks = 350, // sanity_checks
1081 S_351_45 = 351, // $@45
1082 S_sanity_checks_params = 352, // sanity_checks_params
1083 S_sanity_checks_param = 353, // sanity_checks_param
1084 S_lease_checks = 354, // lease_checks
1085 S_355_46 = 355, // $@46
1086 S_mac_sources = 356, // mac_sources
1087 S_357_47 = 357, // $@47
1088 S_mac_sources_list = 358, // mac_sources_list
1089 S_mac_sources_value = 359, // mac_sources_value
1090 S_duid_id = 360, // duid_id
1091 S_string_id = 361, // string_id
1092 S_host_reservation_identifiers = 362, // host_reservation_identifiers
1093 S_363_48 = 363, // $@48
1094 S_host_reservation_identifiers_list = 364, // host_reservation_identifiers_list
1095 S_host_reservation_identifier = 365, // host_reservation_identifier
1096 S_hw_address_id = 366, // hw_address_id
1097 S_flex_id = 367, // flex_id
1098 S_relay_supplied_options = 368, // relay_supplied_options
1099 S_369_49 = 369, // $@49
1100 S_dhcp_multi_threading = 370, // dhcp_multi_threading
1101 S_371_50 = 371, // $@50
1102 S_multi_threading_params = 372, // multi_threading_params
1103 S_multi_threading_param = 373, // multi_threading_param
1104 S_enable_multi_threading = 374, // enable_multi_threading
1105 S_thread_pool_size = 375, // thread_pool_size
1106 S_packet_queue_size = 376, // packet_queue_size
1107 S_hooks_libraries = 377, // hooks_libraries
1108 S_378_51 = 378, // $@51
1109 S_hooks_libraries_list = 379, // hooks_libraries_list
1110 S_not_empty_hooks_libraries_list = 380, // not_empty_hooks_libraries_list
1111 S_hooks_library = 381, // hooks_library
1112 S_382_52 = 382, // $@52
1113 S_sub_hooks_library = 383, // sub_hooks_library
1114 S_384_53 = 384, // $@53
1115 S_hooks_params = 385, // hooks_params
1116 S_hooks_param = 386, // hooks_param
1117 S_library = 387, // library
1118 S_388_54 = 388, // $@54
1119 S_parameters = 389, // parameters
1120 S_390_55 = 390, // $@55
1121 S_expired_leases_processing = 391, // expired_leases_processing
1122 S_392_56 = 392, // $@56
1123 S_expired_leases_params = 393, // expired_leases_params
1124 S_expired_leases_param = 394, // expired_leases_param
1125 S_reclaim_timer_wait_time = 395, // reclaim_timer_wait_time
1126 S_flush_reclaimed_timer_wait_time = 396, // flush_reclaimed_timer_wait_time
1127 S_hold_reclaimed_time = 397, // hold_reclaimed_time
1128 S_max_reclaim_leases = 398, // max_reclaim_leases
1129 S_max_reclaim_time = 399, // max_reclaim_time
1130 S_unwarned_reclaim_cycles = 400, // unwarned_reclaim_cycles
1131 S_subnet6_list = 401, // subnet6_list
1132 S_402_57 = 402, // $@57
1133 S_subnet6_list_content = 403, // subnet6_list_content
1134 S_not_empty_subnet6_list = 404, // not_empty_subnet6_list
1135 S_subnet6 = 405, // subnet6
1136 S_406_58 = 406, // $@58
1137 S_sub_subnet6 = 407, // sub_subnet6
1138 S_408_59 = 408, // $@59
1139 S_subnet6_params = 409, // subnet6_params
1140 S_subnet6_param = 410, // subnet6_param
1141 S_subnet = 411, // subnet
1142 S_412_60 = 412, // $@60
1143 S_interface = 413, // interface
1144 S_414_61 = 414, // $@61
1145 S_interface_id = 415, // interface_id
1146 S_416_62 = 416, // $@62
1147 S_client_class = 417, // client_class
1148 S_418_63 = 418, // $@63
1149 S_require_client_classes = 419, // require_client_classes
1150 S_420_64 = 420, // $@64
1151 S_reservations_global = 421, // reservations_global
1152 S_reservations_in_subnet = 422, // reservations_in_subnet
1153 S_reservations_out_of_pool = 423, // reservations_out_of_pool
1154 S_reservation_mode = 424, // reservation_mode
1155 S_425_65 = 425, // $@65
1156 S_hr_mode = 426, // hr_mode
1157 S_id = 427, // id
1158 S_rapid_commit = 428, // rapid_commit
1159 S_shared_networks = 429, // shared_networks
1160 S_430_66 = 430, // $@66
1161 S_shared_networks_content = 431, // shared_networks_content
1162 S_shared_networks_list = 432, // shared_networks_list
1163 S_shared_network = 433, // shared_network
1164 S_434_67 = 434, // $@67
1165 S_shared_network_params = 435, // shared_network_params
1166 S_shared_network_param = 436, // shared_network_param
1167 S_option_def_list = 437, // option_def_list
1168 S_438_68 = 438, // $@68
1169 S_sub_option_def_list = 439, // sub_option_def_list
1170 S_440_69 = 440, // $@69
1171 S_option_def_list_content = 441, // option_def_list_content
1172 S_not_empty_option_def_list = 442, // not_empty_option_def_list
1173 S_option_def_entry = 443, // option_def_entry
1174 S_444_70 = 444, // $@70
1175 S_sub_option_def = 445, // sub_option_def
1176 S_446_71 = 446, // $@71
1177 S_option_def_params = 447, // option_def_params
1178 S_not_empty_option_def_params = 448, // not_empty_option_def_params
1179 S_option_def_param = 449, // option_def_param
1180 S_option_def_name = 450, // option_def_name
1181 S_code = 451, // code
1182 S_option_def_code = 452, // option_def_code
1183 S_option_def_type = 453, // option_def_type
1184 S_454_72 = 454, // $@72
1185 S_option_def_record_types = 455, // option_def_record_types
1186 S_456_73 = 456, // $@73
1187 S_space = 457, // space
1188 S_458_74 = 458, // $@74
1189 S_option_def_space = 459, // option_def_space
1190 S_option_def_encapsulate = 460, // option_def_encapsulate
1191 S_461_75 = 461, // $@75
1192 S_option_def_array = 462, // option_def_array
1193 S_option_data_list = 463, // option_data_list
1194 S_464_76 = 464, // $@76
1195 S_option_data_list_content = 465, // option_data_list_content
1196 S_not_empty_option_data_list = 466, // not_empty_option_data_list
1197 S_option_data_entry = 467, // option_data_entry
1198 S_468_77 = 468, // $@77
1199 S_sub_option_data = 469, // sub_option_data
1200 S_470_78 = 470, // $@78
1201 S_option_data_params = 471, // option_data_params
1202 S_not_empty_option_data_params = 472, // not_empty_option_data_params
1203 S_option_data_param = 473, // option_data_param
1204 S_option_data_name = 474, // option_data_name
1205 S_option_data_data = 475, // option_data_data
1206 S_476_79 = 476, // $@79
1207 S_option_data_code = 477, // option_data_code
1208 S_option_data_space = 478, // option_data_space
1209 S_option_data_csv_format = 479, // option_data_csv_format
1210 S_option_data_always_send = 480, // option_data_always_send
1211 S_pools_list = 481, // pools_list
1212 S_482_80 = 482, // $@80
1213 S_pools_list_content = 483, // pools_list_content
1214 S_not_empty_pools_list = 484, // not_empty_pools_list
1215 S_pool_list_entry = 485, // pool_list_entry
1216 S_486_81 = 486, // $@81
1217 S_sub_pool6 = 487, // sub_pool6
1218 S_488_82 = 488, // $@82
1219 S_pool_params = 489, // pool_params
1220 S_pool_param = 490, // pool_param
1221 S_pool_entry = 491, // pool_entry
1222 S_492_83 = 492, // $@83
1223 S_user_context = 493, // user_context
1224 S_494_84 = 494, // $@84
1225 S_comment = 495, // comment
1226 S_496_85 = 496, // $@85
1227 S_pd_pools_list = 497, // pd_pools_list
1228 S_498_86 = 498, // $@86
1229 S_pd_pools_list_content = 499, // pd_pools_list_content
1230 S_not_empty_pd_pools_list = 500, // not_empty_pd_pools_list
1231 S_pd_pool_entry = 501, // pd_pool_entry
1232 S_502_87 = 502, // $@87
1233 S_sub_pd_pool = 503, // sub_pd_pool
1234 S_504_88 = 504, // $@88
1235 S_pd_pool_params = 505, // pd_pool_params
1236 S_pd_pool_param = 506, // pd_pool_param
1237 S_pd_prefix = 507, // pd_prefix
1238 S_508_89 = 508, // $@89
1239 S_pd_prefix_len = 509, // pd_prefix_len
1240 S_excluded_prefix = 510, // excluded_prefix
1241 S_511_90 = 511, // $@90
1242 S_excluded_prefix_len = 512, // excluded_prefix_len
1243 S_pd_delegated_len = 513, // pd_delegated_len
1244 S_reservations = 514, // reservations
1245 S_515_91 = 515, // $@91
1246 S_reservations_list = 516, // reservations_list
1247 S_not_empty_reservations_list = 517, // not_empty_reservations_list
1248 S_reservation = 518, // reservation
1249 S_519_92 = 519, // $@92
1250 S_sub_reservation = 520, // sub_reservation
1251 S_521_93 = 521, // $@93
1252 S_reservation_params = 522, // reservation_params
1253 S_not_empty_reservation_params = 523, // not_empty_reservation_params
1254 S_reservation_param = 524, // reservation_param
1255 S_ip_addresses = 525, // ip_addresses
1256 S_526_94 = 526, // $@94
1257 S_prefixes = 527, // prefixes
1258 S_528_95 = 528, // $@95
1259 S_duid = 529, // duid
1260 S_530_96 = 530, // $@96
1261 S_hw_address = 531, // hw_address
1262 S_532_97 = 532, // $@97
1263 S_hostname = 533, // hostname
1264 S_534_98 = 534, // $@98
1265 S_flex_id_value = 535, // flex_id_value
1266 S_536_99 = 536, // $@99
1267 S_reservation_client_classes = 537, // reservation_client_classes
1268 S_538_100 = 538, // $@100
1269 S_relay = 539, // relay
1270 S_540_101 = 540, // $@101
1271 S_relay_map = 541, // relay_map
1272 S_ip_address = 542, // ip_address
1273 S_543_102 = 543, // $@102
1274 S_client_classes = 544, // client_classes
1275 S_545_103 = 545, // $@103
1276 S_client_classes_list = 546, // client_classes_list
1277 S_client_class_entry = 547, // client_class_entry
1278 S_548_104 = 548, // $@104
1279 S_client_class_params = 549, // client_class_params
1280 S_not_empty_client_class_params = 550, // not_empty_client_class_params
1281 S_client_class_param = 551, // client_class_param
1282 S_client_class_name = 552, // client_class_name
1283 S_client_class_test = 553, // client_class_test
1284 S_554_105 = 554, // $@105
1285 S_only_if_required = 555, // only_if_required
1286 S_server_id = 556, // server_id
1287 S_557_106 = 557, // $@106
1288 S_server_id_params = 558, // server_id_params
1289 S_server_id_param = 559, // server_id_param
1290 S_server_id_type = 560, // server_id_type
1291 S_561_107 = 561, // $@107
1292 S_duid_type = 562, // duid_type
1293 S_htype = 563, // htype
1294 S_identifier = 564, // identifier
1295 S_565_108 = 565, // $@108
1296 S_time = 566, // time
1297 S_enterprise_id = 567, // enterprise_id
1298 S_dhcp4o6_port = 568, // dhcp4o6_port
1299 S_control_socket = 569, // control_socket
1300 S_570_109 = 570, // $@109
1301 S_control_socket_params = 571, // control_socket_params
1302 S_control_socket_param = 572, // control_socket_param
1303 S_socket_type = 573, // socket_type
1304 S_574_110 = 574, // $@110
1305 S_socket_name = 575, // socket_name
1306 S_576_111 = 576, // $@111
1307 S_dhcp_queue_control = 577, // dhcp_queue_control
1308 S_578_112 = 578, // $@112
1309 S_queue_control_params = 579, // queue_control_params
1310 S_queue_control_param = 580, // queue_control_param
1311 S_enable_queue = 581, // enable_queue
1312 S_queue_type = 582, // queue_type
1313 S_583_113 = 583, // $@113
1314 S_capacity = 584, // capacity
1315 S_arbitrary_map_entry = 585, // arbitrary_map_entry
1316 S_586_114 = 586, // $@114
1317 S_dhcp_ddns = 587, // dhcp_ddns
1318 S_588_115 = 588, // $@115
1319 S_sub_dhcp_ddns = 589, // sub_dhcp_ddns
1320 S_590_116 = 590, // $@116
1321 S_dhcp_ddns_params = 591, // dhcp_ddns_params
1322 S_dhcp_ddns_param = 592, // dhcp_ddns_param
1323 S_enable_updates = 593, // enable_updates
1324 S_dep_qualifying_suffix = 594, // dep_qualifying_suffix
1325 S_595_117 = 595, // $@117
1326 S_server_ip = 596, // server_ip
1327 S_597_118 = 597, // $@118
1328 S_server_port = 598, // server_port
1329 S_sender_ip = 599, // sender_ip
1330 S_600_119 = 600, // $@119
1331 S_sender_port = 601, // sender_port
1332 S_max_queue_size = 602, // max_queue_size
1333 S_ncr_protocol = 603, // ncr_protocol
1334 S_604_120 = 604, // $@120
1335 S_ncr_protocol_value = 605, // ncr_protocol_value
1336 S_ncr_format = 606, // ncr_format
1337 S_607_121 = 607, // $@121
1338 S_dep_override_no_update = 608, // dep_override_no_update
1339 S_dep_override_client_update = 609, // dep_override_client_update
1340 S_dep_replace_client_name = 610, // dep_replace_client_name
1341 S_611_122 = 611, // $@122
1342 S_dep_generated_prefix = 612, // dep_generated_prefix
1343 S_613_123 = 613, // $@123
1344 S_dep_hostname_char_set = 614, // dep_hostname_char_set
1345 S_615_124 = 615, // $@124
1346 S_dep_hostname_char_replacement = 616, // dep_hostname_char_replacement
1347 S_617_125 = 617, // $@125
1348 S_config_control = 618, // config_control
1349 S_619_126 = 619, // $@126
1350 S_sub_config_control = 620, // sub_config_control
1351 S_621_127 = 621, // $@127
1352 S_config_control_params = 622, // config_control_params
1353 S_config_control_param = 623, // config_control_param
1354 S_config_databases = 624, // config_databases
1355 S_625_128 = 625, // $@128
1356 S_config_fetch_wait_time = 626, // config_fetch_wait_time
1357 S_loggers = 627, // loggers
1358 S_628_129 = 628, // $@129
1359 S_loggers_entries = 629, // loggers_entries
1360 S_logger_entry = 630, // logger_entry
1361 S_631_130 = 631, // $@130
1362 S_logger_params = 632, // logger_params
1363 S_logger_param = 633, // logger_param
1364 S_debuglevel = 634, // debuglevel
1365 S_severity = 635, // severity
1366 S_636_131 = 636, // $@131
1367 S_output_options_list = 637, // output_options_list
1368 S_638_132 = 638, // $@132
1369 S_output_options_list_content = 639, // output_options_list_content
1370 S_output_entry = 640, // output_entry
1371 S_641_133 = 641, // $@133
1372 S_output_params_list = 642, // output_params_list
1373 S_output_params = 643, // output_params
1374 S_output = 644, // output
1375 S_645_134 = 645, // $@134
1376 S_flush = 646, // flush
1377 S_maxsize = 647, // maxsize
1378 S_maxver = 648, // maxver
1379 S_pattern = 649, // pattern
1380 S_650_135 = 650, // $@135
1381 S_compatibility = 651, // compatibility
1382 S_652_136 = 652, // $@136
1383 S_compatibility_params = 653, // compatibility_params
1384 S_compatibility_param = 654, // compatibility_param
1385 S_lenient_option_parsing = 655 // lenient_option_parsing
1387 };
1388
1391
1394
1401 template <typename Base>
1402 struct basic_symbol : Base
1403 {
1405 typedef Base super_type;
1406
1409 : value ()
1410 , location ()
1411 {}
1412
1413#if 201103L <= YY_CPLUSPLUS
1415 basic_symbol (basic_symbol&& that)
1416 : Base (std::move (that))
1417 , value ()
1418 , location (std::move (that.location))
1419 {
1420 switch (this->kind ())
1421 {
1422 case symbol_kind::S_value: // value
1423 case symbol_kind::S_map_value: // map_value
1424 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1425 case symbol_kind::S_db_type: // db_type
1426 case symbol_kind::S_on_fail_mode: // on_fail_mode
1427 case symbol_kind::S_hr_mode: // hr_mode
1428 case symbol_kind::S_duid_type: // duid_type
1429 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1430 value.move< ElementPtr > (std::move (that.value));
1431 break;
1432
1433 case symbol_kind::S_BOOLEAN: // "boolean"
1434 value.move< bool > (std::move (that.value));
1435 break;
1436
1437 case symbol_kind::S_FLOAT: // "floating point"
1438 value.move< double > (std::move (that.value));
1439 break;
1440
1441 case symbol_kind::S_INTEGER: // "integer"
1442 value.move< int64_t > (std::move (that.value));
1443 break;
1444
1445 case symbol_kind::S_STRING: // "constant string"
1446 value.move< std::string > (std::move (that.value));
1447 break;
1448
1449 default:
1450 break;
1451 }
1452
1453 }
1454#endif
1455
1457 basic_symbol (const basic_symbol& that);
1458
1460#if 201103L <= YY_CPLUSPLUS
1461 basic_symbol (typename Base::kind_type t, location_type&& l)
1462 : Base (t)
1463 , location (std::move (l))
1464 {}
1465#else
1466 basic_symbol (typename Base::kind_type t, const location_type& l)
1467 : Base (t)
1468 , location (l)
1469 {}
1470#endif
1471
1472#if 201103L <= YY_CPLUSPLUS
1473 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1474 : Base (t)
1475 , value (std::move (v))
1476 , location (std::move (l))
1477 {}
1478#else
1479 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1480 : Base (t)
1481 , value (v)
1482 , location (l)
1483 {}
1484#endif
1485
1486#if 201103L <= YY_CPLUSPLUS
1487 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1488 : Base (t)
1489 , value (std::move (v))
1490 , location (std::move (l))
1491 {}
1492#else
1493 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1494 : Base (t)
1495 , value (v)
1496 , location (l)
1497 {}
1498#endif
1499
1500#if 201103L <= YY_CPLUSPLUS
1501 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1502 : Base (t)
1503 , value (std::move (v))
1504 , location (std::move (l))
1505 {}
1506#else
1507 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1508 : Base (t)
1509 , value (v)
1510 , location (l)
1511 {}
1512#endif
1513
1514#if 201103L <= YY_CPLUSPLUS
1515 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1516 : Base (t)
1517 , value (std::move (v))
1518 , location (std::move (l))
1519 {}
1520#else
1521 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1522 : Base (t)
1523 , value (v)
1524 , location (l)
1525 {}
1526#endif
1527
1528#if 201103L <= YY_CPLUSPLUS
1529 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1530 : Base (t)
1531 , value (std::move (v))
1532 , location (std::move (l))
1533 {}
1534#else
1535 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1536 : Base (t)
1537 , value (v)
1538 , location (l)
1539 {}
1540#endif
1541
1544 {
1545 clear ();
1546 }
1547
1548
1549
1552 {
1553 // User destructor.
1554 symbol_kind_type yykind = this->kind ();
1555 basic_symbol<Base>& yysym = *this;
1556 (void) yysym;
1557 switch (yykind)
1558 {
1559 default:
1560 break;
1561 }
1562
1563 // Value type destructor.
1564switch (yykind)
1565 {
1566 case symbol_kind::S_value: // value
1567 case symbol_kind::S_map_value: // map_value
1568 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1569 case symbol_kind::S_db_type: // db_type
1570 case symbol_kind::S_on_fail_mode: // on_fail_mode
1571 case symbol_kind::S_hr_mode: // hr_mode
1572 case symbol_kind::S_duid_type: // duid_type
1573 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1574 value.template destroy< ElementPtr > ();
1575 break;
1576
1577 case symbol_kind::S_BOOLEAN: // "boolean"
1578 value.template destroy< bool > ();
1579 break;
1580
1581 case symbol_kind::S_FLOAT: // "floating point"
1582 value.template destroy< double > ();
1583 break;
1584
1585 case symbol_kind::S_INTEGER: // "integer"
1586 value.template destroy< int64_t > ();
1587 break;
1588
1589 case symbol_kind::S_STRING: // "constant string"
1590 value.template destroy< std::string > ();
1591 break;
1592
1593 default:
1594 break;
1595 }
1596
1597 Base::clear ();
1598 }
1599
1601 std::string name () const YY_NOEXCEPT
1602 {
1603 return Dhcp6Parser::symbol_name (this->kind ());
1604 }
1605
1607 symbol_kind_type type_get () const YY_NOEXCEPT;
1608
1610 bool empty () const YY_NOEXCEPT;
1611
1613 void move (basic_symbol& s);
1614
1617
1620
1621 private:
1622#if YY_CPLUSPLUS < 201103L
1624 basic_symbol& operator= (const basic_symbol& that);
1625#endif
1626 };
1627
1629 struct by_kind
1630 {
1633
1636
1637#if 201103L <= YY_CPLUSPLUS
1639 by_kind (by_kind&& that) YY_NOEXCEPT;
1640#endif
1641
1643 by_kind (const by_kind& that) YY_NOEXCEPT;
1644
1647
1648
1649
1651 void clear () YY_NOEXCEPT;
1652
1654 void move (by_kind& that);
1655
1658 symbol_kind_type kind () const YY_NOEXCEPT;
1659
1661 symbol_kind_type type_get () const YY_NOEXCEPT;
1662
1666 };
1667
1670
1673 {
1676
1679
1681#if 201103L <= YY_CPLUSPLUS
1682 symbol_type (int tok, location_type l)
1683 : super_type (token_kind_type (tok), std::move (l))
1684#else
1685 symbol_type (int tok, const location_type& l)
1686 : super_type (token_kind_type (tok), l)
1687#endif
1688 {
1689#if !defined _MSC_VER || defined __clang__
1692#endif
1693 }
1694#if 201103L <= YY_CPLUSPLUS
1695 symbol_type (int tok, bool v, location_type l)
1696 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1697#else
1698 symbol_type (int tok, const bool& v, const location_type& l)
1699 : super_type (token_kind_type (tok), v, l)
1700#endif
1701 {
1702#if !defined _MSC_VER || defined __clang__
1704#endif
1705 }
1706#if 201103L <= YY_CPLUSPLUS
1707 symbol_type (int tok, double v, location_type l)
1708 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1709#else
1710 symbol_type (int tok, const double& v, const location_type& l)
1711 : super_type (token_kind_type (tok), v, l)
1712#endif
1713 {
1714#if !defined _MSC_VER || defined __clang__
1716#endif
1717 }
1718#if 201103L <= YY_CPLUSPLUS
1719 symbol_type (int tok, int64_t v, location_type l)
1720 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1721#else
1722 symbol_type (int tok, const int64_t& v, const location_type& l)
1723 : super_type (token_kind_type (tok), v, l)
1724#endif
1725 {
1726#if !defined _MSC_VER || defined __clang__
1728#endif
1729 }
1730#if 201103L <= YY_CPLUSPLUS
1731 symbol_type (int tok, std::string v, location_type l)
1732 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1733#else
1734 symbol_type (int tok, const std::string& v, const location_type& l)
1735 : super_type (token_kind_type (tok), v, l)
1736#endif
1737 {
1738#if !defined _MSC_VER || defined __clang__
1740#endif
1741 }
1742 };
1743
1746 virtual ~Dhcp6Parser ();
1747
1748#if 201103L <= YY_CPLUSPLUS
1750 Dhcp6Parser (const Dhcp6Parser&) = delete;
1752 Dhcp6Parser& operator= (const Dhcp6Parser&) = delete;
1753#endif
1754
1757 int operator() ();
1758
1761 virtual int parse ();
1762
1763#if PARSER6_DEBUG
1765 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1767 void set_debug_stream (std::ostream &);
1768
1770 typedef int debug_level_type;
1775#endif
1776
1780 virtual void error (const location_type& loc, const std::string& msg);
1781
1783 void error (const syntax_error& err);
1784
1787 static std::string symbol_name (symbol_kind_type yysymbol);
1788
1789 // Implementation of make_symbol for each token kind.
1790#if 201103L <= YY_CPLUSPLUS
1791 static
1794 {
1795 return symbol_type (token::TOKEN_END, std::move (l));
1796 }
1797#else
1798 static
1799 symbol_type
1801 {
1802 return symbol_type (token::TOKEN_END, l);
1803 }
1804#endif
1805#if 201103L <= YY_CPLUSPLUS
1806 static
1807 symbol_type
1809 {
1810 return symbol_type (token::TOKEN_PARSER6_error, std::move (l));
1811 }
1812#else
1813 static
1814 symbol_type
1816 {
1818 }
1819#endif
1820#if 201103L <= YY_CPLUSPLUS
1821 static
1822 symbol_type
1824 {
1825 return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l));
1826 }
1827#else
1828 static
1829 symbol_type
1831 {
1833 }
1834#endif
1835#if 201103L <= YY_CPLUSPLUS
1836 static
1837 symbol_type
1839 {
1840 return symbol_type (token::TOKEN_COMMA, std::move (l));
1841 }
1842#else
1843 static
1844 symbol_type
1846 {
1847 return symbol_type (token::TOKEN_COMMA, l);
1848 }
1849#endif
1850#if 201103L <= YY_CPLUSPLUS
1851 static
1852 symbol_type
1854 {
1855 return symbol_type (token::TOKEN_COLON, std::move (l));
1856 }
1857#else
1858 static
1859 symbol_type
1861 {
1862 return symbol_type (token::TOKEN_COLON, l);
1863 }
1864#endif
1865#if 201103L <= YY_CPLUSPLUS
1866 static
1867 symbol_type
1869 {
1870 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1871 }
1872#else
1873 static
1874 symbol_type
1876 {
1878 }
1879#endif
1880#if 201103L <= YY_CPLUSPLUS
1881 static
1882 symbol_type
1884 {
1885 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1886 }
1887#else
1888 static
1889 symbol_type
1891 {
1893 }
1894#endif
1895#if 201103L <= YY_CPLUSPLUS
1896 static
1897 symbol_type
1899 {
1900 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1901 }
1902#else
1903 static
1904 symbol_type
1906 {
1908 }
1909#endif
1910#if 201103L <= YY_CPLUSPLUS
1911 static
1912 symbol_type
1914 {
1915 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1916 }
1917#else
1918 static
1919 symbol_type
1921 {
1923 }
1924#endif
1925#if 201103L <= YY_CPLUSPLUS
1926 static
1927 symbol_type
1929 {
1930 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1931 }
1932#else
1933 static
1934 symbol_type
1936 {
1938 }
1939#endif
1940#if 201103L <= YY_CPLUSPLUS
1941 static
1942 symbol_type
1944 {
1945 return symbol_type (token::TOKEN_DHCP6, std::move (l));
1946 }
1947#else
1948 static
1949 symbol_type
1951 {
1952 return symbol_type (token::TOKEN_DHCP6, l);
1953 }
1954#endif
1955#if 201103L <= YY_CPLUSPLUS
1956 static
1957 symbol_type
1959 {
1960 return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
1961 }
1962#else
1963 static
1964 symbol_type
1966 {
1968 }
1969#endif
1970#if 201103L <= YY_CPLUSPLUS
1971 static
1972 symbol_type
1974 {
1975 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
1976 }
1977#else
1978 static
1979 symbol_type
1981 {
1983 }
1984#endif
1985#if 201103L <= YY_CPLUSPLUS
1986 static
1987 symbol_type
1989 {
1990 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
1991 }
1992#else
1993 static
1994 symbol_type
1996 {
1998 }
1999#endif
2000#if 201103L <= YY_CPLUSPLUS
2001 static
2002 symbol_type
2004 {
2005 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2006 }
2007#else
2008 static
2009 symbol_type
2011 {
2013 }
2014#endif
2015#if 201103L <= YY_CPLUSPLUS
2016 static
2017 symbol_type
2019 {
2020 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2021 }
2022#else
2023 static
2024 symbol_type
2026 {
2028 }
2029#endif
2030#if 201103L <= YY_CPLUSPLUS
2031 static
2032 symbol_type
2034 {
2035 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2036 }
2037#else
2038 static
2039 symbol_type
2041 {
2043 }
2044#endif
2045#if 201103L <= YY_CPLUSPLUS
2046 static
2047 symbol_type
2049 {
2050 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2051 }
2052#else
2053 static
2054 symbol_type
2056 {
2058 }
2059#endif
2060#if 201103L <= YY_CPLUSPLUS
2061 static
2062 symbol_type
2064 {
2065 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2066 }
2067#else
2068 static
2069 symbol_type
2071 {
2073 }
2074#endif
2075#if 201103L <= YY_CPLUSPLUS
2076 static
2077 symbol_type
2079 {
2080 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2081 }
2082#else
2083 static
2084 symbol_type
2086 {
2088 }
2089#endif
2090#if 201103L <= YY_CPLUSPLUS
2091 static
2092 symbol_type
2094 {
2095 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2096 }
2097#else
2098 static
2099 symbol_type
2101 {
2103 }
2104#endif
2105#if 201103L <= YY_CPLUSPLUS
2106 static
2107 symbol_type
2109 {
2110 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2111 }
2112#else
2113 static
2114 symbol_type
2116 {
2118 }
2119#endif
2120#if 201103L <= YY_CPLUSPLUS
2121 static
2122 symbol_type
2124 {
2125 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2126 }
2127#else
2128 static
2129 symbol_type
2131 {
2133 }
2134#endif
2135#if 201103L <= YY_CPLUSPLUS
2136 static
2137 symbol_type
2139 {
2140 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2141 }
2142#else
2143 static
2144 symbol_type
2146 {
2148 }
2149#endif
2150#if 201103L <= YY_CPLUSPLUS
2151 static
2152 symbol_type
2154 {
2155 return symbol_type (token::TOKEN_TYPE, std::move (l));
2156 }
2157#else
2158 static
2159 symbol_type
2161 {
2162 return symbol_type (token::TOKEN_TYPE, l);
2163 }
2164#endif
2165#if 201103L <= YY_CPLUSPLUS
2166 static
2167 symbol_type
2169 {
2170 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2171 }
2172#else
2173 static
2174 symbol_type
2176 {
2178 }
2179#endif
2180#if 201103L <= YY_CPLUSPLUS
2181 static
2182 symbol_type
2184 {
2185 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2186 }
2187#else
2188 static
2189 symbol_type
2191 {
2192 return symbol_type (token::TOKEN_MYSQL, l);
2193 }
2194#endif
2195#if 201103L <= YY_CPLUSPLUS
2196 static
2197 symbol_type
2199 {
2200 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2201 }
2202#else
2203 static
2204 symbol_type
2206 {
2208 }
2209#endif
2210#if 201103L <= YY_CPLUSPLUS
2211 static
2212 symbol_type
2214 {
2215 return symbol_type (token::TOKEN_USER, std::move (l));
2216 }
2217#else
2218 static
2219 symbol_type
2221 {
2222 return symbol_type (token::TOKEN_USER, l);
2223 }
2224#endif
2225#if 201103L <= YY_CPLUSPLUS
2226 static
2227 symbol_type
2229 {
2230 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2231 }
2232#else
2233 static
2234 symbol_type
2236 {
2238 }
2239#endif
2240#if 201103L <= YY_CPLUSPLUS
2241 static
2242 symbol_type
2244 {
2245 return symbol_type (token::TOKEN_HOST, std::move (l));
2246 }
2247#else
2248 static
2249 symbol_type
2251 {
2252 return symbol_type (token::TOKEN_HOST, l);
2253 }
2254#endif
2255#if 201103L <= YY_CPLUSPLUS
2256 static
2257 symbol_type
2259 {
2260 return symbol_type (token::TOKEN_PORT, std::move (l));
2261 }
2262#else
2263 static
2264 symbol_type
2266 {
2267 return symbol_type (token::TOKEN_PORT, l);
2268 }
2269#endif
2270#if 201103L <= YY_CPLUSPLUS
2271 static
2272 symbol_type
2274 {
2275 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2276 }
2277#else
2278 static
2279 symbol_type
2281 {
2283 }
2284#endif
2285#if 201103L <= YY_CPLUSPLUS
2286 static
2287 symbol_type
2289 {
2290 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2291 }
2292#else
2293 static
2294 symbol_type
2296 {
2298 }
2299#endif
2300#if 201103L <= YY_CPLUSPLUS
2301 static
2302 symbol_type
2304 {
2305 return symbol_type (token::TOKEN_READONLY, std::move (l));
2306 }
2307#else
2308 static
2309 symbol_type
2311 {
2313 }
2314#endif
2315#if 201103L <= YY_CPLUSPLUS
2316 static
2317 symbol_type
2319 {
2320 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2321 }
2322#else
2323 static
2324 symbol_type
2326 {
2328 }
2329#endif
2330#if 201103L <= YY_CPLUSPLUS
2331 static
2332 symbol_type
2334 {
2335 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2336 }
2337#else
2338 static
2339 symbol_type
2341 {
2343 }
2344#endif
2345#if 201103L <= YY_CPLUSPLUS
2346 static
2347 symbol_type
2349 {
2350 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2351 }
2352#else
2353 static
2354 symbol_type
2356 {
2358 }
2359#endif
2360#if 201103L <= YY_CPLUSPLUS
2361 static
2362 symbol_type
2364 {
2365 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2366 }
2367#else
2368 static
2369 symbol_type
2371 {
2373 }
2374#endif
2375#if 201103L <= YY_CPLUSPLUS
2376 static
2377 symbol_type
2379 {
2380 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2381 }
2382#else
2383 static
2384 symbol_type
2386 {
2388 }
2389#endif
2390#if 201103L <= YY_CPLUSPLUS
2391 static
2392 symbol_type
2394 {
2395 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2396 }
2397#else
2398 static
2399 symbol_type
2401 {
2403 }
2404#endif
2405#if 201103L <= YY_CPLUSPLUS
2406 static
2407 symbol_type
2409 {
2410 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2411 }
2412#else
2413 static
2414 symbol_type
2416 {
2418 }
2419#endif
2420#if 201103L <= YY_CPLUSPLUS
2421 static
2422 symbol_type
2424 {
2425 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2426 }
2427#else
2428 static
2429 symbol_type
2431 {
2433 }
2434#endif
2435#if 201103L <= YY_CPLUSPLUS
2436 static
2437 symbol_type
2439 {
2440 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2441 }
2442#else
2443 static
2444 symbol_type
2446 {
2448 }
2449#endif
2450#if 201103L <= YY_CPLUSPLUS
2451 static
2452 symbol_type
2454 {
2455 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2456 }
2457#else
2458 static
2459 symbol_type
2461 {
2463 }
2464#endif
2465#if 201103L <= YY_CPLUSPLUS
2466 static
2467 symbol_type
2469 {
2470 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2471 }
2472#else
2473 static
2474 symbol_type
2476 {
2478 }
2479#endif
2480#if 201103L <= YY_CPLUSPLUS
2481 static
2482 symbol_type
2484 {
2485 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2486 }
2487#else
2488 static
2489 symbol_type
2491 {
2493 }
2494#endif
2495#if 201103L <= YY_CPLUSPLUS
2496 static
2497 symbol_type
2499 {
2500 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
2501 }
2502#else
2503 static
2504 symbol_type
2506 {
2508 }
2509#endif
2510#if 201103L <= YY_CPLUSPLUS
2511 static
2512 symbol_type
2514 {
2515 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
2516 }
2517#else
2518 static
2519 symbol_type
2521 {
2523 }
2524#endif
2525#if 201103L <= YY_CPLUSPLUS
2526 static
2527 symbol_type
2529 {
2530 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
2531 }
2532#else
2533 static
2534 symbol_type
2536 {
2538 }
2539#endif
2540#if 201103L <= YY_CPLUSPLUS
2541 static
2542 symbol_type
2544 {
2545 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2546 }
2547#else
2548 static
2549 symbol_type
2551 {
2553 }
2554#endif
2555#if 201103L <= YY_CPLUSPLUS
2556 static
2557 symbol_type
2559 {
2560 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2561 }
2562#else
2563 static
2564 symbol_type
2566 {
2568 }
2569#endif
2570#if 201103L <= YY_CPLUSPLUS
2571 static
2572 symbol_type
2574 {
2575 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2576 }
2577#else
2578 static
2579 symbol_type
2581 {
2583 }
2584#endif
2585#if 201103L <= YY_CPLUSPLUS
2586 static
2587 symbol_type
2589 {
2590 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2591 }
2592#else
2593 static
2594 symbol_type
2596 {
2598 }
2599#endif
2600#if 201103L <= YY_CPLUSPLUS
2601 static
2602 symbol_type
2604 {
2605 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2606 }
2607#else
2608 static
2609 symbol_type
2611 {
2613 }
2614#endif
2615#if 201103L <= YY_CPLUSPLUS
2616 static
2617 symbol_type
2619 {
2620 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2621 }
2622#else
2623 static
2624 symbol_type
2626 {
2628 }
2629#endif
2630#if 201103L <= YY_CPLUSPLUS
2631 static
2632 symbol_type
2634 {
2635 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2636 }
2637#else
2638 static
2639 symbol_type
2641 {
2643 }
2644#endif
2645#if 201103L <= YY_CPLUSPLUS
2646 static
2647 symbol_type
2649 {
2650 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2651 }
2652#else
2653 static
2654 symbol_type
2656 {
2658 }
2659#endif
2660#if 201103L <= YY_CPLUSPLUS
2661 static
2662 symbol_type
2664 {
2665 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2666 }
2667#else
2668 static
2669 symbol_type
2671 {
2673 }
2674#endif
2675#if 201103L <= YY_CPLUSPLUS
2676 static
2677 symbol_type
2679 {
2680 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2681 }
2682#else
2683 static
2684 symbol_type
2686 {
2688 }
2689#endif
2690#if 201103L <= YY_CPLUSPLUS
2691 static
2692 symbol_type
2694 {
2695 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2696 }
2697#else
2698 static
2699 symbol_type
2701 {
2703 }
2704#endif
2705#if 201103L <= YY_CPLUSPLUS
2706 static
2707 symbol_type
2709 {
2710 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2711 }
2712#else
2713 static
2714 symbol_type
2716 {
2718 }
2719#endif
2720#if 201103L <= YY_CPLUSPLUS
2721 static
2722 symbol_type
2724 {
2725 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2726 }
2727#else
2728 static
2729 symbol_type
2731 {
2733 }
2734#endif
2735#if 201103L <= YY_CPLUSPLUS
2736 static
2737 symbol_type
2739 {
2740 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2741 }
2742#else
2743 static
2744 symbol_type
2746 {
2748 }
2749#endif
2750#if 201103L <= YY_CPLUSPLUS
2751 static
2752 symbol_type
2754 {
2755 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2756 }
2757#else
2758 static
2759 symbol_type
2761 {
2763 }
2764#endif
2765#if 201103L <= YY_CPLUSPLUS
2766 static
2767 symbol_type
2769 {
2770 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2771 }
2772#else
2773 static
2774 symbol_type
2776 {
2778 }
2779#endif
2780#if 201103L <= YY_CPLUSPLUS
2781 static
2782 symbol_type
2784 {
2785 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2786 }
2787#else
2788 static
2789 symbol_type
2791 {
2793 }
2794#endif
2795#if 201103L <= YY_CPLUSPLUS
2796 static
2797 symbol_type
2799 {
2800 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2801 }
2802#else
2803 static
2804 symbol_type
2806 {
2808 }
2809#endif
2810#if 201103L <= YY_CPLUSPLUS
2811 static
2812 symbol_type
2814 {
2815 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2816 }
2817#else
2818 static
2819 symbol_type
2821 {
2823 }
2824#endif
2825#if 201103L <= YY_CPLUSPLUS
2826 static
2827 symbol_type
2829 {
2830 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2831 }
2832#else
2833 static
2834 symbol_type
2836 {
2838 }
2839#endif
2840#if 201103L <= YY_CPLUSPLUS
2841 static
2842 symbol_type
2844 {
2845 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2846 }
2847#else
2848 static
2849 symbol_type
2851 {
2853 }
2854#endif
2855#if 201103L <= YY_CPLUSPLUS
2856 static
2857 symbol_type
2859 {
2860 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2861 }
2862#else
2863 static
2864 symbol_type
2866 {
2868 }
2869#endif
2870#if 201103L <= YY_CPLUSPLUS
2871 static
2872 symbol_type
2874 {
2875 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
2876 }
2877#else
2878 static
2879 symbol_type
2881 {
2883 }
2884#endif
2885#if 201103L <= YY_CPLUSPLUS
2886 static
2887 symbol_type
2889 {
2890 return symbol_type (token::TOKEN_SUBNET6, std::move (l));
2891 }
2892#else
2893 static
2894 symbol_type
2896 {
2898 }
2899#endif
2900#if 201103L <= YY_CPLUSPLUS
2901 static
2902 symbol_type
2904 {
2905 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
2906 }
2907#else
2908 static
2909 symbol_type
2911 {
2913 }
2914#endif
2915#if 201103L <= YY_CPLUSPLUS
2916 static
2917 symbol_type
2919 {
2920 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
2921 }
2922#else
2923 static
2924 symbol_type
2926 {
2928 }
2929#endif
2930#if 201103L <= YY_CPLUSPLUS
2931 static
2932 symbol_type
2934 {
2935 return symbol_type (token::TOKEN_NAME, std::move (l));
2936 }
2937#else
2938 static
2939 symbol_type
2941 {
2942 return symbol_type (token::TOKEN_NAME, l);
2943 }
2944#endif
2945#if 201103L <= YY_CPLUSPLUS
2946 static
2947 symbol_type
2949 {
2950 return symbol_type (token::TOKEN_DATA, std::move (l));
2951 }
2952#else
2953 static
2954 symbol_type
2956 {
2957 return symbol_type (token::TOKEN_DATA, l);
2958 }
2959#endif
2960#if 201103L <= YY_CPLUSPLUS
2961 static
2962 symbol_type
2964 {
2965 return symbol_type (token::TOKEN_CODE, std::move (l));
2966 }
2967#else
2968 static
2969 symbol_type
2971 {
2972 return symbol_type (token::TOKEN_CODE, l);
2973 }
2974#endif
2975#if 201103L <= YY_CPLUSPLUS
2976 static
2977 symbol_type
2979 {
2980 return symbol_type (token::TOKEN_SPACE, std::move (l));
2981 }
2982#else
2983 static
2984 symbol_type
2986 {
2987 return symbol_type (token::TOKEN_SPACE, l);
2988 }
2989#endif
2990#if 201103L <= YY_CPLUSPLUS
2991 static
2992 symbol_type
2994 {
2995 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
2996 }
2997#else
2998 static
2999 symbol_type
3001 {
3003 }
3004#endif
3005#if 201103L <= YY_CPLUSPLUS
3006 static
3007 symbol_type
3009 {
3010 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3011 }
3012#else
3013 static
3014 symbol_type
3016 {
3018 }
3019#endif
3020#if 201103L <= YY_CPLUSPLUS
3021 static
3022 symbol_type
3024 {
3025 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3026 }
3027#else
3028 static
3029 symbol_type
3031 {
3033 }
3034#endif
3035#if 201103L <= YY_CPLUSPLUS
3036 static
3037 symbol_type
3039 {
3040 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3041 }
3042#else
3043 static
3044 symbol_type
3046 {
3048 }
3049#endif
3050#if 201103L <= YY_CPLUSPLUS
3051 static
3052 symbol_type
3054 {
3055 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3056 }
3057#else
3058 static
3059 symbol_type
3061 {
3062 return symbol_type (token::TOKEN_ARRAY, l);
3063 }
3064#endif
3065#if 201103L <= YY_CPLUSPLUS
3066 static
3067 symbol_type
3069 {
3070 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3071 }
3072#else
3073 static
3074 symbol_type
3076 {
3078 }
3079#endif
3080#if 201103L <= YY_CPLUSPLUS
3081 static
3082 symbol_type
3084 {
3085 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3086 }
3087#else
3088 static
3089 symbol_type
3091 {
3093 }
3094#endif
3095#if 201103L <= YY_CPLUSPLUS
3096 static
3097 symbol_type
3099 {
3100 return symbol_type (token::TOKEN_POOLS, std::move (l));
3101 }
3102#else
3103 static
3104 symbol_type
3106 {
3107 return symbol_type (token::TOKEN_POOLS, l);
3108 }
3109#endif
3110#if 201103L <= YY_CPLUSPLUS
3111 static
3112 symbol_type
3114 {
3115 return symbol_type (token::TOKEN_POOL, std::move (l));
3116 }
3117#else
3118 static
3119 symbol_type
3121 {
3122 return symbol_type (token::TOKEN_POOL, l);
3123 }
3124#endif
3125#if 201103L <= YY_CPLUSPLUS
3126 static
3127 symbol_type
3129 {
3130 return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
3131 }
3132#else
3133 static
3134 symbol_type
3136 {
3138 }
3139#endif
3140#if 201103L <= YY_CPLUSPLUS
3141 static
3142 symbol_type
3144 {
3145 return symbol_type (token::TOKEN_PREFIX, std::move (l));
3146 }
3147#else
3148 static
3149 symbol_type
3151 {
3152 return symbol_type (token::TOKEN_PREFIX, l);
3153 }
3154#endif
3155#if 201103L <= YY_CPLUSPLUS
3156 static
3157 symbol_type
3159 {
3160 return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
3161 }
3162#else
3163 static
3164 symbol_type
3166 {
3168 }
3169#endif
3170#if 201103L <= YY_CPLUSPLUS
3171 static
3172 symbol_type
3174 {
3175 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
3176 }
3177#else
3178 static
3179 symbol_type
3181 {
3183 }
3184#endif
3185#if 201103L <= YY_CPLUSPLUS
3186 static
3187 symbol_type
3189 {
3190 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
3191 }
3192#else
3193 static
3194 symbol_type
3196 {
3198 }
3199#endif
3200#if 201103L <= YY_CPLUSPLUS
3201 static
3202 symbol_type
3204 {
3205 return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
3206 }
3207#else
3208 static
3209 symbol_type
3211 {
3213 }
3214#endif
3215#if 201103L <= YY_CPLUSPLUS
3216 static
3217 symbol_type
3219 {
3220 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3221 }
3222#else
3223 static
3224 symbol_type
3226 {
3228 }
3229#endif
3230#if 201103L <= YY_CPLUSPLUS
3231 static
3232 symbol_type
3234 {
3235 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3236 }
3237#else
3238 static
3239 symbol_type
3241 {
3243 }
3244#endif
3245#if 201103L <= YY_CPLUSPLUS
3246 static
3247 symbol_type
3249 {
3250 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3251 }
3252#else
3253 static
3254 symbol_type
3256 {
3257 return symbol_type (token::TOKEN_SUBNET, l);
3258 }
3259#endif
3260#if 201103L <= YY_CPLUSPLUS
3261 static
3262 symbol_type
3264 {
3265 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3266 }
3267#else
3268 static
3269 symbol_type
3271 {
3273 }
3274#endif
3275#if 201103L <= YY_CPLUSPLUS
3276 static
3277 symbol_type
3279 {
3280 return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
3281 }
3282#else
3283 static
3284 symbol_type
3286 {
3288 }
3289#endif
3290#if 201103L <= YY_CPLUSPLUS
3291 static
3292 symbol_type
3294 {
3295 return symbol_type (token::TOKEN_ID, std::move (l));
3296 }
3297#else
3298 static
3299 symbol_type
3301 {
3302 return symbol_type (token::TOKEN_ID, l);
3303 }
3304#endif
3305#if 201103L <= YY_CPLUSPLUS
3306 static
3307 symbol_type
3309 {
3310 return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
3311 }
3312#else
3313 static
3314 symbol_type
3316 {
3318 }
3319#endif
3320#if 201103L <= YY_CPLUSPLUS
3321 static
3322 symbol_type
3324 {
3325 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3326 }
3327#else
3328 static
3329 symbol_type
3331 {
3333 }
3334#endif
3335#if 201103L <= YY_CPLUSPLUS
3336 static
3337 symbol_type
3339 {
3340 return symbol_type (token::TOKEN_DISABLED, std::move (l));
3341 }
3342#else
3343 static
3344 symbol_type
3346 {
3348 }
3349#endif
3350#if 201103L <= YY_CPLUSPLUS
3351 static
3352 symbol_type
3354 {
3355 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3356 }
3357#else
3358 static
3359 symbol_type
3361 {
3363 }
3364#endif
3365#if 201103L <= YY_CPLUSPLUS
3366 static
3367 symbol_type
3369 {
3370 return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3371 }
3372#else
3373 static
3374 symbol_type
3376 {
3377 return symbol_type (token::TOKEN_GLOBAL, l);
3378 }
3379#endif
3380#if 201103L <= YY_CPLUSPLUS
3381 static
3382 symbol_type
3384 {
3385 return symbol_type (token::TOKEN_ALL, std::move (l));
3386 }
3387#else
3388 static
3389 symbol_type
3391 {
3392 return symbol_type (token::TOKEN_ALL, l);
3393 }
3394#endif
3395#if 201103L <= YY_CPLUSPLUS
3396 static
3397 symbol_type
3399 {
3400 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3401 }
3402#else
3403 static
3404 symbol_type
3406 {
3408 }
3409#endif
3410#if 201103L <= YY_CPLUSPLUS
3411 static
3412 symbol_type
3414 {
3415 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3416 }
3417#else
3418 static
3419 symbol_type
3421 {
3423 }
3424#endif
3425#if 201103L <= YY_CPLUSPLUS
3426 static
3427 symbol_type
3429 {
3430 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3431 }
3432#else
3433 static
3434 symbol_type
3436 {
3438 }
3439#endif
3440#if 201103L <= YY_CPLUSPLUS
3441 static
3442 symbol_type
3444 {
3445 return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
3446 }
3447#else
3448 static
3449 symbol_type
3451 {
3453 }
3454#endif
3455#if 201103L <= YY_CPLUSPLUS
3456 static
3457 symbol_type
3459 {
3460 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
3461 }
3462#else
3463 static
3464 symbol_type
3466 {
3468 }
3469#endif
3470#if 201103L <= YY_CPLUSPLUS
3471 static
3472 symbol_type
3474 {
3475 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3476 }
3477#else
3478 static
3479 symbol_type
3481 {
3483 }
3484#endif
3485#if 201103L <= YY_CPLUSPLUS
3486 static
3487 symbol_type
3489 {
3490 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
3491 }
3492#else
3493 static
3494 symbol_type
3496 {
3498 }
3499#endif
3500#if 201103L <= YY_CPLUSPLUS
3501 static
3502 symbol_type
3504 {
3505 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
3506 }
3507#else
3508 static
3509 symbol_type
3511 {
3513 }
3514#endif
3515#if 201103L <= YY_CPLUSPLUS
3516 static
3517 symbol_type
3519 {
3520 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3521 }
3522#else
3523 static
3524 symbol_type
3526 {
3528 }
3529#endif
3530#if 201103L <= YY_CPLUSPLUS
3531 static
3532 symbol_type
3534 {
3535 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3536 }
3537#else
3538 static
3539 symbol_type
3541 {
3543 }
3544#endif
3545#if 201103L <= YY_CPLUSPLUS
3546 static
3547 symbol_type
3549 {
3550 return symbol_type (token::TOKEN_TEST, std::move (l));
3551 }
3552#else
3553 static
3554 symbol_type
3556 {
3557 return symbol_type (token::TOKEN_TEST, l);
3558 }
3559#endif
3560#if 201103L <= YY_CPLUSPLUS
3561 static
3562 symbol_type
3564 {
3565 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3566 }
3567#else
3568 static
3569 symbol_type
3571 {
3573 }
3574#endif
3575#if 201103L <= YY_CPLUSPLUS
3576 static
3577 symbol_type
3579 {
3580 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3581 }
3582#else
3583 static
3584 symbol_type
3586 {
3588 }
3589#endif
3590#if 201103L <= YY_CPLUSPLUS
3591 static
3592 symbol_type
3594 {
3595 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3596 }
3597#else
3598 static
3599 symbol_type
3601 {
3603 }
3604#endif
3605#if 201103L <= YY_CPLUSPLUS
3606 static
3607 symbol_type
3609 {
3610 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3611 }
3612#else
3613 static
3614 symbol_type
3616 {
3618 }
3619#endif
3620#if 201103L <= YY_CPLUSPLUS
3621 static
3622 symbol_type
3624 {
3625 return symbol_type (token::TOKEN_PREFIXES, std::move (l));
3626 }
3627#else
3628 static
3629 symbol_type
3631 {
3633 }
3634#endif
3635#if 201103L <= YY_CPLUSPLUS
3636 static
3637 symbol_type
3639 {
3640 return symbol_type (token::TOKEN_DUID, std::move (l));
3641 }
3642#else
3643 static
3644 symbol_type
3646 {
3647 return symbol_type (token::TOKEN_DUID, l);
3648 }
3649#endif
3650#if 201103L <= YY_CPLUSPLUS
3651 static
3652 symbol_type
3654 {
3655 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3656 }
3657#else
3658 static
3659 symbol_type
3661 {
3663 }
3664#endif
3665#if 201103L <= YY_CPLUSPLUS
3666 static
3667 symbol_type
3669 {
3670 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3671 }
3672#else
3673 static
3674 symbol_type
3676 {
3678 }
3679#endif
3680#if 201103L <= YY_CPLUSPLUS
3681 static
3682 symbol_type
3684 {
3685 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3686 }
3687#else
3688 static
3689 symbol_type
3691 {
3693 }
3694#endif
3695#if 201103L <= YY_CPLUSPLUS
3696 static
3697 symbol_type
3699 {
3700 return symbol_type (token::TOKEN_RELAY, std::move (l));
3701 }
3702#else
3703 static
3704 symbol_type
3706 {
3707 return symbol_type (token::TOKEN_RELAY, l);
3708 }
3709#endif
3710#if 201103L <= YY_CPLUSPLUS
3711 static
3712 symbol_type
3714 {
3715 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3716 }
3717#else
3718 static
3719 symbol_type
3721 {
3723 }
3724#endif
3725#if 201103L <= YY_CPLUSPLUS
3726 static
3727 symbol_type
3729 {
3730 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
3731 }
3732#else
3733 static
3734 symbol_type
3736 {
3738 }
3739#endif
3740#if 201103L <= YY_CPLUSPLUS
3741 static
3742 symbol_type
3744 {
3745 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
3746 }
3747#else
3748 static
3749 symbol_type
3751 {
3753 }
3754#endif
3755#if 201103L <= YY_CPLUSPLUS
3756 static
3757 symbol_type
3759 {
3760 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
3761 }
3762#else
3763 static
3764 symbol_type
3766 {
3768 }
3769#endif
3770#if 201103L <= YY_CPLUSPLUS
3771 static
3772 symbol_type
3774 {
3775 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
3776 }
3777#else
3778 static
3779 symbol_type
3781 {
3783 }
3784#endif
3785#if 201103L <= YY_CPLUSPLUS
3786 static
3787 symbol_type
3789 {
3790 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
3791 }
3792#else
3793 static
3794 symbol_type
3796 {
3798 }
3799#endif
3800#if 201103L <= YY_CPLUSPLUS
3801 static
3802 symbol_type
3804 {
3805 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
3806 }
3807#else
3808 static
3809 symbol_type
3811 {
3813 }
3814#endif
3815#if 201103L <= YY_CPLUSPLUS
3816 static
3817 symbol_type
3819 {
3820 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
3821 }
3822#else
3823 static
3824 symbol_type
3826 {
3828 }
3829#endif
3830#if 201103L <= YY_CPLUSPLUS
3831 static
3832 symbol_type
3834 {
3835 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
3836 }
3837#else
3838 static
3839 symbol_type
3841 {
3843 }
3844#endif
3845#if 201103L <= YY_CPLUSPLUS
3846 static
3847 symbol_type
3849 {
3850 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
3851 }
3852#else
3853 static
3854 symbol_type
3856 {
3858 }
3859#endif
3860#if 201103L <= YY_CPLUSPLUS
3861 static
3862 symbol_type
3864 {
3865 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
3866 }
3867#else
3868 static
3869 symbol_type
3871 {
3873 }
3874#endif
3875#if 201103L <= YY_CPLUSPLUS
3876 static
3877 symbol_type
3879 {
3880 return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
3881 }
3882#else
3883 static
3884 symbol_type
3886 {
3888 }
3889#endif
3890#if 201103L <= YY_CPLUSPLUS
3891 static
3892 symbol_type
3894 {
3895 return symbol_type (token::TOKEN_LLT, std::move (l));
3896 }
3897#else
3898 static
3899 symbol_type
3901 {
3902 return symbol_type (token::TOKEN_LLT, l);
3903 }
3904#endif
3905#if 201103L <= YY_CPLUSPLUS
3906 static
3907 symbol_type
3909 {
3910 return symbol_type (token::TOKEN_EN, std::move (l));
3911 }
3912#else
3913 static
3914 symbol_type
3916 {
3917 return symbol_type (token::TOKEN_EN, l);
3918 }
3919#endif
3920#if 201103L <= YY_CPLUSPLUS
3921 static
3922 symbol_type
3924 {
3925 return symbol_type (token::TOKEN_LL, std::move (l));
3926 }
3927#else
3928 static
3929 symbol_type
3931 {
3932 return symbol_type (token::TOKEN_LL, l);
3933 }
3934#endif
3935#if 201103L <= YY_CPLUSPLUS
3936 static
3937 symbol_type
3939 {
3940 return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
3941 }
3942#else
3943 static
3944 symbol_type
3946 {
3948 }
3949#endif
3950#if 201103L <= YY_CPLUSPLUS
3951 static
3952 symbol_type
3954 {
3955 return symbol_type (token::TOKEN_HTYPE, std::move (l));
3956 }
3957#else
3958 static
3959 symbol_type
3961 {
3962 return symbol_type (token::TOKEN_HTYPE, l);
3963 }
3964#endif
3965#if 201103L <= YY_CPLUSPLUS
3966 static
3967 symbol_type
3969 {
3970 return symbol_type (token::TOKEN_TIME, std::move (l));
3971 }
3972#else
3973 static
3974 symbol_type
3976 {
3977 return symbol_type (token::TOKEN_TIME, l);
3978 }
3979#endif
3980#if 201103L <= YY_CPLUSPLUS
3981 static
3982 symbol_type
3984 {
3985 return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
3986 }
3987#else
3988 static
3989 symbol_type
3991 {
3993 }
3994#endif
3995#if 201103L <= YY_CPLUSPLUS
3996 static
3997 symbol_type
3999 {
4000 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4001 }
4002#else
4003 static
4004 symbol_type
4006 {
4008 }
4009#endif
4010#if 201103L <= YY_CPLUSPLUS
4011 static
4012 symbol_type
4014 {
4015 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4016 }
4017#else
4018 static
4019 symbol_type
4021 {
4023 }
4024#endif
4025#if 201103L <= YY_CPLUSPLUS
4026 static
4027 symbol_type
4029 {
4030 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4031 }
4032#else
4033 static
4034 symbol_type
4036 {
4038 }
4039#endif
4040#if 201103L <= YY_CPLUSPLUS
4041 static
4042 symbol_type
4044 {
4045 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4046 }
4047#else
4048 static
4049 symbol_type
4051 {
4053 }
4054#endif
4055#if 201103L <= YY_CPLUSPLUS
4056 static
4057 symbol_type
4059 {
4060 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4061 }
4062#else
4063 static
4064 symbol_type
4066 {
4068 }
4069#endif
4070#if 201103L <= YY_CPLUSPLUS
4071 static
4072 symbol_type
4074 {
4075 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4076 }
4077#else
4078 static
4079 symbol_type
4081 {
4083 }
4084#endif
4085#if 201103L <= YY_CPLUSPLUS
4086 static
4087 symbol_type
4089 {
4090 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4091 }
4092#else
4093 static
4094 symbol_type
4096 {
4098 }
4099#endif
4100#if 201103L <= YY_CPLUSPLUS
4101 static
4102 symbol_type
4104 {
4105 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4106 }
4107#else
4108 static
4109 symbol_type
4111 {
4113 }
4114#endif
4115#if 201103L <= YY_CPLUSPLUS
4116 static
4117 symbol_type
4119 {
4120 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4121 }
4122#else
4123 static
4124 symbol_type
4126 {
4128 }
4129#endif
4130#if 201103L <= YY_CPLUSPLUS
4131 static
4132 symbol_type
4134 {
4135 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4136 }
4137#else
4138 static
4139 symbol_type
4141 {
4143 }
4144#endif
4145#if 201103L <= YY_CPLUSPLUS
4146 static
4147 symbol_type
4149 {
4150 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4151 }
4152#else
4153 static
4154 symbol_type
4156 {
4158 }
4159#endif
4160#if 201103L <= YY_CPLUSPLUS
4161 static
4162 symbol_type
4164 {
4165 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4166 }
4167#else
4168 static
4169 symbol_type
4171 {
4173 }
4174#endif
4175#if 201103L <= YY_CPLUSPLUS
4176 static
4177 symbol_type
4179 {
4180 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4181 }
4182#else
4183 static
4184 symbol_type
4186 {
4188 }
4189#endif
4190#if 201103L <= YY_CPLUSPLUS
4191 static
4192 symbol_type
4194 {
4195 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4196 }
4197#else
4198 static
4199 symbol_type
4201 {
4203 }
4204#endif
4205#if 201103L <= YY_CPLUSPLUS
4206 static
4207 symbol_type
4209 {
4210 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4211 }
4212#else
4213 static
4214 symbol_type
4216 {
4218 }
4219#endif
4220#if 201103L <= YY_CPLUSPLUS
4221 static
4222 symbol_type
4224 {
4225 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4226 }
4227#else
4228 static
4229 symbol_type
4231 {
4233 }
4234#endif
4235#if 201103L <= YY_CPLUSPLUS
4236 static
4237 symbol_type
4239 {
4240 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4241 }
4242#else
4243 static
4244 symbol_type
4246 {
4248 }
4249#endif
4250#if 201103L <= YY_CPLUSPLUS
4251 static
4252 symbol_type
4254 {
4255 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4256 }
4257#else
4258 static
4259 symbol_type
4261 {
4263 }
4264#endif
4265#if 201103L <= YY_CPLUSPLUS
4266 static
4267 symbol_type
4269 {
4270 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4271 }
4272#else
4273 static
4274 symbol_type
4276 {
4278 }
4279#endif
4280#if 201103L <= YY_CPLUSPLUS
4281 static
4282 symbol_type
4284 {
4285 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4286 }
4287#else
4288 static
4289 symbol_type
4291 {
4293 }
4294#endif
4295#if 201103L <= YY_CPLUSPLUS
4296 static
4297 symbol_type
4299 {
4300 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4301 }
4302#else
4303 static
4304 symbol_type
4306 {
4308 }
4309#endif
4310#if 201103L <= YY_CPLUSPLUS
4311 static
4312 symbol_type
4314 {
4315 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4316 }
4317#else
4318 static
4319 symbol_type
4321 {
4323 }
4324#endif
4325#if 201103L <= YY_CPLUSPLUS
4326 static
4327 symbol_type
4329 {
4330 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4331 }
4332#else
4333 static
4334 symbol_type
4336 {
4338 }
4339#endif
4340#if 201103L <= YY_CPLUSPLUS
4341 static
4342 symbol_type
4344 {
4345 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4346 }
4347#else
4348 static
4349 symbol_type
4351 {
4353 }
4354#endif
4355#if 201103L <= YY_CPLUSPLUS
4356 static
4357 symbol_type
4359 {
4360 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4361 }
4362#else
4363 static
4364 symbol_type
4366 {
4368 }
4369#endif
4370#if 201103L <= YY_CPLUSPLUS
4371 static
4372 symbol_type
4374 {
4375 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4376 }
4377#else
4378 static
4379 symbol_type
4381 {
4383 }
4384#endif
4385#if 201103L <= YY_CPLUSPLUS
4386 static
4387 symbol_type
4389 {
4390 return symbol_type (token::TOKEN_UDP, std::move (l));
4391 }
4392#else
4393 static
4394 symbol_type
4396 {
4397 return symbol_type (token::TOKEN_UDP, l);
4398 }
4399#endif
4400#if 201103L <= YY_CPLUSPLUS
4401 static
4402 symbol_type
4404 {
4405 return symbol_type (token::TOKEN_TCP, std::move (l));
4406 }
4407#else
4408 static
4409 symbol_type
4411 {
4412 return symbol_type (token::TOKEN_TCP, l);
4413 }
4414#endif
4415#if 201103L <= YY_CPLUSPLUS
4416 static
4417 symbol_type
4419 {
4420 return symbol_type (token::TOKEN_JSON, std::move (l));
4421 }
4422#else
4423 static
4424 symbol_type
4426 {
4427 return symbol_type (token::TOKEN_JSON, l);
4428 }
4429#endif
4430#if 201103L <= YY_CPLUSPLUS
4431 static
4432 symbol_type
4434 {
4435 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4436 }
4437#else
4438 static
4439 symbol_type
4441 {
4443 }
4444#endif
4445#if 201103L <= YY_CPLUSPLUS
4446 static
4447 symbol_type
4449 {
4450 return symbol_type (token::TOKEN_NEVER, std::move (l));
4451 }
4452#else
4453 static
4454 symbol_type
4456 {
4457 return symbol_type (token::TOKEN_NEVER, l);
4458 }
4459#endif
4460#if 201103L <= YY_CPLUSPLUS
4461 static
4462 symbol_type
4464 {
4465 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4466 }
4467#else
4468 static
4469 symbol_type
4471 {
4472 return symbol_type (token::TOKEN_ALWAYS, l);
4473 }
4474#endif
4475#if 201103L <= YY_CPLUSPLUS
4476 static
4477 symbol_type
4479 {
4480 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4481 }
4482#else
4483 static
4484 symbol_type
4486 {
4488 }
4489#endif
4490#if 201103L <= YY_CPLUSPLUS
4491 static
4492 symbol_type
4494 {
4495 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4496 }
4497#else
4498 static
4499 symbol_type
4501 {
4503 }
4504#endif
4505#if 201103L <= YY_CPLUSPLUS
4506 static
4507 symbol_type
4509 {
4510 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4511 }
4512#else
4513 static
4514 symbol_type
4516 {
4518 }
4519#endif
4520#if 201103L <= YY_CPLUSPLUS
4521 static
4522 symbol_type
4524 {
4525 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
4526 }
4527#else
4528 static
4529 symbol_type
4531 {
4533 }
4534#endif
4535#if 201103L <= YY_CPLUSPLUS
4536 static
4537 symbol_type
4539 {
4540 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4541 }
4542#else
4543 static
4544 symbol_type
4546 {
4548 }
4549#endif
4550#if 201103L <= YY_CPLUSPLUS
4551 static
4552 symbol_type
4554 {
4555 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
4556 }
4557#else
4558 static
4559 symbol_type
4561 {
4563 }
4564#endif
4565#if 201103L <= YY_CPLUSPLUS
4566 static
4567 symbol_type
4569 {
4570 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4571 }
4572#else
4573 static
4574 symbol_type
4576 {
4578 }
4579#endif
4580#if 201103L <= YY_CPLUSPLUS
4581 static
4582 symbol_type
4584 {
4585 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4586 }
4587#else
4588 static
4589 symbol_type
4591 {
4593 }
4594#endif
4595#if 201103L <= YY_CPLUSPLUS
4596 static
4597 symbol_type
4599 {
4600 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4601 }
4602#else
4603 static
4604 symbol_type
4606 {
4607 return symbol_type (token::TOKEN_OUTPUT, l);
4608 }
4609#endif
4610#if 201103L <= YY_CPLUSPLUS
4611 static
4612 symbol_type
4614 {
4615 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4616 }
4617#else
4618 static
4619 symbol_type
4621 {
4623 }
4624#endif
4625#if 201103L <= YY_CPLUSPLUS
4626 static
4627 symbol_type
4629 {
4630 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4631 }
4632#else
4633 static
4634 symbol_type
4636 {
4638 }
4639#endif
4640#if 201103L <= YY_CPLUSPLUS
4641 static
4642 symbol_type
4644 {
4645 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4646 }
4647#else
4648 static
4649 symbol_type
4651 {
4652 return symbol_type (token::TOKEN_FLUSH, l);
4653 }
4654#endif
4655#if 201103L <= YY_CPLUSPLUS
4656 static
4657 symbol_type
4659 {
4660 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4661 }
4662#else
4663 static
4664 symbol_type
4666 {
4668 }
4669#endif
4670#if 201103L <= YY_CPLUSPLUS
4671 static
4672 symbol_type
4674 {
4675 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4676 }
4677#else
4678 static
4679 symbol_type
4681 {
4682 return symbol_type (token::TOKEN_MAXVER, l);
4683 }
4684#endif
4685#if 201103L <= YY_CPLUSPLUS
4686 static
4687 symbol_type
4689 {
4690 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4691 }
4692#else
4693 static
4694 symbol_type
4696 {
4698 }
4699#endif
4700#if 201103L <= YY_CPLUSPLUS
4701 static
4702 symbol_type
4704 {
4705 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4706 }
4707#else
4708 static
4709 symbol_type
4711 {
4713 }
4714#endif
4715#if 201103L <= YY_CPLUSPLUS
4716 static
4717 symbol_type
4719 {
4720 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4721 }
4722#else
4723 static
4724 symbol_type
4726 {
4728 }
4729#endif
4730#if 201103L <= YY_CPLUSPLUS
4731 static
4732 symbol_type
4734 {
4735 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4736 }
4737#else
4738 static
4739 symbol_type
4741 {
4743 }
4744#endif
4745#if 201103L <= YY_CPLUSPLUS
4746 static
4747 symbol_type
4749 {
4750 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
4751 }
4752#else
4753 static
4754 symbol_type
4756 {
4758 }
4759#endif
4760#if 201103L <= YY_CPLUSPLUS
4761 static
4762 symbol_type
4764 {
4765 return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
4766 }
4767#else
4768 static
4769 symbol_type
4771 {
4773 }
4774#endif
4775#if 201103L <= YY_CPLUSPLUS
4776 static
4777 symbol_type
4779 {
4780 return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
4781 }
4782#else
4783 static
4784 symbol_type
4786 {
4788 }
4789#endif
4790#if 201103L <= YY_CPLUSPLUS
4791 static
4792 symbol_type
4794 {
4795 return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
4796 }
4797#else
4798 static
4799 symbol_type
4801 {
4803 }
4804#endif
4805#if 201103L <= YY_CPLUSPLUS
4806 static
4807 symbol_type
4809 {
4810 return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
4811 }
4812#else
4813 static
4814 symbol_type
4816 {
4818 }
4819#endif
4820#if 201103L <= YY_CPLUSPLUS
4821 static
4822 symbol_type
4824 {
4825 return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
4826 }
4827#else
4828 static
4829 symbol_type
4831 {
4833 }
4834#endif
4835#if 201103L <= YY_CPLUSPLUS
4836 static
4837 symbol_type
4839 {
4840 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
4841 }
4842#else
4843 static
4844 symbol_type
4846 {
4848 }
4849#endif
4850#if 201103L <= YY_CPLUSPLUS
4851 static
4852 symbol_type
4854 {
4855 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
4856 }
4857#else
4858 static
4859 symbol_type
4861 {
4863 }
4864#endif
4865#if 201103L <= YY_CPLUSPLUS
4866 static
4867 symbol_type
4869 {
4870 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
4871 }
4872#else
4873 static
4874 symbol_type
4876 {
4878 }
4879#endif
4880#if 201103L <= YY_CPLUSPLUS
4881 static
4882 symbol_type
4884 {
4885 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
4886 }
4887#else
4888 static
4889 symbol_type
4891 {
4893 }
4894#endif
4895#if 201103L <= YY_CPLUSPLUS
4896 static
4897 symbol_type
4899 {
4900 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
4901 }
4902#else
4903 static
4904 symbol_type
4906 {
4908 }
4909#endif
4910#if 201103L <= YY_CPLUSPLUS
4911 static
4912 symbol_type
4914 {
4915 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
4916 }
4917#else
4918 static
4919 symbol_type
4921 {
4923 }
4924#endif
4925#if 201103L <= YY_CPLUSPLUS
4926 static
4927 symbol_type
4929 {
4930 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
4931 }
4932#else
4933 static
4934 symbol_type
4936 {
4938 }
4939#endif
4940#if 201103L <= YY_CPLUSPLUS
4941 static
4942 symbol_type
4943 make_STRING (std::string v, location_type l)
4944 {
4945 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
4946 }
4947#else
4948 static
4949 symbol_type
4950 make_STRING (const std::string& v, const location_type& l)
4951 {
4952 return symbol_type (token::TOKEN_STRING, v, l);
4953 }
4954#endif
4955#if 201103L <= YY_CPLUSPLUS
4956 static
4957 symbol_type
4958 make_INTEGER (int64_t v, location_type l)
4959 {
4960 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
4961 }
4962#else
4963 static
4964 symbol_type
4965 make_INTEGER (const int64_t& v, const location_type& l)
4966 {
4967 return symbol_type (token::TOKEN_INTEGER, v, l);
4968 }
4969#endif
4970#if 201103L <= YY_CPLUSPLUS
4971 static
4972 symbol_type
4973 make_FLOAT (double v, location_type l)
4974 {
4975 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
4976 }
4977#else
4978 static
4979 symbol_type
4980 make_FLOAT (const double& v, const location_type& l)
4981 {
4982 return symbol_type (token::TOKEN_FLOAT, v, l);
4983 }
4984#endif
4985#if 201103L <= YY_CPLUSPLUS
4986 static
4987 symbol_type
4988 make_BOOLEAN (bool v, location_type l)
4989 {
4990 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
4991 }
4992#else
4993 static
4994 symbol_type
4995 make_BOOLEAN (const bool& v, const location_type& l)
4996 {
4997 return symbol_type (token::TOKEN_BOOLEAN, v, l);
4998 }
4999#endif
5000
5001
5003 {
5004 public:
5005 context (const Dhcp6Parser& yyparser, const symbol_type& yyla);
5006 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
5007 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
5008 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
5009
5013 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
5014
5015 private:
5016 const Dhcp6Parser& yyparser_;
5017 const symbol_type& yyla_;
5018 };
5019
5020 private:
5021#if YY_CPLUSPLUS < 201103L
5023 Dhcp6Parser (const Dhcp6Parser&);
5025 Dhcp6Parser& operator= (const Dhcp6Parser&);
5026#endif
5027
5028
5030 typedef short state_type;
5031
5033 int yy_syntax_error_arguments_ (const context& yyctx,
5034 symbol_kind_type yyarg[], int yyargn) const;
5035
5038 virtual std::string yysyntax_error_ (const context& yyctx) const;
5042 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
5043
5046 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
5047
5050 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
5051
5052 static const short yypact_ninf_;
5053 static const signed char yytable_ninf_;
5054
5058 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
5059
5061 static std::string yytnamerr_ (const char *yystr);
5062
5064 static const char* const yytname_[];
5065
5066
5067 // Tables.
5068 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5069 // STATE-NUM.
5070 static const short yypact_[];
5071
5072 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5073 // Performed when YYTABLE does not specify something else to do. Zero
5074 // means the default is an error.
5075 static const short yydefact_[];
5076
5077 // YYPGOTO[NTERM-NUM].
5078 static const short yypgoto_[];
5079
5080 // YYDEFGOTO[NTERM-NUM].
5081 static const short yydefgoto_[];
5082
5083 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5084 // positive, shift that token. If negative, reduce the rule whose
5085 // number is the opposite. If YYTABLE_NINF, syntax error.
5086 static const short yytable_[];
5087
5088 static const short yycheck_[];
5089
5090 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
5091 // state STATE-NUM.
5092 static const short yystos_[];
5093
5094 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
5095 static const short yyr1_[];
5096
5097 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
5098 static const signed char yyr2_[];
5099
5100
5101#if PARSER6_DEBUG
5102 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5103 static const short yyrline_[];
5105 virtual void yy_reduce_print_ (int r) const;
5107 virtual void yy_stack_print_ () const;
5108
5110 int yydebug_;
5112 std::ostream* yycdebug_;
5113
5117 template <typename Base>
5118 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5119#endif
5120
5125 template <typename Base>
5126 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5127
5128 private:
5130 struct by_state
5131 {
5133 by_state () YY_NOEXCEPT;
5134
5136 typedef state_type kind_type;
5137
5139 by_state (kind_type s) YY_NOEXCEPT;
5140
5142 by_state (const by_state& that) YY_NOEXCEPT;
5143
5145 void clear () YY_NOEXCEPT;
5146
5148 void move (by_state& that);
5149
5152 symbol_kind_type kind () const YY_NOEXCEPT;
5153
5156 enum { empty_state = 0 };
5157
5160 state_type state;
5161 };
5162
5164 struct stack_symbol_type : basic_symbol<by_state>
5165 {
5167 typedef basic_symbol<by_state> super_type;
5169 stack_symbol_type ();
5171 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5173 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5174#if YY_CPLUSPLUS < 201103L
5177 stack_symbol_type& operator= (stack_symbol_type& that);
5178
5181 stack_symbol_type& operator= (const stack_symbol_type& that);
5182#endif
5183 };
5184
5186 template <typename T, typename S = std::vector<T> >
5187 class stack
5188 {
5189 public:
5190 // Hide our reversed order.
5191 typedef typename S::iterator iterator;
5192 typedef typename S::const_iterator const_iterator;
5193 typedef typename S::size_type size_type;
5194 typedef typename std::ptrdiff_t index_type;
5195
5196 stack (size_type n = 200) YY_NOEXCEPT
5197 : seq_ (n)
5198 {}
5199
5200#if 201103L <= YY_CPLUSPLUS
5202 stack (const stack&) = delete;
5204 stack& operator= (const stack&) = delete;
5205#endif
5206
5210 const T&
5211 operator[] (index_type i) const
5212 {
5213 return seq_[size_type (size () - 1 - i)];
5214 }
5215
5219 T&
5220 operator[] (index_type i)
5221 {
5222 return seq_[size_type (size () - 1 - i)];
5223 }
5224
5228 void
5229 push (YY_MOVE_REF (T) t)
5230 {
5231 seq_.push_back (T ());
5232 operator[] (0).move (t);
5233 }
5234
5236 void
5237 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5238 {
5239 for (; 0 < n; --n)
5240 seq_.pop_back ();
5241 }
5242
5244 void
5245 clear () YY_NOEXCEPT
5246 {
5247 seq_.clear ();
5248 }
5249
5251 index_type
5252 size () const YY_NOEXCEPT
5253 {
5254 return index_type (seq_.size ());
5255 }
5256
5258 const_iterator
5259 begin () const YY_NOEXCEPT
5260 {
5261 return seq_.begin ();
5262 }
5263
5265 const_iterator
5266 end () const YY_NOEXCEPT
5267 {
5268 return seq_.end ();
5269 }
5270
5272 class slice
5273 {
5274 public:
5275 slice (const stack& stack, index_type range) YY_NOEXCEPT
5276 : stack_ (stack)
5277 , range_ (range)
5278 {}
5279
5280 const T&
5281 operator[] (index_type i) const
5282 {
5283 return stack_[range_ - i];
5284 }
5285
5286 private:
5287 const stack& stack_;
5288 index_type range_;
5289 };
5290
5291 private:
5292#if YY_CPLUSPLUS < 201103L
5294 stack (const stack&);
5296 stack& operator= (const stack&);
5297#endif
5299 S seq_;
5300 };
5301
5302
5304 typedef stack<stack_symbol_type> stack_type;
5305
5307 stack_type yystack_;
5308
5314 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5315
5322 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5323
5325 void yypop_ (int n = 1) YY_NOEXCEPT;
5326
5328 enum
5329 {
5330 yylast_ = 1327,
5331 yynnts_ = 442,
5332 yyfinal_ = 30
5333 };
5334
5335
5336 // User arguments.
5338
5339 };
5340
5341 inline
5343 Dhcp6Parser::yytranslate_ (int t) YY_NOEXCEPT
5344 {
5345 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
5346 // TOKEN-NUM as returned by yylex.
5347 static
5348 const unsigned char
5349 translate_table[] =
5350 {
5351 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5363 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5364 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5365 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5366 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5367 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5368 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5369 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5370 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5371 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5372 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5373 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5374 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5375 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5376 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5377 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5378 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5379 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5380 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5381 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5382 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5383 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5384 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5385 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5386 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5387 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5388 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5389 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5390 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5391 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5392 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5393 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5394 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5395 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5396 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5397 205, 206, 207, 208, 209, 210, 211, 212, 213
5398 };
5399 // Last valid token kind.
5400 const int code_max = 468;
5401
5402 if (t <= 0)
5403 return symbol_kind::S_YYEOF;
5404 else if (t <= code_max)
5405 return static_cast <symbol_kind_type> (translate_table[t]);
5406 else
5408 }
5409
5410 // basic_symbol.
5411 template <typename Base>
5413 : Base (that)
5414 , value ()
5415 , location (that.location)
5416 {
5417 switch (this->kind ())
5418 {
5419 case symbol_kind::S_value: // value
5420 case symbol_kind::S_map_value: // map_value
5421 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5422 case symbol_kind::S_db_type: // db_type
5423 case symbol_kind::S_on_fail_mode: // on_fail_mode
5424 case symbol_kind::S_hr_mode: // hr_mode
5425 case symbol_kind::S_duid_type: // duid_type
5426 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5427 value.copy< ElementPtr > (YY_MOVE (that.value));
5428 break;
5429
5430 case symbol_kind::S_BOOLEAN: // "boolean"
5431 value.copy< bool > (YY_MOVE (that.value));
5432 break;
5433
5434 case symbol_kind::S_FLOAT: // "floating point"
5435 value.copy< double > (YY_MOVE (that.value));
5436 break;
5437
5438 case symbol_kind::S_INTEGER: // "integer"
5439 value.copy< int64_t > (YY_MOVE (that.value));
5440 break;
5441
5442 case symbol_kind::S_STRING: // "constant string"
5443 value.copy< std::string > (YY_MOVE (that.value));
5444 break;
5445
5446 default:
5447 break;
5448 }
5449
5450 }
5451
5452
5453
5454
5455 template <typename Base>
5458 {
5459 return this->kind ();
5460 }
5461
5462
5463 template <typename Base>
5464 bool
5466 {
5467 return this->kind () == symbol_kind::S_YYEMPTY;
5468 }
5469
5470 template <typename Base>
5471 void
5473 {
5474 super_type::move (s);
5475 switch (this->kind ())
5476 {
5477 case symbol_kind::S_value: // value
5478 case symbol_kind::S_map_value: // map_value
5479 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5480 case symbol_kind::S_db_type: // db_type
5481 case symbol_kind::S_on_fail_mode: // on_fail_mode
5482 case symbol_kind::S_hr_mode: // hr_mode
5483 case symbol_kind::S_duid_type: // duid_type
5484 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5485 value.move< ElementPtr > (YY_MOVE (s.value));
5486 break;
5487
5488 case symbol_kind::S_BOOLEAN: // "boolean"
5489 value.move< bool > (YY_MOVE (s.value));
5490 break;
5491
5492 case symbol_kind::S_FLOAT: // "floating point"
5493 value.move< double > (YY_MOVE (s.value));
5494 break;
5495
5496 case symbol_kind::S_INTEGER: // "integer"
5497 value.move< int64_t > (YY_MOVE (s.value));
5498 break;
5499
5500 case symbol_kind::S_STRING: // "constant string"
5501 value.move< std::string > (YY_MOVE (s.value));
5502 break;
5503
5504 default:
5505 break;
5506 }
5507
5508 location = YY_MOVE (s.location);
5509 }
5510
5511 // by_kind.
5512 inline
5514 : kind_ (symbol_kind::S_YYEMPTY)
5515 {}
5516
5517#if 201103L <= YY_CPLUSPLUS
5518 inline
5520 : kind_ (that.kind_)
5521 {
5522 that.clear ();
5523 }
5524#endif
5525
5526 inline
5528 : kind_ (that.kind_)
5529 {}
5530
5531 inline
5533 : kind_ (yytranslate_ (t))
5534 {}
5535
5536
5537
5538 inline
5539 void
5541 {
5542 kind_ = symbol_kind::S_YYEMPTY;
5543 }
5544
5545 inline
5546 void
5548 {
5549 kind_ = that.kind_;
5550 that.clear ();
5551 }
5552
5553 inline
5556 {
5557 return kind_;
5558 }
5559
5560
5561 inline
5564 {
5565 return this->kind ();
5566 }
5567
5568
5569#line 14 "dhcp6_parser.yy"
5570} } // isc::dhcp
5571#line 5572 "dhcp6_parser.h"
5572
5573
5574
5575
5576#endif // !YY_PARSER6_DHCP6_PARSER_H_INCLUDED
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: dhcp6_parser.h:230
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
Definition: dhcp6_parser.h:348
const T & as() const YY_NOEXCEPT
Const accessor to a built T (for printer).
Definition: dhcp6_parser.h:330
T & emplace()
Instantiate an empty T in here.
Definition: dhcp6_parser.h:278
T & build()
Instantiate an empty T in here.
Definition: dhcp6_parser.h:302
void copy(const self_type &that)
Copy the content of that to this.
Definition: dhcp6_parser.h:385
long double yyalign_me_
Strongest alignment constraints.
Definition: dhcp6_parser.h:458
char yyraw_[size]
A buffer large enough to store any of the semantic values.
Definition: dhcp6_parser.h:460
T & emplace(const T &t)
Instantiate a T in here from t.
Definition: dhcp6_parser.h:289
T & as() YY_NOEXCEPT
Accessor to a built T.
Definition: dhcp6_parser.h:319
~value_type() YY_NOEXCEPT
Destruction, allowed only if empty.
Definition: dhcp6_parser.h:258
void destroy()
Destroy the stored T.
Definition: dhcp6_parser.h:393
T & build(const T &t)
Instantiate a T in here from t.
Definition: dhcp6_parser.h:311
void move(self_type &that)
Move the content of that to this.
Definition: dhcp6_parser.h:360
value_type() YY_NOEXCEPT
Empty construction.
Definition: dhcp6_parser.h:236
value_type(YY_RVREF(T) t)
Construct and fill.
Definition: dhcp6_parser.h:243
value_type self_type
Type of *this.
Definition: dhcp6_parser.h:233
A Bison parser.
Definition: dhcp6_parser.h:216
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_DISABLED(const location_type &l)
static symbol_type make_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_CIPHER_LIST(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_SENDER_PORT(const location_type &l)
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
static symbol_type make_DHCP6(const location_type &l)
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_REQUIRE_ALL(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_ENTERPRISE_ID(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_EN(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_SUB_DHCP6(const location_type &l)
token::token_kind_type token_kind_type
Token kind, as returned by yylex.
Definition: dhcp6_parser.h:718
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_DELEGATED_LEN(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_INTERFACE_ID(const location_type &l)
static symbol_type make_RESERVATIONS_LOOKUP_FIRST(const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_DATA_DIRECTORY(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_SUB_POOL6(const location_type &l)
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_ALL(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
static symbol_type make_IP_ADDRESSES(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_PREFIX(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
static symbol_type make_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
int debug_level_type
Type for debugging levels.
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_SUBNET6(const location_type &l)
static symbol_type make_PD_POOLS(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_MAX_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_TRUST_ANCHOR(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_TIME(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_OVERRIDE_NO_UPDATE(const location_type &l)
value_type semantic_type
Backward compatibility (Bison 3.8).
Definition: dhcp6_parser.h:469
static symbol_type make_SUB_INTERFACES6(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_MIN_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_LLT(const location_type &l)
static symbol_type make_CERT_FILE(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_PARSER6_error(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
void set_debug_level(debug_level_type l)
Set the current debugging level.
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static const symbol_kind_type YYNTOKENS
The number of tokens.
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_OPTION_DEF(const location_type &l)
Dhcp6Parser(isc::dhcp::Parser6Context &ctx_yyarg)
Build a parser object.
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
location location_type
Symbol locations.
Definition: dhcp6_parser.h:472
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
static symbol_type make_OUT_OF_POOL(const location_type &l)
static symbol_type make_SUB_SUBNET6(const location_type &l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_EXCLUDED_PREFIX(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_MYSQL(const location_type &l)
static symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_MEMFILE(const location_type &l)
static symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_LEASE_DATABASE(const location_type &l)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_HTYPE(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
Definition: dhcp6_parser.h:721
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_PREFIX_LEN(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_IDENTIFIER(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
virtual int parse()
Parse.
static symbol_type make_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_GLOBAL(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_RETRY_WAIT_TIME(const location_type &l)
static symbol_type make_LL(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_DHCP_QUEUE_CONTROL(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_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
static symbol_type make_EARLY_GLOBAL_RESERVATIONS_LOOKUP(const location_type &l)
static symbol_type make_SUB_PD_POOL(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_POSTGRESQL(const location_type &l)
static symbol_type make_KEY_FILE(const location_type &l)
static symbol_type make_GENERATED_PREFIX(const location_type &l)
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_TOPLEVEL_DHCP6(const location_type &l)
static symbol_type make_SERVER_ID(const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_PARSER6_UNDEF(const location_type &l)
static symbol_type make_RELAY_SUPPLIED_OPTIONS(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_PREFIXES(const location_type &l)
static symbol_type make_RESERVATION_MODE(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
void set_debug_stream(std::ostream &)
Set the current debugging stream.
static symbol_type make_MAC_SOURCES(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_TEST(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_MAX_RETRIES(const location_type &l)
static symbol_type make_RAPID_COMMIT(const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_EXCLUDED_PREFIX_LEN(const location_type &l)
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
Evaluation context, an interface to the expression evaluation.
Forward declaration of the ParserContext class.
#define YY_RVREF(Type)
Definition: dhcp6_parser.h:86
#define YY_MOVE_REF(Type)
Definition: dhcp6_parser.h:85
#define YY_NOEXCEPT
Definition: dhcp6_parser.h:95
#define YY_ATTRIBUTE_PURE
Definition: dhcp6_parser.h:117
#define YY_MOVE
Definition: dhcp6_parser.h:83
#define PARSER6__ASSERT
Definition: dhcp6_parser.h:109
#define YY_NOTHROW
Definition: dhcp6_parser.h:96
boost::shared_ptr< Element > ElementPtr
Definition: data.h:24
Defines the logger used by the top-level component of kea-lfc.
value_type value
The semantic value.
location_type location
The location.
basic_symbol() YY_NOEXCEPT
Default constructor.
basic_symbol(typename Base::kind_type t, const int64_t &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const ElementPtr &v, const location_type &l)
void move(basic_symbol &s)
Destructive move, s is emptied into this.
basic_symbol(typename Base::kind_type t, const location_type &l)
Constructors for typed symbols.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
bool empty() const YY_NOEXCEPT
Whether empty.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
basic_symbol(typename Base::kind_type t, const std::string &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
Type access provider for token (enum) based symbols.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
void move(by_kind &that)
Steal the symbol kind from that.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
token_kind_type kind_type
The symbol kind as needed by the constructor.
by_kind() YY_NOEXCEPT
Default constructor.
symbol_kind_type kind_
The symbol kind.
void clear() YY_NOEXCEPT
Record that this symbol is empty.
"External" symbols: returned by the scanner.
symbol_type() YY_NOEXCEPT
Empty symbol.
basic_symbol< by_kind > super_type
Superclass.
Syntax errors thrown from user actions.
Definition: dhcp6_parser.h:476
syntax_error(const location_type &l, const std::string &m)
Definition: dhcp6_parser.h:477
syntax_error(const syntax_error &s)
Definition: dhcp6_parser.h:482
~syntax_error() YY_NOEXCEPT YY_NOTHROW
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).
Definition: dhcp6_parser.h:714