Kea 2.0.2
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_LEASE_DATABASE = 273, // "lease-database"
517 TOKEN_HOSTS_DATABASE = 274, // "hosts-database"
518 TOKEN_HOSTS_DATABASES = 275, // "hosts-databases"
519 TOKEN_TYPE = 276, // "type"
520 TOKEN_MEMFILE = 277, // "memfile"
521 TOKEN_MYSQL = 278, // "mysql"
522 TOKEN_POSTGRESQL = 279, // "postgresql"
523 TOKEN_CQL = 280, // "cql"
524 TOKEN_USER = 281, // "user"
525 TOKEN_PASSWORD = 282, // "password"
526 TOKEN_HOST = 283, // "host"
527 TOKEN_PORT = 284, // "port"
528 TOKEN_PERSIST = 285, // "persist"
529 TOKEN_LFC_INTERVAL = 286, // "lfc-interval"
530 TOKEN_READONLY = 287, // "readonly"
531 TOKEN_CONNECT_TIMEOUT = 288, // "connect-timeout"
532 TOKEN_CONTACT_POINTS = 289, // "contact-points"
533 TOKEN_MAX_RECONNECT_TRIES = 290, // "max-reconnect-tries"
534 TOKEN_RECONNECT_WAIT_TIME = 291, // "reconnect-wait-time"
535 TOKEN_ON_FAIL = 292, // "on-fail"
536 TOKEN_STOP_RETRY_EXIT = 293, // "stop-retry-exit"
537 TOKEN_SERVE_RETRY_EXIT = 294, // "serve-retry-exit"
538 TOKEN_SERVE_RETRY_CONTINUE = 295, // "serve-retry-continue"
539 TOKEN_KEYSPACE = 296, // "keyspace"
540 TOKEN_CONSISTENCY = 297, // "consistency"
541 TOKEN_SERIAL_CONSISTENCY = 298, // "serial-consistency"
542 TOKEN_REQUEST_TIMEOUT = 299, // "request-timeout"
543 TOKEN_TCP_KEEPALIVE = 300, // "tcp-keepalive"
544 TOKEN_TCP_NODELAY = 301, // "tcp-nodelay"
545 TOKEN_MAX_ROW_ERRORS = 302, // "max-row-errors"
546 TOKEN_PREFERRED_LIFETIME = 303, // "preferred-lifetime"
547 TOKEN_MIN_PREFERRED_LIFETIME = 304, // "min-preferred-lifetime"
548 TOKEN_MAX_PREFERRED_LIFETIME = 305, // "max-preferred-lifetime"
549 TOKEN_VALID_LIFETIME = 306, // "valid-lifetime"
550 TOKEN_MIN_VALID_LIFETIME = 307, // "min-valid-lifetime"
551 TOKEN_MAX_VALID_LIFETIME = 308, // "max-valid-lifetime"
552 TOKEN_RENEW_TIMER = 309, // "renew-timer"
553 TOKEN_REBIND_TIMER = 310, // "rebind-timer"
554 TOKEN_CALCULATE_TEE_TIMES = 311, // "calculate-tee-times"
555 TOKEN_T1_PERCENT = 312, // "t1-percent"
556 TOKEN_T2_PERCENT = 313, // "t2-percent"
557 TOKEN_CACHE_THRESHOLD = 314, // "cache-threshold"
558 TOKEN_CACHE_MAX_AGE = 315, // "cache-max-age"
559 TOKEN_DECLINE_PROBATION_PERIOD = 316, // "decline-probation-period"
560 TOKEN_SERVER_TAG = 317, // "server-tag"
561 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 318, // "statistic-default-sample-count"
562 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 319, // "statistic-default-sample-age"
563 TOKEN_DDNS_SEND_UPDATES = 320, // "ddns-send-updates"
564 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 321, // "ddns-override-no-update"
565 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 322, // "ddns-override-client-update"
566 TOKEN_DDNS_REPLACE_CLIENT_NAME = 323, // "ddns-replace-client-name"
567 TOKEN_DDNS_GENERATED_PREFIX = 324, // "ddns-generated-prefix"
568 TOKEN_DDNS_QUALIFYING_SUFFIX = 325, // "ddns-qualifying-suffix"
569 TOKEN_DDNS_UPDATE_ON_RENEW = 326, // "ddns-update-on-renew"
570 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 327, // "ddns-use-conflict-resolution"
571 TOKEN_STORE_EXTENDED_INFO = 328, // "store-extended-info"
572 TOKEN_SUBNET6 = 329, // "subnet6"
573 TOKEN_OPTION_DEF = 330, // "option-def"
574 TOKEN_OPTION_DATA = 331, // "option-data"
575 TOKEN_NAME = 332, // "name"
576 TOKEN_DATA = 333, // "data"
577 TOKEN_CODE = 334, // "code"
578 TOKEN_SPACE = 335, // "space"
579 TOKEN_CSV_FORMAT = 336, // "csv-format"
580 TOKEN_ALWAYS_SEND = 337, // "always-send"
581 TOKEN_RECORD_TYPES = 338, // "record-types"
582 TOKEN_ENCAPSULATE = 339, // "encapsulate"
583 TOKEN_ARRAY = 340, // "array"
584 TOKEN_PARKED_PACKET_LIMIT = 341, // "parked-packet-limit"
585 TOKEN_SHARED_NETWORKS = 342, // "shared-networks"
586 TOKEN_POOLS = 343, // "pools"
587 TOKEN_POOL = 344, // "pool"
588 TOKEN_PD_POOLS = 345, // "pd-pools"
589 TOKEN_PREFIX = 346, // "prefix"
590 TOKEN_PREFIX_LEN = 347, // "prefix-len"
591 TOKEN_EXCLUDED_PREFIX = 348, // "excluded-prefix"
592 TOKEN_EXCLUDED_PREFIX_LEN = 349, // "excluded-prefix-len"
593 TOKEN_DELEGATED_LEN = 350, // "delegated-len"
594 TOKEN_USER_CONTEXT = 351, // "user-context"
595 TOKEN_COMMENT = 352, // "comment"
596 TOKEN_SUBNET = 353, // "subnet"
597 TOKEN_INTERFACE = 354, // "interface"
598 TOKEN_INTERFACE_ID = 355, // "interface-id"
599 TOKEN_ID = 356, // "id"
600 TOKEN_RAPID_COMMIT = 357, // "rapid-commit"
601 TOKEN_RESERVATION_MODE = 358, // "reservation-mode"
602 TOKEN_DISABLED = 359, // "disabled"
603 TOKEN_OUT_OF_POOL = 360, // "out-of-pool"
604 TOKEN_GLOBAL = 361, // "global"
605 TOKEN_ALL = 362, // "all"
606 TOKEN_RESERVATIONS_GLOBAL = 363, // "reservations-global"
607 TOKEN_RESERVATIONS_IN_SUBNET = 364, // "reservations-in-subnet"
608 TOKEN_RESERVATIONS_OUT_OF_POOL = 365, // "reservations-out-of-pool"
609 TOKEN_MAC_SOURCES = 366, // "mac-sources"
610 TOKEN_RELAY_SUPPLIED_OPTIONS = 367, // "relay-supplied-options"
611 TOKEN_HOST_RESERVATION_IDENTIFIERS = 368, // "host-reservation-identifiers"
612 TOKEN_SANITY_CHECKS = 369, // "sanity-checks"
613 TOKEN_LEASE_CHECKS = 370, // "lease-checks"
614 TOKEN_CLIENT_CLASSES = 371, // "client-classes"
615 TOKEN_REQUIRE_CLIENT_CLASSES = 372, // "require-client-classes"
616 TOKEN_TEST = 373, // "test"
617 TOKEN_ONLY_IF_REQUIRED = 374, // "only-if-required"
618 TOKEN_CLIENT_CLASS = 375, // "client-class"
619 TOKEN_RESERVATIONS = 376, // "reservations"
620 TOKEN_IP_ADDRESSES = 377, // "ip-addresses"
621 TOKEN_PREFIXES = 378, // "prefixes"
622 TOKEN_DUID = 379, // "duid"
623 TOKEN_HW_ADDRESS = 380, // "hw-address"
624 TOKEN_HOSTNAME = 381, // "hostname"
625 TOKEN_FLEX_ID = 382, // "flex-id"
626 TOKEN_RELAY = 383, // "relay"
627 TOKEN_IP_ADDRESS = 384, // "ip-address"
628 TOKEN_HOOKS_LIBRARIES = 385, // "hooks-libraries"
629 TOKEN_LIBRARY = 386, // "library"
630 TOKEN_PARAMETERS = 387, // "parameters"
631 TOKEN_EXPIRED_LEASES_PROCESSING = 388, // "expired-leases-processing"
632 TOKEN_RECLAIM_TIMER_WAIT_TIME = 389, // "reclaim-timer-wait-time"
633 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 390, // "flush-reclaimed-timer-wait-time"
634 TOKEN_HOLD_RECLAIMED_TIME = 391, // "hold-reclaimed-time"
635 TOKEN_MAX_RECLAIM_LEASES = 392, // "max-reclaim-leases"
636 TOKEN_MAX_RECLAIM_TIME = 393, // "max-reclaim-time"
637 TOKEN_UNWARNED_RECLAIM_CYCLES = 394, // "unwarned-reclaim-cycles"
638 TOKEN_SERVER_ID = 395, // "server-id"
639 TOKEN_LLT = 396, // "LLT"
640 TOKEN_EN = 397, // "EN"
641 TOKEN_LL = 398, // "LL"
642 TOKEN_IDENTIFIER = 399, // "identifier"
643 TOKEN_HTYPE = 400, // "htype"
644 TOKEN_TIME = 401, // "time"
645 TOKEN_ENTERPRISE_ID = 402, // "enterprise-id"
646 TOKEN_DHCP4O6_PORT = 403, // "dhcp4o6-port"
647 TOKEN_DHCP_MULTI_THREADING = 404, // "multi-threading"
648 TOKEN_ENABLE_MULTI_THREADING = 405, // "enable-multi-threading"
649 TOKEN_THREAD_POOL_SIZE = 406, // "thread-pool-size"
650 TOKEN_PACKET_QUEUE_SIZE = 407, // "packet-queue-size"
651 TOKEN_CONTROL_SOCKET = 408, // "control-socket"
652 TOKEN_SOCKET_TYPE = 409, // "socket-type"
653 TOKEN_SOCKET_NAME = 410, // "socket-name"
654 TOKEN_DHCP_QUEUE_CONTROL = 411, // "dhcp-queue-control"
655 TOKEN_ENABLE_QUEUE = 412, // "enable-queue"
656 TOKEN_QUEUE_TYPE = 413, // "queue-type"
657 TOKEN_CAPACITY = 414, // "capacity"
658 TOKEN_DHCP_DDNS = 415, // "dhcp-ddns"
659 TOKEN_ENABLE_UPDATES = 416, // "enable-updates"
660 TOKEN_QUALIFYING_SUFFIX = 417, // "qualifying-suffix"
661 TOKEN_SERVER_IP = 418, // "server-ip"
662 TOKEN_SERVER_PORT = 419, // "server-port"
663 TOKEN_SENDER_IP = 420, // "sender-ip"
664 TOKEN_SENDER_PORT = 421, // "sender-port"
665 TOKEN_MAX_QUEUE_SIZE = 422, // "max-queue-size"
666 TOKEN_NCR_PROTOCOL = 423, // "ncr-protocol"
667 TOKEN_NCR_FORMAT = 424, // "ncr-format"
668 TOKEN_OVERRIDE_NO_UPDATE = 425, // "override-no-update"
669 TOKEN_OVERRIDE_CLIENT_UPDATE = 426, // "override-client-update"
670 TOKEN_REPLACE_CLIENT_NAME = 427, // "replace-client-name"
671 TOKEN_GENERATED_PREFIX = 428, // "generated-prefix"
672 TOKEN_UDP = 429, // "UDP"
673 TOKEN_TCP = 430, // "TCP"
674 TOKEN_JSON = 431, // "JSON"
675 TOKEN_WHEN_PRESENT = 432, // "when-present"
676 TOKEN_NEVER = 433, // "never"
677 TOKEN_ALWAYS = 434, // "always"
678 TOKEN_WHEN_NOT_PRESENT = 435, // "when-not-present"
679 TOKEN_HOSTNAME_CHAR_SET = 436, // "hostname-char-set"
680 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 437, // "hostname-char-replacement"
681 TOKEN_IP_RESERVATIONS_UNIQUE = 438, // "ip-reservations-unique"
682 TOKEN_LOGGERS = 439, // "loggers"
683 TOKEN_OUTPUT_OPTIONS = 440, // "output_options"
684 TOKEN_OUTPUT = 441, // "output"
685 TOKEN_DEBUGLEVEL = 442, // "debuglevel"
686 TOKEN_SEVERITY = 443, // "severity"
687 TOKEN_FLUSH = 444, // "flush"
688 TOKEN_MAXSIZE = 445, // "maxsize"
689 TOKEN_MAXVER = 446, // "maxver"
690 TOKEN_PATTERN = 447, // "pattern"
691 TOKEN_COMPATIBILITY = 448, // "compatibility"
692 TOKEN_LENIENT_OPTION_PARSING = 449, // "lenient-option-parsing"
693 TOKEN_TOPLEVEL_JSON = 450, // TOPLEVEL_JSON
694 TOKEN_TOPLEVEL_DHCP6 = 451, // TOPLEVEL_DHCP6
695 TOKEN_SUB_DHCP6 = 452, // SUB_DHCP6
696 TOKEN_SUB_INTERFACES6 = 453, // SUB_INTERFACES6
697 TOKEN_SUB_SUBNET6 = 454, // SUB_SUBNET6
698 TOKEN_SUB_POOL6 = 455, // SUB_POOL6
699 TOKEN_SUB_PD_POOL = 456, // SUB_PD_POOL
700 TOKEN_SUB_RESERVATION = 457, // SUB_RESERVATION
701 TOKEN_SUB_OPTION_DEFS = 458, // SUB_OPTION_DEFS
702 TOKEN_SUB_OPTION_DEF = 459, // SUB_OPTION_DEF
703 TOKEN_SUB_OPTION_DATA = 460, // SUB_OPTION_DATA
704 TOKEN_SUB_HOOKS_LIBRARY = 461, // SUB_HOOKS_LIBRARY
705 TOKEN_SUB_DHCP_DDNS = 462, // SUB_DHCP_DDNS
706 TOKEN_SUB_CONFIG_CONTROL = 463, // SUB_CONFIG_CONTROL
707 TOKEN_STRING = 464, // "constant string"
708 TOKEN_INTEGER = 465, // "integer"
709 TOKEN_FLOAT = 466, // "floating point"
710 TOKEN_BOOLEAN = 467 // "boolean"
711 };
714 };
715
718
721
724 {
726 {
727 YYNTOKENS = 213,
728 S_YYEMPTY = -2,
729 S_YYEOF = 0, // "end of file"
730 S_YYerror = 1, // error
731 S_YYUNDEF = 2, // "invalid token"
732 S_COMMA = 3, // ","
733 S_COLON = 4, // ":"
734 S_LSQUARE_BRACKET = 5, // "["
735 S_RSQUARE_BRACKET = 6, // "]"
736 S_LCURLY_BRACKET = 7, // "{"
737 S_RCURLY_BRACKET = 8, // "}"
738 S_NULL_TYPE = 9, // "null"
739 S_DHCP6 = 10, // "Dhcp6"
740 S_DATA_DIRECTORY = 11, // "data-directory"
741 S_CONFIG_CONTROL = 12, // "config-control"
742 S_CONFIG_DATABASES = 13, // "config-databases"
743 S_CONFIG_FETCH_WAIT_TIME = 14, // "config-fetch-wait-time"
744 S_INTERFACES_CONFIG = 15, // "interfaces-config"
745 S_INTERFACES = 16, // "interfaces"
746 S_RE_DETECT = 17, // "re-detect"
747 S_LEASE_DATABASE = 18, // "lease-database"
748 S_HOSTS_DATABASE = 19, // "hosts-database"
749 S_HOSTS_DATABASES = 20, // "hosts-databases"
750 S_TYPE = 21, // "type"
751 S_MEMFILE = 22, // "memfile"
752 S_MYSQL = 23, // "mysql"
753 S_POSTGRESQL = 24, // "postgresql"
754 S_CQL = 25, // "cql"
755 S_USER = 26, // "user"
756 S_PASSWORD = 27, // "password"
757 S_HOST = 28, // "host"
758 S_PORT = 29, // "port"
759 S_PERSIST = 30, // "persist"
760 S_LFC_INTERVAL = 31, // "lfc-interval"
761 S_READONLY = 32, // "readonly"
762 S_CONNECT_TIMEOUT = 33, // "connect-timeout"
763 S_CONTACT_POINTS = 34, // "contact-points"
764 S_MAX_RECONNECT_TRIES = 35, // "max-reconnect-tries"
765 S_RECONNECT_WAIT_TIME = 36, // "reconnect-wait-time"
766 S_ON_FAIL = 37, // "on-fail"
767 S_STOP_RETRY_EXIT = 38, // "stop-retry-exit"
768 S_SERVE_RETRY_EXIT = 39, // "serve-retry-exit"
769 S_SERVE_RETRY_CONTINUE = 40, // "serve-retry-continue"
770 S_KEYSPACE = 41, // "keyspace"
771 S_CONSISTENCY = 42, // "consistency"
772 S_SERIAL_CONSISTENCY = 43, // "serial-consistency"
773 S_REQUEST_TIMEOUT = 44, // "request-timeout"
774 S_TCP_KEEPALIVE = 45, // "tcp-keepalive"
775 S_TCP_NODELAY = 46, // "tcp-nodelay"
776 S_MAX_ROW_ERRORS = 47, // "max-row-errors"
777 S_PREFERRED_LIFETIME = 48, // "preferred-lifetime"
778 S_MIN_PREFERRED_LIFETIME = 49, // "min-preferred-lifetime"
779 S_MAX_PREFERRED_LIFETIME = 50, // "max-preferred-lifetime"
780 S_VALID_LIFETIME = 51, // "valid-lifetime"
781 S_MIN_VALID_LIFETIME = 52, // "min-valid-lifetime"
782 S_MAX_VALID_LIFETIME = 53, // "max-valid-lifetime"
783 S_RENEW_TIMER = 54, // "renew-timer"
784 S_REBIND_TIMER = 55, // "rebind-timer"
785 S_CALCULATE_TEE_TIMES = 56, // "calculate-tee-times"
786 S_T1_PERCENT = 57, // "t1-percent"
787 S_T2_PERCENT = 58, // "t2-percent"
788 S_CACHE_THRESHOLD = 59, // "cache-threshold"
789 S_CACHE_MAX_AGE = 60, // "cache-max-age"
790 S_DECLINE_PROBATION_PERIOD = 61, // "decline-probation-period"
791 S_SERVER_TAG = 62, // "server-tag"
792 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 63, // "statistic-default-sample-count"
793 S_STATISTIC_DEFAULT_SAMPLE_AGE = 64, // "statistic-default-sample-age"
794 S_DDNS_SEND_UPDATES = 65, // "ddns-send-updates"
795 S_DDNS_OVERRIDE_NO_UPDATE = 66, // "ddns-override-no-update"
796 S_DDNS_OVERRIDE_CLIENT_UPDATE = 67, // "ddns-override-client-update"
797 S_DDNS_REPLACE_CLIENT_NAME = 68, // "ddns-replace-client-name"
798 S_DDNS_GENERATED_PREFIX = 69, // "ddns-generated-prefix"
799 S_DDNS_QUALIFYING_SUFFIX = 70, // "ddns-qualifying-suffix"
800 S_DDNS_UPDATE_ON_RENEW = 71, // "ddns-update-on-renew"
801 S_DDNS_USE_CONFLICT_RESOLUTION = 72, // "ddns-use-conflict-resolution"
802 S_STORE_EXTENDED_INFO = 73, // "store-extended-info"
803 S_SUBNET6 = 74, // "subnet6"
804 S_OPTION_DEF = 75, // "option-def"
805 S_OPTION_DATA = 76, // "option-data"
806 S_NAME = 77, // "name"
807 S_DATA = 78, // "data"
808 S_CODE = 79, // "code"
809 S_SPACE = 80, // "space"
810 S_CSV_FORMAT = 81, // "csv-format"
811 S_ALWAYS_SEND = 82, // "always-send"
812 S_RECORD_TYPES = 83, // "record-types"
813 S_ENCAPSULATE = 84, // "encapsulate"
814 S_ARRAY = 85, // "array"
815 S_PARKED_PACKET_LIMIT = 86, // "parked-packet-limit"
816 S_SHARED_NETWORKS = 87, // "shared-networks"
817 S_POOLS = 88, // "pools"
818 S_POOL = 89, // "pool"
819 S_PD_POOLS = 90, // "pd-pools"
820 S_PREFIX = 91, // "prefix"
821 S_PREFIX_LEN = 92, // "prefix-len"
822 S_EXCLUDED_PREFIX = 93, // "excluded-prefix"
823 S_EXCLUDED_PREFIX_LEN = 94, // "excluded-prefix-len"
824 S_DELEGATED_LEN = 95, // "delegated-len"
825 S_USER_CONTEXT = 96, // "user-context"
826 S_COMMENT = 97, // "comment"
827 S_SUBNET = 98, // "subnet"
828 S_INTERFACE = 99, // "interface"
829 S_INTERFACE_ID = 100, // "interface-id"
830 S_ID = 101, // "id"
831 S_RAPID_COMMIT = 102, // "rapid-commit"
832 S_RESERVATION_MODE = 103, // "reservation-mode"
833 S_DISABLED = 104, // "disabled"
834 S_OUT_OF_POOL = 105, // "out-of-pool"
835 S_GLOBAL = 106, // "global"
836 S_ALL = 107, // "all"
837 S_RESERVATIONS_GLOBAL = 108, // "reservations-global"
838 S_RESERVATIONS_IN_SUBNET = 109, // "reservations-in-subnet"
839 S_RESERVATIONS_OUT_OF_POOL = 110, // "reservations-out-of-pool"
840 S_MAC_SOURCES = 111, // "mac-sources"
841 S_RELAY_SUPPLIED_OPTIONS = 112, // "relay-supplied-options"
842 S_HOST_RESERVATION_IDENTIFIERS = 113, // "host-reservation-identifiers"
843 S_SANITY_CHECKS = 114, // "sanity-checks"
844 S_LEASE_CHECKS = 115, // "lease-checks"
845 S_CLIENT_CLASSES = 116, // "client-classes"
846 S_REQUIRE_CLIENT_CLASSES = 117, // "require-client-classes"
847 S_TEST = 118, // "test"
848 S_ONLY_IF_REQUIRED = 119, // "only-if-required"
849 S_CLIENT_CLASS = 120, // "client-class"
850 S_RESERVATIONS = 121, // "reservations"
851 S_IP_ADDRESSES = 122, // "ip-addresses"
852 S_PREFIXES = 123, // "prefixes"
853 S_DUID = 124, // "duid"
854 S_HW_ADDRESS = 125, // "hw-address"
855 S_HOSTNAME = 126, // "hostname"
856 S_FLEX_ID = 127, // "flex-id"
857 S_RELAY = 128, // "relay"
858 S_IP_ADDRESS = 129, // "ip-address"
859 S_HOOKS_LIBRARIES = 130, // "hooks-libraries"
860 S_LIBRARY = 131, // "library"
861 S_PARAMETERS = 132, // "parameters"
862 S_EXPIRED_LEASES_PROCESSING = 133, // "expired-leases-processing"
863 S_RECLAIM_TIMER_WAIT_TIME = 134, // "reclaim-timer-wait-time"
864 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 135, // "flush-reclaimed-timer-wait-time"
865 S_HOLD_RECLAIMED_TIME = 136, // "hold-reclaimed-time"
866 S_MAX_RECLAIM_LEASES = 137, // "max-reclaim-leases"
867 S_MAX_RECLAIM_TIME = 138, // "max-reclaim-time"
868 S_UNWARNED_RECLAIM_CYCLES = 139, // "unwarned-reclaim-cycles"
869 S_SERVER_ID = 140, // "server-id"
870 S_LLT = 141, // "LLT"
871 S_EN = 142, // "EN"
872 S_LL = 143, // "LL"
873 S_IDENTIFIER = 144, // "identifier"
874 S_HTYPE = 145, // "htype"
875 S_TIME = 146, // "time"
876 S_ENTERPRISE_ID = 147, // "enterprise-id"
877 S_DHCP4O6_PORT = 148, // "dhcp4o6-port"
878 S_DHCP_MULTI_THREADING = 149, // "multi-threading"
879 S_ENABLE_MULTI_THREADING = 150, // "enable-multi-threading"
880 S_THREAD_POOL_SIZE = 151, // "thread-pool-size"
881 S_PACKET_QUEUE_SIZE = 152, // "packet-queue-size"
882 S_CONTROL_SOCKET = 153, // "control-socket"
883 S_SOCKET_TYPE = 154, // "socket-type"
884 S_SOCKET_NAME = 155, // "socket-name"
885 S_DHCP_QUEUE_CONTROL = 156, // "dhcp-queue-control"
886 S_ENABLE_QUEUE = 157, // "enable-queue"
887 S_QUEUE_TYPE = 158, // "queue-type"
888 S_CAPACITY = 159, // "capacity"
889 S_DHCP_DDNS = 160, // "dhcp-ddns"
890 S_ENABLE_UPDATES = 161, // "enable-updates"
891 S_QUALIFYING_SUFFIX = 162, // "qualifying-suffix"
892 S_SERVER_IP = 163, // "server-ip"
893 S_SERVER_PORT = 164, // "server-port"
894 S_SENDER_IP = 165, // "sender-ip"
895 S_SENDER_PORT = 166, // "sender-port"
896 S_MAX_QUEUE_SIZE = 167, // "max-queue-size"
897 S_NCR_PROTOCOL = 168, // "ncr-protocol"
898 S_NCR_FORMAT = 169, // "ncr-format"
899 S_OVERRIDE_NO_UPDATE = 170, // "override-no-update"
900 S_OVERRIDE_CLIENT_UPDATE = 171, // "override-client-update"
901 S_REPLACE_CLIENT_NAME = 172, // "replace-client-name"
902 S_GENERATED_PREFIX = 173, // "generated-prefix"
903 S_UDP = 174, // "UDP"
904 S_TCP = 175, // "TCP"
905 S_JSON = 176, // "JSON"
906 S_WHEN_PRESENT = 177, // "when-present"
907 S_NEVER = 178, // "never"
908 S_ALWAYS = 179, // "always"
909 S_WHEN_NOT_PRESENT = 180, // "when-not-present"
910 S_HOSTNAME_CHAR_SET = 181, // "hostname-char-set"
911 S_HOSTNAME_CHAR_REPLACEMENT = 182, // "hostname-char-replacement"
912 S_IP_RESERVATIONS_UNIQUE = 183, // "ip-reservations-unique"
913 S_LOGGERS = 184, // "loggers"
914 S_OUTPUT_OPTIONS = 185, // "output_options"
915 S_OUTPUT = 186, // "output"
916 S_DEBUGLEVEL = 187, // "debuglevel"
917 S_SEVERITY = 188, // "severity"
918 S_FLUSH = 189, // "flush"
919 S_MAXSIZE = 190, // "maxsize"
920 S_MAXVER = 191, // "maxver"
921 S_PATTERN = 192, // "pattern"
922 S_COMPATIBILITY = 193, // "compatibility"
923 S_LENIENT_OPTION_PARSING = 194, // "lenient-option-parsing"
924 S_TOPLEVEL_JSON = 195, // TOPLEVEL_JSON
925 S_TOPLEVEL_DHCP6 = 196, // TOPLEVEL_DHCP6
926 S_SUB_DHCP6 = 197, // SUB_DHCP6
927 S_SUB_INTERFACES6 = 198, // SUB_INTERFACES6
928 S_SUB_SUBNET6 = 199, // SUB_SUBNET6
929 S_SUB_POOL6 = 200, // SUB_POOL6
930 S_SUB_PD_POOL = 201, // SUB_PD_POOL
931 S_SUB_RESERVATION = 202, // SUB_RESERVATION
932 S_SUB_OPTION_DEFS = 203, // SUB_OPTION_DEFS
933 S_SUB_OPTION_DEF = 204, // SUB_OPTION_DEF
934 S_SUB_OPTION_DATA = 205, // SUB_OPTION_DATA
935 S_SUB_HOOKS_LIBRARY = 206, // SUB_HOOKS_LIBRARY
936 S_SUB_DHCP_DDNS = 207, // SUB_DHCP_DDNS
937 S_SUB_CONFIG_CONTROL = 208, // SUB_CONFIG_CONTROL
938 S_STRING = 209, // "constant string"
939 S_INTEGER = 210, // "integer"
940 S_FLOAT = 211, // "floating point"
941 S_BOOLEAN = 212, // "boolean"
942 S_YYACCEPT = 213, // $accept
943 S_start = 214, // start
944 S_215_1 = 215, // $@1
945 S_216_2 = 216, // $@2
946 S_217_3 = 217, // $@3
947 S_218_4 = 218, // $@4
948 S_219_5 = 219, // $@5
949 S_220_6 = 220, // $@6
950 S_221_7 = 221, // $@7
951 S_222_8 = 222, // $@8
952 S_223_9 = 223, // $@9
953 S_224_10 = 224, // $@10
954 S_225_11 = 225, // $@11
955 S_226_12 = 226, // $@12
956 S_227_13 = 227, // $@13
957 S_228_14 = 228, // $@14
958 S_value = 229, // value
959 S_sub_json = 230, // sub_json
960 S_map2 = 231, // map2
961 S_232_15 = 232, // $@15
962 S_map_value = 233, // map_value
963 S_map_content = 234, // map_content
964 S_not_empty_map = 235, // not_empty_map
965 S_list_generic = 236, // list_generic
966 S_237_16 = 237, // $@16
967 S_list_content = 238, // list_content
968 S_not_empty_list = 239, // not_empty_list
969 S_list_strings = 240, // list_strings
970 S_241_17 = 241, // $@17
971 S_list_strings_content = 242, // list_strings_content
972 S_not_empty_list_strings = 243, // not_empty_list_strings
973 S_unknown_map_entry = 244, // unknown_map_entry
974 S_syntax_map = 245, // syntax_map
975 S_246_18 = 246, // $@18
976 S_global_object = 247, // global_object
977 S_248_19 = 248, // $@19
978 S_sub_dhcp6 = 249, // sub_dhcp6
979 S_250_20 = 250, // $@20
980 S_global_params = 251, // global_params
981 S_global_param = 252, // global_param
982 S_data_directory = 253, // data_directory
983 S_254_21 = 254, // $@21
984 S_preferred_lifetime = 255, // preferred_lifetime
985 S_min_preferred_lifetime = 256, // min_preferred_lifetime
986 S_max_preferred_lifetime = 257, // max_preferred_lifetime
987 S_valid_lifetime = 258, // valid_lifetime
988 S_min_valid_lifetime = 259, // min_valid_lifetime
989 S_max_valid_lifetime = 260, // max_valid_lifetime
990 S_renew_timer = 261, // renew_timer
991 S_rebind_timer = 262, // rebind_timer
992 S_calculate_tee_times = 263, // calculate_tee_times
993 S_t1_percent = 264, // t1_percent
994 S_t2_percent = 265, // t2_percent
995 S_cache_threshold = 266, // cache_threshold
996 S_cache_max_age = 267, // cache_max_age
997 S_decline_probation_period = 268, // decline_probation_period
998 S_ddns_send_updates = 269, // ddns_send_updates
999 S_ddns_override_no_update = 270, // ddns_override_no_update
1000 S_ddns_override_client_update = 271, // ddns_override_client_update
1001 S_ddns_replace_client_name = 272, // ddns_replace_client_name
1002 S_273_22 = 273, // $@22
1003 S_ddns_replace_client_name_value = 274, // ddns_replace_client_name_value
1004 S_ddns_generated_prefix = 275, // ddns_generated_prefix
1005 S_276_23 = 276, // $@23
1006 S_ddns_qualifying_suffix = 277, // ddns_qualifying_suffix
1007 S_278_24 = 278, // $@24
1008 S_ddns_update_on_renew = 279, // ddns_update_on_renew
1009 S_ddns_use_conflict_resolution = 280, // ddns_use_conflict_resolution
1010 S_hostname_char_set = 281, // hostname_char_set
1011 S_282_25 = 282, // $@25
1012 S_hostname_char_replacement = 283, // hostname_char_replacement
1013 S_284_26 = 284, // $@26
1014 S_store_extended_info = 285, // store_extended_info
1015 S_statistic_default_sample_count = 286, // statistic_default_sample_count
1016 S_statistic_default_sample_age = 287, // statistic_default_sample_age
1017 S_server_tag = 288, // server_tag
1018 S_289_27 = 289, // $@27
1019 S_parked_packet_limit = 290, // parked_packet_limit
1020 S_ip_reservations_unique = 291, // ip_reservations_unique
1021 S_interfaces_config = 292, // interfaces_config
1022 S_293_28 = 293, // $@28
1023 S_sub_interfaces6 = 294, // sub_interfaces6
1024 S_295_29 = 295, // $@29
1025 S_interfaces_config_params = 296, // interfaces_config_params
1026 S_interfaces_config_param = 297, // interfaces_config_param
1027 S_interfaces_list = 298, // interfaces_list
1028 S_299_30 = 299, // $@30
1029 S_re_detect = 300, // re_detect
1030 S_lease_database = 301, // lease_database
1031 S_302_31 = 302, // $@31
1032 S_hosts_database = 303, // hosts_database
1033 S_304_32 = 304, // $@32
1034 S_hosts_databases = 305, // hosts_databases
1035 S_306_33 = 306, // $@33
1036 S_database_list = 307, // database_list
1037 S_not_empty_database_list = 308, // not_empty_database_list
1038 S_database = 309, // database
1039 S_310_34 = 310, // $@34
1040 S_database_map_params = 311, // database_map_params
1041 S_database_map_param = 312, // database_map_param
1042 S_database_type = 313, // database_type
1043 S_314_35 = 314, // $@35
1044 S_db_type = 315, // db_type
1045 S_user = 316, // user
1046 S_317_36 = 317, // $@36
1047 S_password = 318, // password
1048 S_319_37 = 319, // $@37
1049 S_host = 320, // host
1050 S_321_38 = 321, // $@38
1051 S_port = 322, // port
1052 S_name = 323, // name
1053 S_324_39 = 324, // $@39
1054 S_persist = 325, // persist
1055 S_lfc_interval = 326, // lfc_interval
1056 S_readonly = 327, // readonly
1057 S_connect_timeout = 328, // connect_timeout
1058 S_reconnect_wait_time = 329, // reconnect_wait_time
1059 S_on_fail = 330, // on_fail
1060 S_331_40 = 331, // $@40
1061 S_on_fail_mode = 332, // on_fail_mode
1062 S_max_row_errors = 333, // max_row_errors
1063 S_request_timeout = 334, // request_timeout
1064 S_tcp_keepalive = 335, // tcp_keepalive
1065 S_tcp_nodelay = 336, // tcp_nodelay
1066 S_contact_points = 337, // contact_points
1067 S_338_41 = 338, // $@41
1068 S_max_reconnect_tries = 339, // max_reconnect_tries
1069 S_keyspace = 340, // keyspace
1070 S_341_42 = 341, // $@42
1071 S_consistency = 342, // consistency
1072 S_343_43 = 343, // $@43
1073 S_serial_consistency = 344, // serial_consistency
1074 S_345_44 = 345, // $@44
1075 S_sanity_checks = 346, // sanity_checks
1076 S_347_45 = 347, // $@45
1077 S_sanity_checks_params = 348, // sanity_checks_params
1078 S_sanity_checks_param = 349, // sanity_checks_param
1079 S_lease_checks = 350, // lease_checks
1080 S_351_46 = 351, // $@46
1081 S_mac_sources = 352, // mac_sources
1082 S_353_47 = 353, // $@47
1083 S_mac_sources_list = 354, // mac_sources_list
1084 S_mac_sources_value = 355, // mac_sources_value
1085 S_duid_id = 356, // duid_id
1086 S_string_id = 357, // string_id
1087 S_host_reservation_identifiers = 358, // host_reservation_identifiers
1088 S_359_48 = 359, // $@48
1089 S_host_reservation_identifiers_list = 360, // host_reservation_identifiers_list
1090 S_host_reservation_identifier = 361, // host_reservation_identifier
1091 S_hw_address_id = 362, // hw_address_id
1092 S_flex_id = 363, // flex_id
1093 S_relay_supplied_options = 364, // relay_supplied_options
1094 S_365_49 = 365, // $@49
1095 S_dhcp_multi_threading = 366, // dhcp_multi_threading
1096 S_367_50 = 367, // $@50
1097 S_multi_threading_params = 368, // multi_threading_params
1098 S_multi_threading_param = 369, // multi_threading_param
1099 S_enable_multi_threading = 370, // enable_multi_threading
1100 S_thread_pool_size = 371, // thread_pool_size
1101 S_packet_queue_size = 372, // packet_queue_size
1102 S_hooks_libraries = 373, // hooks_libraries
1103 S_374_51 = 374, // $@51
1104 S_hooks_libraries_list = 375, // hooks_libraries_list
1105 S_not_empty_hooks_libraries_list = 376, // not_empty_hooks_libraries_list
1106 S_hooks_library = 377, // hooks_library
1107 S_378_52 = 378, // $@52
1108 S_sub_hooks_library = 379, // sub_hooks_library
1109 S_380_53 = 380, // $@53
1110 S_hooks_params = 381, // hooks_params
1111 S_hooks_param = 382, // hooks_param
1112 S_library = 383, // library
1113 S_384_54 = 384, // $@54
1114 S_parameters = 385, // parameters
1115 S_386_55 = 386, // $@55
1116 S_expired_leases_processing = 387, // expired_leases_processing
1117 S_388_56 = 388, // $@56
1118 S_expired_leases_params = 389, // expired_leases_params
1119 S_expired_leases_param = 390, // expired_leases_param
1120 S_reclaim_timer_wait_time = 391, // reclaim_timer_wait_time
1121 S_flush_reclaimed_timer_wait_time = 392, // flush_reclaimed_timer_wait_time
1122 S_hold_reclaimed_time = 393, // hold_reclaimed_time
1123 S_max_reclaim_leases = 394, // max_reclaim_leases
1124 S_max_reclaim_time = 395, // max_reclaim_time
1125 S_unwarned_reclaim_cycles = 396, // unwarned_reclaim_cycles
1126 S_subnet6_list = 397, // subnet6_list
1127 S_398_57 = 398, // $@57
1128 S_subnet6_list_content = 399, // subnet6_list_content
1129 S_not_empty_subnet6_list = 400, // not_empty_subnet6_list
1130 S_subnet6 = 401, // subnet6
1131 S_402_58 = 402, // $@58
1132 S_sub_subnet6 = 403, // sub_subnet6
1133 S_404_59 = 404, // $@59
1134 S_subnet6_params = 405, // subnet6_params
1135 S_subnet6_param = 406, // subnet6_param
1136 S_subnet = 407, // subnet
1137 S_408_60 = 408, // $@60
1138 S_interface = 409, // interface
1139 S_410_61 = 410, // $@61
1140 S_interface_id = 411, // interface_id
1141 S_412_62 = 412, // $@62
1142 S_client_class = 413, // client_class
1143 S_414_63 = 414, // $@63
1144 S_require_client_classes = 415, // require_client_classes
1145 S_416_64 = 416, // $@64
1146 S_reservations_global = 417, // reservations_global
1147 S_reservations_in_subnet = 418, // reservations_in_subnet
1148 S_reservations_out_of_pool = 419, // reservations_out_of_pool
1149 S_reservation_mode = 420, // reservation_mode
1150 S_421_65 = 421, // $@65
1151 S_hr_mode = 422, // hr_mode
1152 S_id = 423, // id
1153 S_rapid_commit = 424, // rapid_commit
1154 S_shared_networks = 425, // shared_networks
1155 S_426_66 = 426, // $@66
1156 S_shared_networks_content = 427, // shared_networks_content
1157 S_shared_networks_list = 428, // shared_networks_list
1158 S_shared_network = 429, // shared_network
1159 S_430_67 = 430, // $@67
1160 S_shared_network_params = 431, // shared_network_params
1161 S_shared_network_param = 432, // shared_network_param
1162 S_option_def_list = 433, // option_def_list
1163 S_434_68 = 434, // $@68
1164 S_sub_option_def_list = 435, // sub_option_def_list
1165 S_436_69 = 436, // $@69
1166 S_option_def_list_content = 437, // option_def_list_content
1167 S_not_empty_option_def_list = 438, // not_empty_option_def_list
1168 S_option_def_entry = 439, // option_def_entry
1169 S_440_70 = 440, // $@70
1170 S_sub_option_def = 441, // sub_option_def
1171 S_442_71 = 442, // $@71
1172 S_option_def_params = 443, // option_def_params
1173 S_not_empty_option_def_params = 444, // not_empty_option_def_params
1174 S_option_def_param = 445, // option_def_param
1175 S_option_def_name = 446, // option_def_name
1176 S_code = 447, // code
1177 S_option_def_code = 448, // option_def_code
1178 S_option_def_type = 449, // option_def_type
1179 S_450_72 = 450, // $@72
1180 S_option_def_record_types = 451, // option_def_record_types
1181 S_452_73 = 452, // $@73
1182 S_space = 453, // space
1183 S_454_74 = 454, // $@74
1184 S_option_def_space = 455, // option_def_space
1185 S_option_def_encapsulate = 456, // option_def_encapsulate
1186 S_457_75 = 457, // $@75
1187 S_option_def_array = 458, // option_def_array
1188 S_option_data_list = 459, // option_data_list
1189 S_460_76 = 460, // $@76
1190 S_option_data_list_content = 461, // option_data_list_content
1191 S_not_empty_option_data_list = 462, // not_empty_option_data_list
1192 S_option_data_entry = 463, // option_data_entry
1193 S_464_77 = 464, // $@77
1194 S_sub_option_data = 465, // sub_option_data
1195 S_466_78 = 466, // $@78
1196 S_option_data_params = 467, // option_data_params
1197 S_not_empty_option_data_params = 468, // not_empty_option_data_params
1198 S_option_data_param = 469, // option_data_param
1199 S_option_data_name = 470, // option_data_name
1200 S_option_data_data = 471, // option_data_data
1201 S_472_79 = 472, // $@79
1202 S_option_data_code = 473, // option_data_code
1203 S_option_data_space = 474, // option_data_space
1204 S_option_data_csv_format = 475, // option_data_csv_format
1205 S_option_data_always_send = 476, // option_data_always_send
1206 S_pools_list = 477, // pools_list
1207 S_478_80 = 478, // $@80
1208 S_pools_list_content = 479, // pools_list_content
1209 S_not_empty_pools_list = 480, // not_empty_pools_list
1210 S_pool_list_entry = 481, // pool_list_entry
1211 S_482_81 = 482, // $@81
1212 S_sub_pool6 = 483, // sub_pool6
1213 S_484_82 = 484, // $@82
1214 S_pool_params = 485, // pool_params
1215 S_pool_param = 486, // pool_param
1216 S_pool_entry = 487, // pool_entry
1217 S_488_83 = 488, // $@83
1218 S_user_context = 489, // user_context
1219 S_490_84 = 490, // $@84
1220 S_comment = 491, // comment
1221 S_492_85 = 492, // $@85
1222 S_pd_pools_list = 493, // pd_pools_list
1223 S_494_86 = 494, // $@86
1224 S_pd_pools_list_content = 495, // pd_pools_list_content
1225 S_not_empty_pd_pools_list = 496, // not_empty_pd_pools_list
1226 S_pd_pool_entry = 497, // pd_pool_entry
1227 S_498_87 = 498, // $@87
1228 S_sub_pd_pool = 499, // sub_pd_pool
1229 S_500_88 = 500, // $@88
1230 S_pd_pool_params = 501, // pd_pool_params
1231 S_pd_pool_param = 502, // pd_pool_param
1232 S_pd_prefix = 503, // pd_prefix
1233 S_504_89 = 504, // $@89
1234 S_pd_prefix_len = 505, // pd_prefix_len
1235 S_excluded_prefix = 506, // excluded_prefix
1236 S_507_90 = 507, // $@90
1237 S_excluded_prefix_len = 508, // excluded_prefix_len
1238 S_pd_delegated_len = 509, // pd_delegated_len
1239 S_reservations = 510, // reservations
1240 S_511_91 = 511, // $@91
1241 S_reservations_list = 512, // reservations_list
1242 S_not_empty_reservations_list = 513, // not_empty_reservations_list
1243 S_reservation = 514, // reservation
1244 S_515_92 = 515, // $@92
1245 S_sub_reservation = 516, // sub_reservation
1246 S_517_93 = 517, // $@93
1247 S_reservation_params = 518, // reservation_params
1248 S_not_empty_reservation_params = 519, // not_empty_reservation_params
1249 S_reservation_param = 520, // reservation_param
1250 S_ip_addresses = 521, // ip_addresses
1251 S_522_94 = 522, // $@94
1252 S_prefixes = 523, // prefixes
1253 S_524_95 = 524, // $@95
1254 S_duid = 525, // duid
1255 S_526_96 = 526, // $@96
1256 S_hw_address = 527, // hw_address
1257 S_528_97 = 528, // $@97
1258 S_hostname = 529, // hostname
1259 S_530_98 = 530, // $@98
1260 S_flex_id_value = 531, // flex_id_value
1261 S_532_99 = 532, // $@99
1262 S_reservation_client_classes = 533, // reservation_client_classes
1263 S_534_100 = 534, // $@100
1264 S_relay = 535, // relay
1265 S_536_101 = 536, // $@101
1266 S_relay_map = 537, // relay_map
1267 S_ip_address = 538, // ip_address
1268 S_539_102 = 539, // $@102
1269 S_client_classes = 540, // client_classes
1270 S_541_103 = 541, // $@103
1271 S_client_classes_list = 542, // client_classes_list
1272 S_client_class_entry = 543, // client_class_entry
1273 S_544_104 = 544, // $@104
1274 S_client_class_params = 545, // client_class_params
1275 S_not_empty_client_class_params = 546, // not_empty_client_class_params
1276 S_client_class_param = 547, // client_class_param
1277 S_client_class_name = 548, // client_class_name
1278 S_client_class_test = 549, // client_class_test
1279 S_550_105 = 550, // $@105
1280 S_only_if_required = 551, // only_if_required
1281 S_server_id = 552, // server_id
1282 S_553_106 = 553, // $@106
1283 S_server_id_params = 554, // server_id_params
1284 S_server_id_param = 555, // server_id_param
1285 S_server_id_type = 556, // server_id_type
1286 S_557_107 = 557, // $@107
1287 S_duid_type = 558, // duid_type
1288 S_htype = 559, // htype
1289 S_identifier = 560, // identifier
1290 S_561_108 = 561, // $@108
1291 S_time = 562, // time
1292 S_enterprise_id = 563, // enterprise_id
1293 S_dhcp4o6_port = 564, // dhcp4o6_port
1294 S_control_socket = 565, // control_socket
1295 S_566_109 = 566, // $@109
1296 S_control_socket_params = 567, // control_socket_params
1297 S_control_socket_param = 568, // control_socket_param
1298 S_socket_type = 569, // socket_type
1299 S_570_110 = 570, // $@110
1300 S_socket_name = 571, // socket_name
1301 S_572_111 = 572, // $@111
1302 S_dhcp_queue_control = 573, // dhcp_queue_control
1303 S_574_112 = 574, // $@112
1304 S_queue_control_params = 575, // queue_control_params
1305 S_queue_control_param = 576, // queue_control_param
1306 S_enable_queue = 577, // enable_queue
1307 S_queue_type = 578, // queue_type
1308 S_579_113 = 579, // $@113
1309 S_capacity = 580, // capacity
1310 S_arbitrary_map_entry = 581, // arbitrary_map_entry
1311 S_582_114 = 582, // $@114
1312 S_dhcp_ddns = 583, // dhcp_ddns
1313 S_584_115 = 584, // $@115
1314 S_sub_dhcp_ddns = 585, // sub_dhcp_ddns
1315 S_586_116 = 586, // $@116
1316 S_dhcp_ddns_params = 587, // dhcp_ddns_params
1317 S_dhcp_ddns_param = 588, // dhcp_ddns_param
1318 S_enable_updates = 589, // enable_updates
1319 S_dep_qualifying_suffix = 590, // dep_qualifying_suffix
1320 S_591_117 = 591, // $@117
1321 S_server_ip = 592, // server_ip
1322 S_593_118 = 593, // $@118
1323 S_server_port = 594, // server_port
1324 S_sender_ip = 595, // sender_ip
1325 S_596_119 = 596, // $@119
1326 S_sender_port = 597, // sender_port
1327 S_max_queue_size = 598, // max_queue_size
1328 S_ncr_protocol = 599, // ncr_protocol
1329 S_600_120 = 600, // $@120
1330 S_ncr_protocol_value = 601, // ncr_protocol_value
1331 S_ncr_format = 602, // ncr_format
1332 S_603_121 = 603, // $@121
1333 S_dep_override_no_update = 604, // dep_override_no_update
1334 S_dep_override_client_update = 605, // dep_override_client_update
1335 S_dep_replace_client_name = 606, // dep_replace_client_name
1336 S_607_122 = 607, // $@122
1337 S_dep_generated_prefix = 608, // dep_generated_prefix
1338 S_609_123 = 609, // $@123
1339 S_dep_hostname_char_set = 610, // dep_hostname_char_set
1340 S_611_124 = 611, // $@124
1341 S_dep_hostname_char_replacement = 612, // dep_hostname_char_replacement
1342 S_613_125 = 613, // $@125
1343 S_config_control = 614, // config_control
1344 S_615_126 = 615, // $@126
1345 S_sub_config_control = 616, // sub_config_control
1346 S_617_127 = 617, // $@127
1347 S_config_control_params = 618, // config_control_params
1348 S_config_control_param = 619, // config_control_param
1349 S_config_databases = 620, // config_databases
1350 S_621_128 = 621, // $@128
1351 S_config_fetch_wait_time = 622, // config_fetch_wait_time
1352 S_loggers = 623, // loggers
1353 S_624_129 = 624, // $@129
1354 S_loggers_entries = 625, // loggers_entries
1355 S_logger_entry = 626, // logger_entry
1356 S_627_130 = 627, // $@130
1357 S_logger_params = 628, // logger_params
1358 S_logger_param = 629, // logger_param
1359 S_debuglevel = 630, // debuglevel
1360 S_severity = 631, // severity
1361 S_632_131 = 632, // $@131
1362 S_output_options_list = 633, // output_options_list
1363 S_634_132 = 634, // $@132
1364 S_output_options_list_content = 635, // output_options_list_content
1365 S_output_entry = 636, // output_entry
1366 S_637_133 = 637, // $@133
1367 S_output_params_list = 638, // output_params_list
1368 S_output_params = 639, // output_params
1369 S_output = 640, // output
1370 S_641_134 = 641, // $@134
1371 S_flush = 642, // flush
1372 S_maxsize = 643, // maxsize
1373 S_maxver = 644, // maxver
1374 S_pattern = 645, // pattern
1375 S_646_135 = 646, // $@135
1376 S_compatibility = 647, // compatibility
1377 S_648_136 = 648, // $@136
1378 S_compatibility_params = 649, // compatibility_params
1379 S_compatibility_param = 650, // compatibility_param
1380 S_lenient_option_parsing = 651 // lenient_option_parsing
1382 };
1383
1386
1389
1396 template <typename Base>
1397 struct basic_symbol : Base
1398 {
1400 typedef Base super_type;
1401
1404 : value ()
1405 , location ()
1406 {}
1407
1408#if 201103L <= YY_CPLUSPLUS
1410 basic_symbol (basic_symbol&& that)
1411 : Base (std::move (that))
1412 , value ()
1413 , location (std::move (that.location))
1414 {
1415 switch (this->kind ())
1416 {
1417 case symbol_kind::S_value: // value
1418 case symbol_kind::S_map_value: // map_value
1419 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1420 case symbol_kind::S_db_type: // db_type
1421 case symbol_kind::S_on_fail_mode: // on_fail_mode
1422 case symbol_kind::S_hr_mode: // hr_mode
1423 case symbol_kind::S_duid_type: // duid_type
1424 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1425 value.move< ElementPtr > (std::move (that.value));
1426 break;
1427
1428 case symbol_kind::S_BOOLEAN: // "boolean"
1429 value.move< bool > (std::move (that.value));
1430 break;
1431
1432 case symbol_kind::S_FLOAT: // "floating point"
1433 value.move< double > (std::move (that.value));
1434 break;
1435
1436 case symbol_kind::S_INTEGER: // "integer"
1437 value.move< int64_t > (std::move (that.value));
1438 break;
1439
1440 case symbol_kind::S_STRING: // "constant string"
1441 value.move< std::string > (std::move (that.value));
1442 break;
1443
1444 default:
1445 break;
1446 }
1447
1448 }
1449#endif
1450
1452 basic_symbol (const basic_symbol& that);
1453
1455#if 201103L <= YY_CPLUSPLUS
1456 basic_symbol (typename Base::kind_type t, location_type&& l)
1457 : Base (t)
1458 , location (std::move (l))
1459 {}
1460#else
1461 basic_symbol (typename Base::kind_type t, const location_type& l)
1462 : Base (t)
1463 , location (l)
1464 {}
1465#endif
1466
1467#if 201103L <= YY_CPLUSPLUS
1468 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1469 : Base (t)
1470 , value (std::move (v))
1471 , location (std::move (l))
1472 {}
1473#else
1474 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1475 : Base (t)
1476 , value (v)
1477 , location (l)
1478 {}
1479#endif
1480
1481#if 201103L <= YY_CPLUSPLUS
1482 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1483 : Base (t)
1484 , value (std::move (v))
1485 , location (std::move (l))
1486 {}
1487#else
1488 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1489 : Base (t)
1490 , value (v)
1491 , location (l)
1492 {}
1493#endif
1494
1495#if 201103L <= YY_CPLUSPLUS
1496 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1497 : Base (t)
1498 , value (std::move (v))
1499 , location (std::move (l))
1500 {}
1501#else
1502 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1503 : Base (t)
1504 , value (v)
1505 , location (l)
1506 {}
1507#endif
1508
1509#if 201103L <= YY_CPLUSPLUS
1510 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1511 : Base (t)
1512 , value (std::move (v))
1513 , location (std::move (l))
1514 {}
1515#else
1516 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1517 : Base (t)
1518 , value (v)
1519 , location (l)
1520 {}
1521#endif
1522
1523#if 201103L <= YY_CPLUSPLUS
1524 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1525 : Base (t)
1526 , value (std::move (v))
1527 , location (std::move (l))
1528 {}
1529#else
1530 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1531 : Base (t)
1532 , value (v)
1533 , location (l)
1534 {}
1535#endif
1536
1539 {
1540 clear ();
1541 }
1542
1543
1544
1547 {
1548 // User destructor.
1549 symbol_kind_type yykind = this->kind ();
1550 basic_symbol<Base>& yysym = *this;
1551 (void) yysym;
1552 switch (yykind)
1553 {
1554 default:
1555 break;
1556 }
1557
1558 // Value type destructor.
1559switch (yykind)
1560 {
1561 case symbol_kind::S_value: // value
1562 case symbol_kind::S_map_value: // map_value
1563 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1564 case symbol_kind::S_db_type: // db_type
1565 case symbol_kind::S_on_fail_mode: // on_fail_mode
1566 case symbol_kind::S_hr_mode: // hr_mode
1567 case symbol_kind::S_duid_type: // duid_type
1568 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1569 value.template destroy< ElementPtr > ();
1570 break;
1571
1572 case symbol_kind::S_BOOLEAN: // "boolean"
1573 value.template destroy< bool > ();
1574 break;
1575
1576 case symbol_kind::S_FLOAT: // "floating point"
1577 value.template destroy< double > ();
1578 break;
1579
1580 case symbol_kind::S_INTEGER: // "integer"
1581 value.template destroy< int64_t > ();
1582 break;
1583
1584 case symbol_kind::S_STRING: // "constant string"
1585 value.template destroy< std::string > ();
1586 break;
1587
1588 default:
1589 break;
1590 }
1591
1592 Base::clear ();
1593 }
1594
1596 std::string name () const YY_NOEXCEPT
1597 {
1598 return Dhcp6Parser::symbol_name (this->kind ());
1599 }
1600
1602 symbol_kind_type type_get () const YY_NOEXCEPT;
1603
1605 bool empty () const YY_NOEXCEPT;
1606
1608 void move (basic_symbol& s);
1609
1612
1615
1616 private:
1617#if YY_CPLUSPLUS < 201103L
1619 basic_symbol& operator= (const basic_symbol& that);
1620#endif
1621 };
1622
1624 struct by_kind
1625 {
1628
1631
1632#if 201103L <= YY_CPLUSPLUS
1634 by_kind (by_kind&& that) YY_NOEXCEPT;
1635#endif
1636
1638 by_kind (const by_kind& that) YY_NOEXCEPT;
1639
1642
1643
1644
1646 void clear () YY_NOEXCEPT;
1647
1649 void move (by_kind& that);
1650
1653 symbol_kind_type kind () const YY_NOEXCEPT;
1654
1656 symbol_kind_type type_get () const YY_NOEXCEPT;
1657
1661 };
1662
1665
1668 {
1671
1674
1676#if 201103L <= YY_CPLUSPLUS
1677 symbol_type (int tok, location_type l)
1678 : super_type (token_kind_type (tok), std::move (l))
1679#else
1680 symbol_type (int tok, const location_type& l)
1681 : super_type (token_kind_type (tok), l)
1682#endif
1683 {
1684#if !defined _MSC_VER || defined __clang__
1687#endif
1688 }
1689#if 201103L <= YY_CPLUSPLUS
1690 symbol_type (int tok, bool v, location_type l)
1691 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1692#else
1693 symbol_type (int tok, const bool& v, const location_type& l)
1694 : super_type (token_kind_type (tok), v, l)
1695#endif
1696 {
1697#if !defined _MSC_VER || defined __clang__
1699#endif
1700 }
1701#if 201103L <= YY_CPLUSPLUS
1702 symbol_type (int tok, double v, location_type l)
1703 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1704#else
1705 symbol_type (int tok, const double& v, const location_type& l)
1706 : super_type (token_kind_type (tok), v, l)
1707#endif
1708 {
1709#if !defined _MSC_VER || defined __clang__
1711#endif
1712 }
1713#if 201103L <= YY_CPLUSPLUS
1714 symbol_type (int tok, int64_t v, location_type l)
1715 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1716#else
1717 symbol_type (int tok, const int64_t& v, const location_type& l)
1718 : super_type (token_kind_type (tok), v, l)
1719#endif
1720 {
1721#if !defined _MSC_VER || defined __clang__
1723#endif
1724 }
1725#if 201103L <= YY_CPLUSPLUS
1726 symbol_type (int tok, std::string v, location_type l)
1727 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1728#else
1729 symbol_type (int tok, const std::string& v, const location_type& l)
1730 : super_type (token_kind_type (tok), v, l)
1731#endif
1732 {
1733#if !defined _MSC_VER || defined __clang__
1735#endif
1736 }
1737 };
1738
1741 virtual ~Dhcp6Parser ();
1742
1743#if 201103L <= YY_CPLUSPLUS
1745 Dhcp6Parser (const Dhcp6Parser&) = delete;
1747 Dhcp6Parser& operator= (const Dhcp6Parser&) = delete;
1748#endif
1749
1752 int operator() ();
1753
1756 virtual int parse ();
1757
1758#if PARSER6_DEBUG
1760 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1762 void set_debug_stream (std::ostream &);
1763
1765 typedef int debug_level_type;
1770#endif
1771
1775 virtual void error (const location_type& loc, const std::string& msg);
1776
1778 void error (const syntax_error& err);
1779
1782 static std::string symbol_name (symbol_kind_type yysymbol);
1783
1784 // Implementation of make_symbol for each token kind.
1785#if 201103L <= YY_CPLUSPLUS
1786 static
1789 {
1790 return symbol_type (token::TOKEN_END, std::move (l));
1791 }
1792#else
1793 static
1794 symbol_type
1796 {
1797 return symbol_type (token::TOKEN_END, l);
1798 }
1799#endif
1800#if 201103L <= YY_CPLUSPLUS
1801 static
1802 symbol_type
1804 {
1805 return symbol_type (token::TOKEN_PARSER6_error, std::move (l));
1806 }
1807#else
1808 static
1809 symbol_type
1811 {
1813 }
1814#endif
1815#if 201103L <= YY_CPLUSPLUS
1816 static
1817 symbol_type
1819 {
1820 return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l));
1821 }
1822#else
1823 static
1824 symbol_type
1826 {
1828 }
1829#endif
1830#if 201103L <= YY_CPLUSPLUS
1831 static
1832 symbol_type
1834 {
1835 return symbol_type (token::TOKEN_COMMA, std::move (l));
1836 }
1837#else
1838 static
1839 symbol_type
1841 {
1842 return symbol_type (token::TOKEN_COMMA, l);
1843 }
1844#endif
1845#if 201103L <= YY_CPLUSPLUS
1846 static
1847 symbol_type
1849 {
1850 return symbol_type (token::TOKEN_COLON, std::move (l));
1851 }
1852#else
1853 static
1854 symbol_type
1856 {
1857 return symbol_type (token::TOKEN_COLON, l);
1858 }
1859#endif
1860#if 201103L <= YY_CPLUSPLUS
1861 static
1862 symbol_type
1864 {
1865 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1866 }
1867#else
1868 static
1869 symbol_type
1871 {
1873 }
1874#endif
1875#if 201103L <= YY_CPLUSPLUS
1876 static
1877 symbol_type
1879 {
1880 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1881 }
1882#else
1883 static
1884 symbol_type
1886 {
1888 }
1889#endif
1890#if 201103L <= YY_CPLUSPLUS
1891 static
1892 symbol_type
1894 {
1895 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1896 }
1897#else
1898 static
1899 symbol_type
1901 {
1903 }
1904#endif
1905#if 201103L <= YY_CPLUSPLUS
1906 static
1907 symbol_type
1909 {
1910 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1911 }
1912#else
1913 static
1914 symbol_type
1916 {
1918 }
1919#endif
1920#if 201103L <= YY_CPLUSPLUS
1921 static
1922 symbol_type
1924 {
1925 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1926 }
1927#else
1928 static
1929 symbol_type
1931 {
1933 }
1934#endif
1935#if 201103L <= YY_CPLUSPLUS
1936 static
1937 symbol_type
1939 {
1940 return symbol_type (token::TOKEN_DHCP6, std::move (l));
1941 }
1942#else
1943 static
1944 symbol_type
1946 {
1947 return symbol_type (token::TOKEN_DHCP6, l);
1948 }
1949#endif
1950#if 201103L <= YY_CPLUSPLUS
1951 static
1952 symbol_type
1954 {
1955 return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
1956 }
1957#else
1958 static
1959 symbol_type
1961 {
1963 }
1964#endif
1965#if 201103L <= YY_CPLUSPLUS
1966 static
1967 symbol_type
1969 {
1970 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
1971 }
1972#else
1973 static
1974 symbol_type
1976 {
1978 }
1979#endif
1980#if 201103L <= YY_CPLUSPLUS
1981 static
1982 symbol_type
1984 {
1985 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
1986 }
1987#else
1988 static
1989 symbol_type
1991 {
1993 }
1994#endif
1995#if 201103L <= YY_CPLUSPLUS
1996 static
1997 symbol_type
1999 {
2000 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2001 }
2002#else
2003 static
2004 symbol_type
2006 {
2008 }
2009#endif
2010#if 201103L <= YY_CPLUSPLUS
2011 static
2012 symbol_type
2014 {
2015 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2016 }
2017#else
2018 static
2019 symbol_type
2021 {
2023 }
2024#endif
2025#if 201103L <= YY_CPLUSPLUS
2026 static
2027 symbol_type
2029 {
2030 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2031 }
2032#else
2033 static
2034 symbol_type
2036 {
2038 }
2039#endif
2040#if 201103L <= YY_CPLUSPLUS
2041 static
2042 symbol_type
2044 {
2045 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2046 }
2047#else
2048 static
2049 symbol_type
2051 {
2053 }
2054#endif
2055#if 201103L <= YY_CPLUSPLUS
2056 static
2057 symbol_type
2059 {
2060 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2061 }
2062#else
2063 static
2064 symbol_type
2066 {
2068 }
2069#endif
2070#if 201103L <= YY_CPLUSPLUS
2071 static
2072 symbol_type
2074 {
2075 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2076 }
2077#else
2078 static
2079 symbol_type
2081 {
2083 }
2084#endif
2085#if 201103L <= YY_CPLUSPLUS
2086 static
2087 symbol_type
2089 {
2090 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2091 }
2092#else
2093 static
2094 symbol_type
2096 {
2098 }
2099#endif
2100#if 201103L <= YY_CPLUSPLUS
2101 static
2102 symbol_type
2104 {
2105 return symbol_type (token::TOKEN_TYPE, std::move (l));
2106 }
2107#else
2108 static
2109 symbol_type
2111 {
2112 return symbol_type (token::TOKEN_TYPE, l);
2113 }
2114#endif
2115#if 201103L <= YY_CPLUSPLUS
2116 static
2117 symbol_type
2119 {
2120 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2121 }
2122#else
2123 static
2124 symbol_type
2126 {
2128 }
2129#endif
2130#if 201103L <= YY_CPLUSPLUS
2131 static
2132 symbol_type
2134 {
2135 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2136 }
2137#else
2138 static
2139 symbol_type
2141 {
2142 return symbol_type (token::TOKEN_MYSQL, l);
2143 }
2144#endif
2145#if 201103L <= YY_CPLUSPLUS
2146 static
2147 symbol_type
2149 {
2150 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2151 }
2152#else
2153 static
2154 symbol_type
2156 {
2158 }
2159#endif
2160#if 201103L <= YY_CPLUSPLUS
2161 static
2162 symbol_type
2164 {
2165 return symbol_type (token::TOKEN_CQL, std::move (l));
2166 }
2167#else
2168 static
2169 symbol_type
2171 {
2172 return symbol_type (token::TOKEN_CQL, l);
2173 }
2174#endif
2175#if 201103L <= YY_CPLUSPLUS
2176 static
2177 symbol_type
2179 {
2180 return symbol_type (token::TOKEN_USER, std::move (l));
2181 }
2182#else
2183 static
2184 symbol_type
2186 {
2187 return symbol_type (token::TOKEN_USER, l);
2188 }
2189#endif
2190#if 201103L <= YY_CPLUSPLUS
2191 static
2192 symbol_type
2194 {
2195 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2196 }
2197#else
2198 static
2199 symbol_type
2201 {
2203 }
2204#endif
2205#if 201103L <= YY_CPLUSPLUS
2206 static
2207 symbol_type
2209 {
2210 return symbol_type (token::TOKEN_HOST, std::move (l));
2211 }
2212#else
2213 static
2214 symbol_type
2216 {
2217 return symbol_type (token::TOKEN_HOST, l);
2218 }
2219#endif
2220#if 201103L <= YY_CPLUSPLUS
2221 static
2222 symbol_type
2224 {
2225 return symbol_type (token::TOKEN_PORT, std::move (l));
2226 }
2227#else
2228 static
2229 symbol_type
2231 {
2232 return symbol_type (token::TOKEN_PORT, l);
2233 }
2234#endif
2235#if 201103L <= YY_CPLUSPLUS
2236 static
2237 symbol_type
2239 {
2240 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2241 }
2242#else
2243 static
2244 symbol_type
2246 {
2248 }
2249#endif
2250#if 201103L <= YY_CPLUSPLUS
2251 static
2252 symbol_type
2254 {
2255 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2256 }
2257#else
2258 static
2259 symbol_type
2261 {
2263 }
2264#endif
2265#if 201103L <= YY_CPLUSPLUS
2266 static
2267 symbol_type
2269 {
2270 return symbol_type (token::TOKEN_READONLY, std::move (l));
2271 }
2272#else
2273 static
2274 symbol_type
2276 {
2278 }
2279#endif
2280#if 201103L <= YY_CPLUSPLUS
2281 static
2282 symbol_type
2284 {
2285 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2286 }
2287#else
2288 static
2289 symbol_type
2291 {
2293 }
2294#endif
2295#if 201103L <= YY_CPLUSPLUS
2296 static
2297 symbol_type
2299 {
2300 return symbol_type (token::TOKEN_CONTACT_POINTS, std::move (l));
2301 }
2302#else
2303 static
2304 symbol_type
2306 {
2308 }
2309#endif
2310#if 201103L <= YY_CPLUSPLUS
2311 static
2312 symbol_type
2314 {
2315 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2316 }
2317#else
2318 static
2319 symbol_type
2321 {
2323 }
2324#endif
2325#if 201103L <= YY_CPLUSPLUS
2326 static
2327 symbol_type
2329 {
2330 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2331 }
2332#else
2333 static
2334 symbol_type
2336 {
2338 }
2339#endif
2340#if 201103L <= YY_CPLUSPLUS
2341 static
2342 symbol_type
2344 {
2345 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2346 }
2347#else
2348 static
2349 symbol_type
2351 {
2353 }
2354#endif
2355#if 201103L <= YY_CPLUSPLUS
2356 static
2357 symbol_type
2359 {
2360 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2361 }
2362#else
2363 static
2364 symbol_type
2366 {
2368 }
2369#endif
2370#if 201103L <= YY_CPLUSPLUS
2371 static
2372 symbol_type
2374 {
2375 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2376 }
2377#else
2378 static
2379 symbol_type
2381 {
2383 }
2384#endif
2385#if 201103L <= YY_CPLUSPLUS
2386 static
2387 symbol_type
2389 {
2390 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2391 }
2392#else
2393 static
2394 symbol_type
2396 {
2398 }
2399#endif
2400#if 201103L <= YY_CPLUSPLUS
2401 static
2402 symbol_type
2404 {
2405 return symbol_type (token::TOKEN_KEYSPACE, std::move (l));
2406 }
2407#else
2408 static
2409 symbol_type
2411 {
2413 }
2414#endif
2415#if 201103L <= YY_CPLUSPLUS
2416 static
2417 symbol_type
2419 {
2420 return symbol_type (token::TOKEN_CONSISTENCY, std::move (l));
2421 }
2422#else
2423 static
2424 symbol_type
2426 {
2428 }
2429#endif
2430#if 201103L <= YY_CPLUSPLUS
2431 static
2432 symbol_type
2434 {
2435 return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, std::move (l));
2436 }
2437#else
2438 static
2439 symbol_type
2441 {
2443 }
2444#endif
2445#if 201103L <= YY_CPLUSPLUS
2446 static
2447 symbol_type
2449 {
2450 return symbol_type (token::TOKEN_REQUEST_TIMEOUT, std::move (l));
2451 }
2452#else
2453 static
2454 symbol_type
2456 {
2458 }
2459#endif
2460#if 201103L <= YY_CPLUSPLUS
2461 static
2462 symbol_type
2464 {
2465 return symbol_type (token::TOKEN_TCP_KEEPALIVE, std::move (l));
2466 }
2467#else
2468 static
2469 symbol_type
2471 {
2473 }
2474#endif
2475#if 201103L <= YY_CPLUSPLUS
2476 static
2477 symbol_type
2479 {
2480 return symbol_type (token::TOKEN_TCP_NODELAY, std::move (l));
2481 }
2482#else
2483 static
2484 symbol_type
2486 {
2488 }
2489#endif
2490#if 201103L <= YY_CPLUSPLUS
2491 static
2492 symbol_type
2494 {
2495 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2496 }
2497#else
2498 static
2499 symbol_type
2501 {
2503 }
2504#endif
2505#if 201103L <= YY_CPLUSPLUS
2506 static
2507 symbol_type
2509 {
2510 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
2511 }
2512#else
2513 static
2514 symbol_type
2516 {
2518 }
2519#endif
2520#if 201103L <= YY_CPLUSPLUS
2521 static
2522 symbol_type
2524 {
2525 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
2526 }
2527#else
2528 static
2529 symbol_type
2531 {
2533 }
2534#endif
2535#if 201103L <= YY_CPLUSPLUS
2536 static
2537 symbol_type
2539 {
2540 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
2541 }
2542#else
2543 static
2544 symbol_type
2546 {
2548 }
2549#endif
2550#if 201103L <= YY_CPLUSPLUS
2551 static
2552 symbol_type
2554 {
2555 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2556 }
2557#else
2558 static
2559 symbol_type
2561 {
2563 }
2564#endif
2565#if 201103L <= YY_CPLUSPLUS
2566 static
2567 symbol_type
2569 {
2570 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2571 }
2572#else
2573 static
2574 symbol_type
2576 {
2578 }
2579#endif
2580#if 201103L <= YY_CPLUSPLUS
2581 static
2582 symbol_type
2584 {
2585 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2586 }
2587#else
2588 static
2589 symbol_type
2591 {
2593 }
2594#endif
2595#if 201103L <= YY_CPLUSPLUS
2596 static
2597 symbol_type
2599 {
2600 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2601 }
2602#else
2603 static
2604 symbol_type
2606 {
2608 }
2609#endif
2610#if 201103L <= YY_CPLUSPLUS
2611 static
2612 symbol_type
2614 {
2615 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2616 }
2617#else
2618 static
2619 symbol_type
2621 {
2623 }
2624#endif
2625#if 201103L <= YY_CPLUSPLUS
2626 static
2627 symbol_type
2629 {
2630 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2631 }
2632#else
2633 static
2634 symbol_type
2636 {
2638 }
2639#endif
2640#if 201103L <= YY_CPLUSPLUS
2641 static
2642 symbol_type
2644 {
2645 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2646 }
2647#else
2648 static
2649 symbol_type
2651 {
2653 }
2654#endif
2655#if 201103L <= YY_CPLUSPLUS
2656 static
2657 symbol_type
2659 {
2660 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2661 }
2662#else
2663 static
2664 symbol_type
2666 {
2668 }
2669#endif
2670#if 201103L <= YY_CPLUSPLUS
2671 static
2672 symbol_type
2674 {
2675 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2676 }
2677#else
2678 static
2679 symbol_type
2681 {
2683 }
2684#endif
2685#if 201103L <= YY_CPLUSPLUS
2686 static
2687 symbol_type
2689 {
2690 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2691 }
2692#else
2693 static
2694 symbol_type
2696 {
2698 }
2699#endif
2700#if 201103L <= YY_CPLUSPLUS
2701 static
2702 symbol_type
2704 {
2705 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2706 }
2707#else
2708 static
2709 symbol_type
2711 {
2713 }
2714#endif
2715#if 201103L <= YY_CPLUSPLUS
2716 static
2717 symbol_type
2719 {
2720 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2721 }
2722#else
2723 static
2724 symbol_type
2726 {
2728 }
2729#endif
2730#if 201103L <= YY_CPLUSPLUS
2731 static
2732 symbol_type
2734 {
2735 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2736 }
2737#else
2738 static
2739 symbol_type
2741 {
2743 }
2744#endif
2745#if 201103L <= YY_CPLUSPLUS
2746 static
2747 symbol_type
2749 {
2750 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2751 }
2752#else
2753 static
2754 symbol_type
2756 {
2758 }
2759#endif
2760#if 201103L <= YY_CPLUSPLUS
2761 static
2762 symbol_type
2764 {
2765 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2766 }
2767#else
2768 static
2769 symbol_type
2771 {
2773 }
2774#endif
2775#if 201103L <= YY_CPLUSPLUS
2776 static
2777 symbol_type
2779 {
2780 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2781 }
2782#else
2783 static
2784 symbol_type
2786 {
2788 }
2789#endif
2790#if 201103L <= YY_CPLUSPLUS
2791 static
2792 symbol_type
2794 {
2795 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2796 }
2797#else
2798 static
2799 symbol_type
2801 {
2803 }
2804#endif
2805#if 201103L <= YY_CPLUSPLUS
2806 static
2807 symbol_type
2809 {
2810 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2811 }
2812#else
2813 static
2814 symbol_type
2816 {
2818 }
2819#endif
2820#if 201103L <= YY_CPLUSPLUS
2821 static
2822 symbol_type
2824 {
2825 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2826 }
2827#else
2828 static
2829 symbol_type
2831 {
2833 }
2834#endif
2835#if 201103L <= YY_CPLUSPLUS
2836 static
2837 symbol_type
2839 {
2840 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2841 }
2842#else
2843 static
2844 symbol_type
2846 {
2848 }
2849#endif
2850#if 201103L <= YY_CPLUSPLUS
2851 static
2852 symbol_type
2854 {
2855 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2856 }
2857#else
2858 static
2859 symbol_type
2861 {
2863 }
2864#endif
2865#if 201103L <= YY_CPLUSPLUS
2866 static
2867 symbol_type
2869 {
2870 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2871 }
2872#else
2873 static
2874 symbol_type
2876 {
2878 }
2879#endif
2880#if 201103L <= YY_CPLUSPLUS
2881 static
2882 symbol_type
2884 {
2885 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
2886 }
2887#else
2888 static
2889 symbol_type
2891 {
2893 }
2894#endif
2895#if 201103L <= YY_CPLUSPLUS
2896 static
2897 symbol_type
2899 {
2900 return symbol_type (token::TOKEN_SUBNET6, std::move (l));
2901 }
2902#else
2903 static
2904 symbol_type
2906 {
2908 }
2909#endif
2910#if 201103L <= YY_CPLUSPLUS
2911 static
2912 symbol_type
2914 {
2915 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
2916 }
2917#else
2918 static
2919 symbol_type
2921 {
2923 }
2924#endif
2925#if 201103L <= YY_CPLUSPLUS
2926 static
2927 symbol_type
2929 {
2930 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
2931 }
2932#else
2933 static
2934 symbol_type
2936 {
2938 }
2939#endif
2940#if 201103L <= YY_CPLUSPLUS
2941 static
2942 symbol_type
2944 {
2945 return symbol_type (token::TOKEN_NAME, std::move (l));
2946 }
2947#else
2948 static
2949 symbol_type
2951 {
2952 return symbol_type (token::TOKEN_NAME, l);
2953 }
2954#endif
2955#if 201103L <= YY_CPLUSPLUS
2956 static
2957 symbol_type
2959 {
2960 return symbol_type (token::TOKEN_DATA, std::move (l));
2961 }
2962#else
2963 static
2964 symbol_type
2966 {
2967 return symbol_type (token::TOKEN_DATA, l);
2968 }
2969#endif
2970#if 201103L <= YY_CPLUSPLUS
2971 static
2972 symbol_type
2974 {
2975 return symbol_type (token::TOKEN_CODE, std::move (l));
2976 }
2977#else
2978 static
2979 symbol_type
2981 {
2982 return symbol_type (token::TOKEN_CODE, l);
2983 }
2984#endif
2985#if 201103L <= YY_CPLUSPLUS
2986 static
2987 symbol_type
2989 {
2990 return symbol_type (token::TOKEN_SPACE, std::move (l));
2991 }
2992#else
2993 static
2994 symbol_type
2996 {
2997 return symbol_type (token::TOKEN_SPACE, l);
2998 }
2999#endif
3000#if 201103L <= YY_CPLUSPLUS
3001 static
3002 symbol_type
3004 {
3005 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3006 }
3007#else
3008 static
3009 symbol_type
3011 {
3013 }
3014#endif
3015#if 201103L <= YY_CPLUSPLUS
3016 static
3017 symbol_type
3019 {
3020 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3021 }
3022#else
3023 static
3024 symbol_type
3026 {
3028 }
3029#endif
3030#if 201103L <= YY_CPLUSPLUS
3031 static
3032 symbol_type
3034 {
3035 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3036 }
3037#else
3038 static
3039 symbol_type
3041 {
3043 }
3044#endif
3045#if 201103L <= YY_CPLUSPLUS
3046 static
3047 symbol_type
3049 {
3050 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3051 }
3052#else
3053 static
3054 symbol_type
3056 {
3058 }
3059#endif
3060#if 201103L <= YY_CPLUSPLUS
3061 static
3062 symbol_type
3064 {
3065 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3066 }
3067#else
3068 static
3069 symbol_type
3071 {
3072 return symbol_type (token::TOKEN_ARRAY, l);
3073 }
3074#endif
3075#if 201103L <= YY_CPLUSPLUS
3076 static
3077 symbol_type
3079 {
3080 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3081 }
3082#else
3083 static
3084 symbol_type
3086 {
3088 }
3089#endif
3090#if 201103L <= YY_CPLUSPLUS
3091 static
3092 symbol_type
3094 {
3095 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3096 }
3097#else
3098 static
3099 symbol_type
3101 {
3103 }
3104#endif
3105#if 201103L <= YY_CPLUSPLUS
3106 static
3107 symbol_type
3109 {
3110 return symbol_type (token::TOKEN_POOLS, std::move (l));
3111 }
3112#else
3113 static
3114 symbol_type
3116 {
3117 return symbol_type (token::TOKEN_POOLS, l);
3118 }
3119#endif
3120#if 201103L <= YY_CPLUSPLUS
3121 static
3122 symbol_type
3124 {
3125 return symbol_type (token::TOKEN_POOL, std::move (l));
3126 }
3127#else
3128 static
3129 symbol_type
3131 {
3132 return symbol_type (token::TOKEN_POOL, l);
3133 }
3134#endif
3135#if 201103L <= YY_CPLUSPLUS
3136 static
3137 symbol_type
3139 {
3140 return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
3141 }
3142#else
3143 static
3144 symbol_type
3146 {
3148 }
3149#endif
3150#if 201103L <= YY_CPLUSPLUS
3151 static
3152 symbol_type
3154 {
3155 return symbol_type (token::TOKEN_PREFIX, std::move (l));
3156 }
3157#else
3158 static
3159 symbol_type
3161 {
3162 return symbol_type (token::TOKEN_PREFIX, l);
3163 }
3164#endif
3165#if 201103L <= YY_CPLUSPLUS
3166 static
3167 symbol_type
3169 {
3170 return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
3171 }
3172#else
3173 static
3174 symbol_type
3176 {
3178 }
3179#endif
3180#if 201103L <= YY_CPLUSPLUS
3181 static
3182 symbol_type
3184 {
3185 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
3186 }
3187#else
3188 static
3189 symbol_type
3191 {
3193 }
3194#endif
3195#if 201103L <= YY_CPLUSPLUS
3196 static
3197 symbol_type
3199 {
3200 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
3201 }
3202#else
3203 static
3204 symbol_type
3206 {
3208 }
3209#endif
3210#if 201103L <= YY_CPLUSPLUS
3211 static
3212 symbol_type
3214 {
3215 return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
3216 }
3217#else
3218 static
3219 symbol_type
3221 {
3223 }
3224#endif
3225#if 201103L <= YY_CPLUSPLUS
3226 static
3227 symbol_type
3229 {
3230 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3231 }
3232#else
3233 static
3234 symbol_type
3236 {
3238 }
3239#endif
3240#if 201103L <= YY_CPLUSPLUS
3241 static
3242 symbol_type
3244 {
3245 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3246 }
3247#else
3248 static
3249 symbol_type
3251 {
3253 }
3254#endif
3255#if 201103L <= YY_CPLUSPLUS
3256 static
3257 symbol_type
3259 {
3260 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3261 }
3262#else
3263 static
3264 symbol_type
3266 {
3267 return symbol_type (token::TOKEN_SUBNET, l);
3268 }
3269#endif
3270#if 201103L <= YY_CPLUSPLUS
3271 static
3272 symbol_type
3274 {
3275 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3276 }
3277#else
3278 static
3279 symbol_type
3281 {
3283 }
3284#endif
3285#if 201103L <= YY_CPLUSPLUS
3286 static
3287 symbol_type
3289 {
3290 return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
3291 }
3292#else
3293 static
3294 symbol_type
3296 {
3298 }
3299#endif
3300#if 201103L <= YY_CPLUSPLUS
3301 static
3302 symbol_type
3304 {
3305 return symbol_type (token::TOKEN_ID, std::move (l));
3306 }
3307#else
3308 static
3309 symbol_type
3311 {
3312 return symbol_type (token::TOKEN_ID, l);
3313 }
3314#endif
3315#if 201103L <= YY_CPLUSPLUS
3316 static
3317 symbol_type
3319 {
3320 return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
3321 }
3322#else
3323 static
3324 symbol_type
3326 {
3328 }
3329#endif
3330#if 201103L <= YY_CPLUSPLUS
3331 static
3332 symbol_type
3334 {
3335 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3336 }
3337#else
3338 static
3339 symbol_type
3341 {
3343 }
3344#endif
3345#if 201103L <= YY_CPLUSPLUS
3346 static
3347 symbol_type
3349 {
3350 return symbol_type (token::TOKEN_DISABLED, std::move (l));
3351 }
3352#else
3353 static
3354 symbol_type
3356 {
3358 }
3359#endif
3360#if 201103L <= YY_CPLUSPLUS
3361 static
3362 symbol_type
3364 {
3365 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3366 }
3367#else
3368 static
3369 symbol_type
3371 {
3373 }
3374#endif
3375#if 201103L <= YY_CPLUSPLUS
3376 static
3377 symbol_type
3379 {
3380 return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3381 }
3382#else
3383 static
3384 symbol_type
3386 {
3387 return symbol_type (token::TOKEN_GLOBAL, l);
3388 }
3389#endif
3390#if 201103L <= YY_CPLUSPLUS
3391 static
3392 symbol_type
3394 {
3395 return symbol_type (token::TOKEN_ALL, std::move (l));
3396 }
3397#else
3398 static
3399 symbol_type
3401 {
3402 return symbol_type (token::TOKEN_ALL, l);
3403 }
3404#endif
3405#if 201103L <= YY_CPLUSPLUS
3406 static
3407 symbol_type
3409 {
3410 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3411 }
3412#else
3413 static
3414 symbol_type
3416 {
3418 }
3419#endif
3420#if 201103L <= YY_CPLUSPLUS
3421 static
3422 symbol_type
3424 {
3425 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3426 }
3427#else
3428 static
3429 symbol_type
3431 {
3433 }
3434#endif
3435#if 201103L <= YY_CPLUSPLUS
3436 static
3437 symbol_type
3439 {
3440 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3441 }
3442#else
3443 static
3444 symbol_type
3446 {
3448 }
3449#endif
3450#if 201103L <= YY_CPLUSPLUS
3451 static
3452 symbol_type
3454 {
3455 return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
3456 }
3457#else
3458 static
3459 symbol_type
3461 {
3463 }
3464#endif
3465#if 201103L <= YY_CPLUSPLUS
3466 static
3467 symbol_type
3469 {
3470 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
3471 }
3472#else
3473 static
3474 symbol_type
3476 {
3478 }
3479#endif
3480#if 201103L <= YY_CPLUSPLUS
3481 static
3482 symbol_type
3484 {
3485 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3486 }
3487#else
3488 static
3489 symbol_type
3491 {
3493 }
3494#endif
3495#if 201103L <= YY_CPLUSPLUS
3496 static
3497 symbol_type
3499 {
3500 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
3501 }
3502#else
3503 static
3504 symbol_type
3506 {
3508 }
3509#endif
3510#if 201103L <= YY_CPLUSPLUS
3511 static
3512 symbol_type
3514 {
3515 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
3516 }
3517#else
3518 static
3519 symbol_type
3521 {
3523 }
3524#endif
3525#if 201103L <= YY_CPLUSPLUS
3526 static
3527 symbol_type
3529 {
3530 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3531 }
3532#else
3533 static
3534 symbol_type
3536 {
3538 }
3539#endif
3540#if 201103L <= YY_CPLUSPLUS
3541 static
3542 symbol_type
3544 {
3545 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3546 }
3547#else
3548 static
3549 symbol_type
3551 {
3553 }
3554#endif
3555#if 201103L <= YY_CPLUSPLUS
3556 static
3557 symbol_type
3559 {
3560 return symbol_type (token::TOKEN_TEST, std::move (l));
3561 }
3562#else
3563 static
3564 symbol_type
3566 {
3567 return symbol_type (token::TOKEN_TEST, l);
3568 }
3569#endif
3570#if 201103L <= YY_CPLUSPLUS
3571 static
3572 symbol_type
3574 {
3575 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3576 }
3577#else
3578 static
3579 symbol_type
3581 {
3583 }
3584#endif
3585#if 201103L <= YY_CPLUSPLUS
3586 static
3587 symbol_type
3589 {
3590 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3591 }
3592#else
3593 static
3594 symbol_type
3596 {
3598 }
3599#endif
3600#if 201103L <= YY_CPLUSPLUS
3601 static
3602 symbol_type
3604 {
3605 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3606 }
3607#else
3608 static
3609 symbol_type
3611 {
3613 }
3614#endif
3615#if 201103L <= YY_CPLUSPLUS
3616 static
3617 symbol_type
3619 {
3620 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3621 }
3622#else
3623 static
3624 symbol_type
3626 {
3628 }
3629#endif
3630#if 201103L <= YY_CPLUSPLUS
3631 static
3632 symbol_type
3634 {
3635 return symbol_type (token::TOKEN_PREFIXES, std::move (l));
3636 }
3637#else
3638 static
3639 symbol_type
3641 {
3643 }
3644#endif
3645#if 201103L <= YY_CPLUSPLUS
3646 static
3647 symbol_type
3649 {
3650 return symbol_type (token::TOKEN_DUID, std::move (l));
3651 }
3652#else
3653 static
3654 symbol_type
3656 {
3657 return symbol_type (token::TOKEN_DUID, l);
3658 }
3659#endif
3660#if 201103L <= YY_CPLUSPLUS
3661 static
3662 symbol_type
3664 {
3665 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3666 }
3667#else
3668 static
3669 symbol_type
3671 {
3673 }
3674#endif
3675#if 201103L <= YY_CPLUSPLUS
3676 static
3677 symbol_type
3679 {
3680 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3681 }
3682#else
3683 static
3684 symbol_type
3686 {
3688 }
3689#endif
3690#if 201103L <= YY_CPLUSPLUS
3691 static
3692 symbol_type
3694 {
3695 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3696 }
3697#else
3698 static
3699 symbol_type
3701 {
3703 }
3704#endif
3705#if 201103L <= YY_CPLUSPLUS
3706 static
3707 symbol_type
3709 {
3710 return symbol_type (token::TOKEN_RELAY, std::move (l));
3711 }
3712#else
3713 static
3714 symbol_type
3716 {
3717 return symbol_type (token::TOKEN_RELAY, l);
3718 }
3719#endif
3720#if 201103L <= YY_CPLUSPLUS
3721 static
3722 symbol_type
3724 {
3725 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3726 }
3727#else
3728 static
3729 symbol_type
3731 {
3733 }
3734#endif
3735#if 201103L <= YY_CPLUSPLUS
3736 static
3737 symbol_type
3739 {
3740 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
3741 }
3742#else
3743 static
3744 symbol_type
3746 {
3748 }
3749#endif
3750#if 201103L <= YY_CPLUSPLUS
3751 static
3752 symbol_type
3754 {
3755 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
3756 }
3757#else
3758 static
3759 symbol_type
3761 {
3763 }
3764#endif
3765#if 201103L <= YY_CPLUSPLUS
3766 static
3767 symbol_type
3769 {
3770 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
3771 }
3772#else
3773 static
3774 symbol_type
3776 {
3778 }
3779#endif
3780#if 201103L <= YY_CPLUSPLUS
3781 static
3782 symbol_type
3784 {
3785 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
3786 }
3787#else
3788 static
3789 symbol_type
3791 {
3793 }
3794#endif
3795#if 201103L <= YY_CPLUSPLUS
3796 static
3797 symbol_type
3799 {
3800 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
3801 }
3802#else
3803 static
3804 symbol_type
3806 {
3808 }
3809#endif
3810#if 201103L <= YY_CPLUSPLUS
3811 static
3812 symbol_type
3814 {
3815 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
3816 }
3817#else
3818 static
3819 symbol_type
3821 {
3823 }
3824#endif
3825#if 201103L <= YY_CPLUSPLUS
3826 static
3827 symbol_type
3829 {
3830 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
3831 }
3832#else
3833 static
3834 symbol_type
3836 {
3838 }
3839#endif
3840#if 201103L <= YY_CPLUSPLUS
3841 static
3842 symbol_type
3844 {
3845 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
3846 }
3847#else
3848 static
3849 symbol_type
3851 {
3853 }
3854#endif
3855#if 201103L <= YY_CPLUSPLUS
3856 static
3857 symbol_type
3859 {
3860 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
3861 }
3862#else
3863 static
3864 symbol_type
3866 {
3868 }
3869#endif
3870#if 201103L <= YY_CPLUSPLUS
3871 static
3872 symbol_type
3874 {
3875 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
3876 }
3877#else
3878 static
3879 symbol_type
3881 {
3883 }
3884#endif
3885#if 201103L <= YY_CPLUSPLUS
3886 static
3887 symbol_type
3889 {
3890 return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
3891 }
3892#else
3893 static
3894 symbol_type
3896 {
3898 }
3899#endif
3900#if 201103L <= YY_CPLUSPLUS
3901 static
3902 symbol_type
3904 {
3905 return symbol_type (token::TOKEN_LLT, std::move (l));
3906 }
3907#else
3908 static
3909 symbol_type
3911 {
3912 return symbol_type (token::TOKEN_LLT, l);
3913 }
3914#endif
3915#if 201103L <= YY_CPLUSPLUS
3916 static
3917 symbol_type
3919 {
3920 return symbol_type (token::TOKEN_EN, std::move (l));
3921 }
3922#else
3923 static
3924 symbol_type
3926 {
3927 return symbol_type (token::TOKEN_EN, l);
3928 }
3929#endif
3930#if 201103L <= YY_CPLUSPLUS
3931 static
3932 symbol_type
3934 {
3935 return symbol_type (token::TOKEN_LL, std::move (l));
3936 }
3937#else
3938 static
3939 symbol_type
3941 {
3942 return symbol_type (token::TOKEN_LL, l);
3943 }
3944#endif
3945#if 201103L <= YY_CPLUSPLUS
3946 static
3947 symbol_type
3949 {
3950 return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
3951 }
3952#else
3953 static
3954 symbol_type
3956 {
3958 }
3959#endif
3960#if 201103L <= YY_CPLUSPLUS
3961 static
3962 symbol_type
3964 {
3965 return symbol_type (token::TOKEN_HTYPE, std::move (l));
3966 }
3967#else
3968 static
3969 symbol_type
3971 {
3972 return symbol_type (token::TOKEN_HTYPE, l);
3973 }
3974#endif
3975#if 201103L <= YY_CPLUSPLUS
3976 static
3977 symbol_type
3979 {
3980 return symbol_type (token::TOKEN_TIME, std::move (l));
3981 }
3982#else
3983 static
3984 symbol_type
3986 {
3987 return symbol_type (token::TOKEN_TIME, l);
3988 }
3989#endif
3990#if 201103L <= YY_CPLUSPLUS
3991 static
3992 symbol_type
3994 {
3995 return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
3996 }
3997#else
3998 static
3999 symbol_type
4001 {
4003 }
4004#endif
4005#if 201103L <= YY_CPLUSPLUS
4006 static
4007 symbol_type
4009 {
4010 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4011 }
4012#else
4013 static
4014 symbol_type
4016 {
4018 }
4019#endif
4020#if 201103L <= YY_CPLUSPLUS
4021 static
4022 symbol_type
4024 {
4025 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4026 }
4027#else
4028 static
4029 symbol_type
4031 {
4033 }
4034#endif
4035#if 201103L <= YY_CPLUSPLUS
4036 static
4037 symbol_type
4039 {
4040 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4041 }
4042#else
4043 static
4044 symbol_type
4046 {
4048 }
4049#endif
4050#if 201103L <= YY_CPLUSPLUS
4051 static
4052 symbol_type
4054 {
4055 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4056 }
4057#else
4058 static
4059 symbol_type
4061 {
4063 }
4064#endif
4065#if 201103L <= YY_CPLUSPLUS
4066 static
4067 symbol_type
4069 {
4070 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4071 }
4072#else
4073 static
4074 symbol_type
4076 {
4078 }
4079#endif
4080#if 201103L <= YY_CPLUSPLUS
4081 static
4082 symbol_type
4084 {
4085 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4086 }
4087#else
4088 static
4089 symbol_type
4091 {
4093 }
4094#endif
4095#if 201103L <= YY_CPLUSPLUS
4096 static
4097 symbol_type
4099 {
4100 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4101 }
4102#else
4103 static
4104 symbol_type
4106 {
4108 }
4109#endif
4110#if 201103L <= YY_CPLUSPLUS
4111 static
4112 symbol_type
4114 {
4115 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4116 }
4117#else
4118 static
4119 symbol_type
4121 {
4123 }
4124#endif
4125#if 201103L <= YY_CPLUSPLUS
4126 static
4127 symbol_type
4129 {
4130 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4131 }
4132#else
4133 static
4134 symbol_type
4136 {
4138 }
4139#endif
4140#if 201103L <= YY_CPLUSPLUS
4141 static
4142 symbol_type
4144 {
4145 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4146 }
4147#else
4148 static
4149 symbol_type
4151 {
4153 }
4154#endif
4155#if 201103L <= YY_CPLUSPLUS
4156 static
4157 symbol_type
4159 {
4160 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4161 }
4162#else
4163 static
4164 symbol_type
4166 {
4168 }
4169#endif
4170#if 201103L <= YY_CPLUSPLUS
4171 static
4172 symbol_type
4174 {
4175 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4176 }
4177#else
4178 static
4179 symbol_type
4181 {
4183 }
4184#endif
4185#if 201103L <= YY_CPLUSPLUS
4186 static
4187 symbol_type
4189 {
4190 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4191 }
4192#else
4193 static
4194 symbol_type
4196 {
4198 }
4199#endif
4200#if 201103L <= YY_CPLUSPLUS
4201 static
4202 symbol_type
4204 {
4205 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4206 }
4207#else
4208 static
4209 symbol_type
4211 {
4213 }
4214#endif
4215#if 201103L <= YY_CPLUSPLUS
4216 static
4217 symbol_type
4219 {
4220 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4221 }
4222#else
4223 static
4224 symbol_type
4226 {
4228 }
4229#endif
4230#if 201103L <= YY_CPLUSPLUS
4231 static
4232 symbol_type
4234 {
4235 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4236 }
4237#else
4238 static
4239 symbol_type
4241 {
4243 }
4244#endif
4245#if 201103L <= YY_CPLUSPLUS
4246 static
4247 symbol_type
4249 {
4250 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4251 }
4252#else
4253 static
4254 symbol_type
4256 {
4258 }
4259#endif
4260#if 201103L <= YY_CPLUSPLUS
4261 static
4262 symbol_type
4264 {
4265 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4266 }
4267#else
4268 static
4269 symbol_type
4271 {
4273 }
4274#endif
4275#if 201103L <= YY_CPLUSPLUS
4276 static
4277 symbol_type
4279 {
4280 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4281 }
4282#else
4283 static
4284 symbol_type
4286 {
4288 }
4289#endif
4290#if 201103L <= YY_CPLUSPLUS
4291 static
4292 symbol_type
4294 {
4295 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4296 }
4297#else
4298 static
4299 symbol_type
4301 {
4303 }
4304#endif
4305#if 201103L <= YY_CPLUSPLUS
4306 static
4307 symbol_type
4309 {
4310 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4311 }
4312#else
4313 static
4314 symbol_type
4316 {
4318 }
4319#endif
4320#if 201103L <= YY_CPLUSPLUS
4321 static
4322 symbol_type
4324 {
4325 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4326 }
4327#else
4328 static
4329 symbol_type
4331 {
4333 }
4334#endif
4335#if 201103L <= YY_CPLUSPLUS
4336 static
4337 symbol_type
4339 {
4340 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4341 }
4342#else
4343 static
4344 symbol_type
4346 {
4348 }
4349#endif
4350#if 201103L <= YY_CPLUSPLUS
4351 static
4352 symbol_type
4354 {
4355 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4356 }
4357#else
4358 static
4359 symbol_type
4361 {
4363 }
4364#endif
4365#if 201103L <= YY_CPLUSPLUS
4366 static
4367 symbol_type
4369 {
4370 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4371 }
4372#else
4373 static
4374 symbol_type
4376 {
4378 }
4379#endif
4380#if 201103L <= YY_CPLUSPLUS
4381 static
4382 symbol_type
4384 {
4385 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4386 }
4387#else
4388 static
4389 symbol_type
4391 {
4393 }
4394#endif
4395#if 201103L <= YY_CPLUSPLUS
4396 static
4397 symbol_type
4399 {
4400 return symbol_type (token::TOKEN_UDP, std::move (l));
4401 }
4402#else
4403 static
4404 symbol_type
4406 {
4407 return symbol_type (token::TOKEN_UDP, l);
4408 }
4409#endif
4410#if 201103L <= YY_CPLUSPLUS
4411 static
4412 symbol_type
4414 {
4415 return symbol_type (token::TOKEN_TCP, std::move (l));
4416 }
4417#else
4418 static
4419 symbol_type
4421 {
4422 return symbol_type (token::TOKEN_TCP, l);
4423 }
4424#endif
4425#if 201103L <= YY_CPLUSPLUS
4426 static
4427 symbol_type
4429 {
4430 return symbol_type (token::TOKEN_JSON, std::move (l));
4431 }
4432#else
4433 static
4434 symbol_type
4436 {
4437 return symbol_type (token::TOKEN_JSON, l);
4438 }
4439#endif
4440#if 201103L <= YY_CPLUSPLUS
4441 static
4442 symbol_type
4444 {
4445 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4446 }
4447#else
4448 static
4449 symbol_type
4451 {
4453 }
4454#endif
4455#if 201103L <= YY_CPLUSPLUS
4456 static
4457 symbol_type
4459 {
4460 return symbol_type (token::TOKEN_NEVER, std::move (l));
4461 }
4462#else
4463 static
4464 symbol_type
4466 {
4467 return symbol_type (token::TOKEN_NEVER, l);
4468 }
4469#endif
4470#if 201103L <= YY_CPLUSPLUS
4471 static
4472 symbol_type
4474 {
4475 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4476 }
4477#else
4478 static
4479 symbol_type
4481 {
4482 return symbol_type (token::TOKEN_ALWAYS, l);
4483 }
4484#endif
4485#if 201103L <= YY_CPLUSPLUS
4486 static
4487 symbol_type
4489 {
4490 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4491 }
4492#else
4493 static
4494 symbol_type
4496 {
4498 }
4499#endif
4500#if 201103L <= YY_CPLUSPLUS
4501 static
4502 symbol_type
4504 {
4505 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4506 }
4507#else
4508 static
4509 symbol_type
4511 {
4513 }
4514#endif
4515#if 201103L <= YY_CPLUSPLUS
4516 static
4517 symbol_type
4519 {
4520 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4521 }
4522#else
4523 static
4524 symbol_type
4526 {
4528 }
4529#endif
4530#if 201103L <= YY_CPLUSPLUS
4531 static
4532 symbol_type
4534 {
4535 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4536 }
4537#else
4538 static
4539 symbol_type
4541 {
4543 }
4544#endif
4545#if 201103L <= YY_CPLUSPLUS
4546 static
4547 symbol_type
4549 {
4550 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4551 }
4552#else
4553 static
4554 symbol_type
4556 {
4558 }
4559#endif
4560#if 201103L <= YY_CPLUSPLUS
4561 static
4562 symbol_type
4564 {
4565 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4566 }
4567#else
4568 static
4569 symbol_type
4571 {
4573 }
4574#endif
4575#if 201103L <= YY_CPLUSPLUS
4576 static
4577 symbol_type
4579 {
4580 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4581 }
4582#else
4583 static
4584 symbol_type
4586 {
4587 return symbol_type (token::TOKEN_OUTPUT, l);
4588 }
4589#endif
4590#if 201103L <= YY_CPLUSPLUS
4591 static
4592 symbol_type
4594 {
4595 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4596 }
4597#else
4598 static
4599 symbol_type
4601 {
4603 }
4604#endif
4605#if 201103L <= YY_CPLUSPLUS
4606 static
4607 symbol_type
4609 {
4610 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4611 }
4612#else
4613 static
4614 symbol_type
4616 {
4618 }
4619#endif
4620#if 201103L <= YY_CPLUSPLUS
4621 static
4622 symbol_type
4624 {
4625 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4626 }
4627#else
4628 static
4629 symbol_type
4631 {
4632 return symbol_type (token::TOKEN_FLUSH, l);
4633 }
4634#endif
4635#if 201103L <= YY_CPLUSPLUS
4636 static
4637 symbol_type
4639 {
4640 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4641 }
4642#else
4643 static
4644 symbol_type
4646 {
4648 }
4649#endif
4650#if 201103L <= YY_CPLUSPLUS
4651 static
4652 symbol_type
4654 {
4655 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4656 }
4657#else
4658 static
4659 symbol_type
4661 {
4662 return symbol_type (token::TOKEN_MAXVER, l);
4663 }
4664#endif
4665#if 201103L <= YY_CPLUSPLUS
4666 static
4667 symbol_type
4669 {
4670 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4671 }
4672#else
4673 static
4674 symbol_type
4676 {
4678 }
4679#endif
4680#if 201103L <= YY_CPLUSPLUS
4681 static
4682 symbol_type
4684 {
4685 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4686 }
4687#else
4688 static
4689 symbol_type
4691 {
4693 }
4694#endif
4695#if 201103L <= YY_CPLUSPLUS
4696 static
4697 symbol_type
4699 {
4700 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4701 }
4702#else
4703 static
4704 symbol_type
4706 {
4708 }
4709#endif
4710#if 201103L <= YY_CPLUSPLUS
4711 static
4712 symbol_type
4714 {
4715 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4716 }
4717#else
4718 static
4719 symbol_type
4721 {
4723 }
4724#endif
4725#if 201103L <= YY_CPLUSPLUS
4726 static
4727 symbol_type
4729 {
4730 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
4731 }
4732#else
4733 static
4734 symbol_type
4736 {
4738 }
4739#endif
4740#if 201103L <= YY_CPLUSPLUS
4741 static
4742 symbol_type
4744 {
4745 return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
4746 }
4747#else
4748 static
4749 symbol_type
4751 {
4753 }
4754#endif
4755#if 201103L <= YY_CPLUSPLUS
4756 static
4757 symbol_type
4759 {
4760 return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
4761 }
4762#else
4763 static
4764 symbol_type
4766 {
4768 }
4769#endif
4770#if 201103L <= YY_CPLUSPLUS
4771 static
4772 symbol_type
4774 {
4775 return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
4776 }
4777#else
4778 static
4779 symbol_type
4781 {
4783 }
4784#endif
4785#if 201103L <= YY_CPLUSPLUS
4786 static
4787 symbol_type
4789 {
4790 return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
4791 }
4792#else
4793 static
4794 symbol_type
4796 {
4798 }
4799#endif
4800#if 201103L <= YY_CPLUSPLUS
4801 static
4802 symbol_type
4804 {
4805 return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
4806 }
4807#else
4808 static
4809 symbol_type
4811 {
4813 }
4814#endif
4815#if 201103L <= YY_CPLUSPLUS
4816 static
4817 symbol_type
4819 {
4820 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
4821 }
4822#else
4823 static
4824 symbol_type
4826 {
4828 }
4829#endif
4830#if 201103L <= YY_CPLUSPLUS
4831 static
4832 symbol_type
4834 {
4835 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
4836 }
4837#else
4838 static
4839 symbol_type
4841 {
4843 }
4844#endif
4845#if 201103L <= YY_CPLUSPLUS
4846 static
4847 symbol_type
4849 {
4850 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
4851 }
4852#else
4853 static
4854 symbol_type
4856 {
4858 }
4859#endif
4860#if 201103L <= YY_CPLUSPLUS
4861 static
4862 symbol_type
4864 {
4865 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
4866 }
4867#else
4868 static
4869 symbol_type
4871 {
4873 }
4874#endif
4875#if 201103L <= YY_CPLUSPLUS
4876 static
4877 symbol_type
4879 {
4880 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
4881 }
4882#else
4883 static
4884 symbol_type
4886 {
4888 }
4889#endif
4890#if 201103L <= YY_CPLUSPLUS
4891 static
4892 symbol_type
4894 {
4895 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
4896 }
4897#else
4898 static
4899 symbol_type
4901 {
4903 }
4904#endif
4905#if 201103L <= YY_CPLUSPLUS
4906 static
4907 symbol_type
4909 {
4910 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
4911 }
4912#else
4913 static
4914 symbol_type
4916 {
4918 }
4919#endif
4920#if 201103L <= YY_CPLUSPLUS
4921 static
4922 symbol_type
4923 make_STRING (std::string v, location_type l)
4924 {
4925 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
4926 }
4927#else
4928 static
4929 symbol_type
4930 make_STRING (const std::string& v, const location_type& l)
4931 {
4932 return symbol_type (token::TOKEN_STRING, v, l);
4933 }
4934#endif
4935#if 201103L <= YY_CPLUSPLUS
4936 static
4937 symbol_type
4938 make_INTEGER (int64_t v, location_type l)
4939 {
4940 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
4941 }
4942#else
4943 static
4944 symbol_type
4945 make_INTEGER (const int64_t& v, const location_type& l)
4946 {
4947 return symbol_type (token::TOKEN_INTEGER, v, l);
4948 }
4949#endif
4950#if 201103L <= YY_CPLUSPLUS
4951 static
4952 symbol_type
4953 make_FLOAT (double v, location_type l)
4954 {
4955 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
4956 }
4957#else
4958 static
4959 symbol_type
4960 make_FLOAT (const double& v, const location_type& l)
4961 {
4962 return symbol_type (token::TOKEN_FLOAT, v, l);
4963 }
4964#endif
4965#if 201103L <= YY_CPLUSPLUS
4966 static
4967 symbol_type
4968 make_BOOLEAN (bool v, location_type l)
4969 {
4970 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
4971 }
4972#else
4973 static
4974 symbol_type
4975 make_BOOLEAN (const bool& v, const location_type& l)
4976 {
4977 return symbol_type (token::TOKEN_BOOLEAN, v, l);
4978 }
4979#endif
4980
4981
4983 {
4984 public:
4985 context (const Dhcp6Parser& yyparser, const symbol_type& yyla);
4986 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
4987 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
4988 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
4989
4993 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
4994
4995 private:
4996 const Dhcp6Parser& yyparser_;
4997 const symbol_type& yyla_;
4998 };
4999
5000 private:
5001#if YY_CPLUSPLUS < 201103L
5003 Dhcp6Parser (const Dhcp6Parser&);
5005 Dhcp6Parser& operator= (const Dhcp6Parser&);
5006#endif
5007
5008
5010 typedef short state_type;
5011
5013 int yy_syntax_error_arguments_ (const context& yyctx,
5014 symbol_kind_type yyarg[], int yyargn) const;
5015
5018 virtual std::string yysyntax_error_ (const context& yyctx) const;
5022 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
5023
5026 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
5027
5030 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
5031
5032 static const short yypact_ninf_;
5033 static const signed char yytable_ninf_;
5034
5038 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
5039
5041 static std::string yytnamerr_ (const char *yystr);
5042
5044 static const char* const yytname_[];
5045
5046
5047 // Tables.
5048 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5049 // STATE-NUM.
5050 static const short yypact_[];
5051
5052 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5053 // Performed when YYTABLE does not specify something else to do. Zero
5054 // means the default is an error.
5055 static const short yydefact_[];
5056
5057 // YYPGOTO[NTERM-NUM].
5058 static const short yypgoto_[];
5059
5060 // YYDEFGOTO[NTERM-NUM].
5061 static const short yydefgoto_[];
5062
5063 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5064 // positive, shift that token. If negative, reduce the rule whose
5065 // number is the opposite. If YYTABLE_NINF, syntax error.
5066 static const short yytable_[];
5067
5068 static const short yycheck_[];
5069
5070 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
5071 // state STATE-NUM.
5072 static const short yystos_[];
5073
5074 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
5075 static const short yyr1_[];
5076
5077 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
5078 static const signed char yyr2_[];
5079
5080
5081#if PARSER6_DEBUG
5082 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5083 static const short yyrline_[];
5085 virtual void yy_reduce_print_ (int r) const;
5087 virtual void yy_stack_print_ () const;
5088
5090 int yydebug_;
5092 std::ostream* yycdebug_;
5093
5097 template <typename Base>
5098 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5099#endif
5100
5105 template <typename Base>
5106 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5107
5108 private:
5110 struct by_state
5111 {
5113 by_state () YY_NOEXCEPT;
5114
5116 typedef state_type kind_type;
5117
5119 by_state (kind_type s) YY_NOEXCEPT;
5120
5122 by_state (const by_state& that) YY_NOEXCEPT;
5123
5125 void clear () YY_NOEXCEPT;
5126
5128 void move (by_state& that);
5129
5132 symbol_kind_type kind () const YY_NOEXCEPT;
5133
5136 enum { empty_state = 0 };
5137
5140 state_type state;
5141 };
5142
5144 struct stack_symbol_type : basic_symbol<by_state>
5145 {
5147 typedef basic_symbol<by_state> super_type;
5149 stack_symbol_type ();
5151 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5153 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5154#if YY_CPLUSPLUS < 201103L
5157 stack_symbol_type& operator= (stack_symbol_type& that);
5158
5161 stack_symbol_type& operator= (const stack_symbol_type& that);
5162#endif
5163 };
5164
5166 template <typename T, typename S = std::vector<T> >
5167 class stack
5168 {
5169 public:
5170 // Hide our reversed order.
5171 typedef typename S::iterator iterator;
5172 typedef typename S::const_iterator const_iterator;
5173 typedef typename S::size_type size_type;
5174 typedef typename std::ptrdiff_t index_type;
5175
5176 stack (size_type n = 200) YY_NOEXCEPT
5177 : seq_ (n)
5178 {}
5179
5180#if 201103L <= YY_CPLUSPLUS
5182 stack (const stack&) = delete;
5184 stack& operator= (const stack&) = delete;
5185#endif
5186
5190 const T&
5191 operator[] (index_type i) const
5192 {
5193 return seq_[size_type (size () - 1 - i)];
5194 }
5195
5199 T&
5200 operator[] (index_type i)
5201 {
5202 return seq_[size_type (size () - 1 - i)];
5203 }
5204
5208 void
5209 push (YY_MOVE_REF (T) t)
5210 {
5211 seq_.push_back (T ());
5212 operator[] (0).move (t);
5213 }
5214
5216 void
5217 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5218 {
5219 for (; 0 < n; --n)
5220 seq_.pop_back ();
5221 }
5222
5224 void
5225 clear () YY_NOEXCEPT
5226 {
5227 seq_.clear ();
5228 }
5229
5231 index_type
5232 size () const YY_NOEXCEPT
5233 {
5234 return index_type (seq_.size ());
5235 }
5236
5238 const_iterator
5239 begin () const YY_NOEXCEPT
5240 {
5241 return seq_.begin ();
5242 }
5243
5245 const_iterator
5246 end () const YY_NOEXCEPT
5247 {
5248 return seq_.end ();
5249 }
5250
5252 class slice
5253 {
5254 public:
5255 slice (const stack& stack, index_type range) YY_NOEXCEPT
5256 : stack_ (stack)
5257 , range_ (range)
5258 {}
5259
5260 const T&
5261 operator[] (index_type i) const
5262 {
5263 return stack_[range_ - i];
5264 }
5265
5266 private:
5267 const stack& stack_;
5268 index_type range_;
5269 };
5270
5271 private:
5272#if YY_CPLUSPLUS < 201103L
5274 stack (const stack&);
5276 stack& operator= (const stack&);
5277#endif
5279 S seq_;
5280 };
5281
5282
5284 typedef stack<stack_symbol_type> stack_type;
5285
5287 stack_type yystack_;
5288
5294 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5295
5302 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5303
5305 void yypop_ (int n = 1) YY_NOEXCEPT;
5306
5308 enum
5309 {
5310 yylast_ = 1318,
5311 yynnts_ = 439,
5312 yyfinal_ = 30
5313 };
5314
5315
5316 // User arguments.
5318
5319 };
5320
5321 inline
5323 Dhcp6Parser::yytranslate_ (int t) YY_NOEXCEPT
5324 {
5325 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
5326 // TOKEN-NUM as returned by yylex.
5327 static
5328 const unsigned char
5329 translate_table[] =
5330 {
5331 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5332 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5351 2, 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, 1, 2, 3, 4,
5357 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5358 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5359 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5360 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5361 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5362 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5363 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5364 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5365 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5366 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5367 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5368 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5369 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5370 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5371 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5372 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5373 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5374 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5375 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5376 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5377 205, 206, 207, 208, 209, 210, 211, 212
5378 };
5379 // Last valid token kind.
5380 const int code_max = 467;
5381
5382 if (t <= 0)
5383 return symbol_kind::S_YYEOF;
5384 else if (t <= code_max)
5385 return static_cast <symbol_kind_type> (translate_table[t]);
5386 else
5388 }
5389
5390 // basic_symbol.
5391 template <typename Base>
5393 : Base (that)
5394 , value ()
5395 , location (that.location)
5396 {
5397 switch (this->kind ())
5398 {
5399 case symbol_kind::S_value: // value
5400 case symbol_kind::S_map_value: // map_value
5401 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5402 case symbol_kind::S_db_type: // db_type
5403 case symbol_kind::S_on_fail_mode: // on_fail_mode
5404 case symbol_kind::S_hr_mode: // hr_mode
5405 case symbol_kind::S_duid_type: // duid_type
5406 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5407 value.copy< ElementPtr > (YY_MOVE (that.value));
5408 break;
5409
5410 case symbol_kind::S_BOOLEAN: // "boolean"
5411 value.copy< bool > (YY_MOVE (that.value));
5412 break;
5413
5414 case symbol_kind::S_FLOAT: // "floating point"
5415 value.copy< double > (YY_MOVE (that.value));
5416 break;
5417
5418 case symbol_kind::S_INTEGER: // "integer"
5419 value.copy< int64_t > (YY_MOVE (that.value));
5420 break;
5421
5422 case symbol_kind::S_STRING: // "constant string"
5423 value.copy< std::string > (YY_MOVE (that.value));
5424 break;
5425
5426 default:
5427 break;
5428 }
5429
5430 }
5431
5432
5433
5434
5435 template <typename Base>
5438 {
5439 return this->kind ();
5440 }
5441
5442
5443 template <typename Base>
5444 bool
5446 {
5447 return this->kind () == symbol_kind::S_YYEMPTY;
5448 }
5449
5450 template <typename Base>
5451 void
5453 {
5454 super_type::move (s);
5455 switch (this->kind ())
5456 {
5457 case symbol_kind::S_value: // value
5458 case symbol_kind::S_map_value: // map_value
5459 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5460 case symbol_kind::S_db_type: // db_type
5461 case symbol_kind::S_on_fail_mode: // on_fail_mode
5462 case symbol_kind::S_hr_mode: // hr_mode
5463 case symbol_kind::S_duid_type: // duid_type
5464 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5465 value.move< ElementPtr > (YY_MOVE (s.value));
5466 break;
5467
5468 case symbol_kind::S_BOOLEAN: // "boolean"
5469 value.move< bool > (YY_MOVE (s.value));
5470 break;
5471
5472 case symbol_kind::S_FLOAT: // "floating point"
5473 value.move< double > (YY_MOVE (s.value));
5474 break;
5475
5476 case symbol_kind::S_INTEGER: // "integer"
5477 value.move< int64_t > (YY_MOVE (s.value));
5478 break;
5479
5480 case symbol_kind::S_STRING: // "constant string"
5481 value.move< std::string > (YY_MOVE (s.value));
5482 break;
5483
5484 default:
5485 break;
5486 }
5487
5488 location = YY_MOVE (s.location);
5489 }
5490
5491 // by_kind.
5492 inline
5494 : kind_ (symbol_kind::S_YYEMPTY)
5495 {}
5496
5497#if 201103L <= YY_CPLUSPLUS
5498 inline
5500 : kind_ (that.kind_)
5501 {
5502 that.clear ();
5503 }
5504#endif
5505
5506 inline
5508 : kind_ (that.kind_)
5509 {}
5510
5511 inline
5513 : kind_ (yytranslate_ (t))
5514 {}
5515
5516
5517
5518 inline
5519 void
5521 {
5522 kind_ = symbol_kind::S_YYEMPTY;
5523 }
5524
5525 inline
5526 void
5528 {
5529 kind_ = that.kind_;
5530 that.clear ();
5531 }
5532
5533 inline
5536 {
5537 return kind_;
5538 }
5539
5540
5541 inline
5544 {
5545 return this->kind ();
5546 }
5547
5548
5549#line 14 "dhcp6_parser.yy"
5550} } // isc::dhcp
5551#line 5552 "dhcp6_parser.h"
5552
5553
5554
5555
5556#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_REQUEST_TIMEOUT(const location_type &l)
static symbol_type make_NAME(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_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:717
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_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_KEYSPACE(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_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_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_CONSISTENCY(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_TCP_KEEPALIVE(const location_type &l)
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:720
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_TCP_NODELAY(const location_type &l)
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_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_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_SERIAL_CONSISTENCY(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_CONTACT_POINTS(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_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_CQL(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:713