Kea 1.9.11
dhcp6_parser.h
Go to the documentation of this file.
1// A Bison parser, made by GNU Bison 3.7.6.
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#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
137/* Suppress an incorrect diagnostic about yylval being uninitialized. */
138# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
139 _Pragma ("GCC diagnostic push") \
140 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
141 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
142# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
143 _Pragma ("GCC diagnostic pop")
144#else
145# define YY_INITIAL_VALUE(Value) Value
146#endif
147#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
148# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
149# define YY_IGNORE_MAYBE_UNINITIALIZED_END
150#endif
151#ifndef YY_INITIAL_VALUE
152# define YY_INITIAL_VALUE(Value) /* Nothing. */
153#endif
154
155#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
156# define YY_IGNORE_USELESS_CAST_BEGIN \
157 _Pragma ("GCC diagnostic push") \
158 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
159# define YY_IGNORE_USELESS_CAST_END \
160 _Pragma ("GCC diagnostic pop")
161#endif
162#ifndef YY_IGNORE_USELESS_CAST_BEGIN
163# define YY_IGNORE_USELESS_CAST_BEGIN
164# define YY_IGNORE_USELESS_CAST_END
165#endif
166
167# ifndef YY_CAST
168# ifdef __cplusplus
169# define YY_CAST(Type, Val) static_cast<Type> (Val)
170# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
171# else
172# define YY_CAST(Type, Val) ((Type) (Val))
173# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
174# endif
175# endif
176# ifndef YY_NULLPTR
177# if defined __cplusplus
178# if 201103L <= __cplusplus
179# define YY_NULLPTR nullptr
180# else
181# define YY_NULLPTR 0
182# endif
183# else
184# define YY_NULLPTR ((void*)0)
185# endif
186# endif
187
188/* Debug traces. */
189#ifndef PARSER6_DEBUG
190# if defined YYDEBUG
191#if YYDEBUG
192# define PARSER6_DEBUG 1
193# else
194# define PARSER6_DEBUG 0
195# endif
196# else /* ! defined YYDEBUG */
197# define PARSER6_DEBUG 1
198# endif /* ! defined YYDEBUG */
199#endif /* ! defined PARSER6_DEBUG */
200
201#line 14 "dhcp6_parser.yy"
202namespace isc { namespace dhcp {
203#line 204 "dhcp6_parser.h"
204
205
206
207
210 {
211 public:
212#ifndef PARSER6_STYPE
219 {
220 public:
223
226 : yybuffer_ ()
227 , yytypeid_ (YY_NULLPTR)
228 {}
229
231 template <typename T>
233 : yytypeid_ (&typeid (T))
234 {
235 PARSER6__ASSERT (sizeof (T) <= size);
236 new (yyas_<T> ()) T (YY_MOVE (t));
237 }
238
239#if 201103L <= YY_CPLUSPLUS
241 semantic_type (const self_type&) = delete;
243 self_type& operator= (const self_type&) = delete;
244#endif
245
248 {
249 PARSER6__ASSERT (!yytypeid_);
250 }
251
252# if 201103L <= YY_CPLUSPLUS
254 template <typename T, typename... U>
255 T&
256 emplace (U&&... u)
257 {
258 PARSER6__ASSERT (!yytypeid_);
259 PARSER6__ASSERT (sizeof (T) <= size);
260 yytypeid_ = & typeid (T);
261 return *new (yyas_<T> ()) T (std::forward <U>(u)...);
262 }
263# else
265 template <typename T>
266 T&
268 {
269 PARSER6__ASSERT (!yytypeid_);
270 PARSER6__ASSERT (sizeof (T) <= size);
271 yytypeid_ = & typeid (T);
272 return *new (yyas_<T> ()) T ();
273 }
274
276 template <typename T>
277 T&
278 emplace (const T& t)
279 {
280 PARSER6__ASSERT (!yytypeid_);
281 PARSER6__ASSERT (sizeof (T) <= size);
282 yytypeid_ = & typeid (T);
283 return *new (yyas_<T> ()) T (t);
284 }
285# endif
286
289 template <typename T>
290 T&
292 {
293 return emplace<T> ();
294 }
295
298 template <typename T>
299 T&
300 build (const T& t)
301 {
302 return emplace<T> (t);
303 }
304
306 template <typename T>
307 T&
309 {
310 PARSER6__ASSERT (yytypeid_);
311 PARSER6__ASSERT (*yytypeid_ == typeid (T));
312 PARSER6__ASSERT (sizeof (T) <= size);
313 return *yyas_<T> ();
314 }
315
317 template <typename T>
318 const T&
320 {
321 PARSER6__ASSERT (yytypeid_);
322 PARSER6__ASSERT (*yytypeid_ == typeid (T));
323 PARSER6__ASSERT (sizeof (T) <= size);
324 return *yyas_<T> ();
325 }
326
335 template <typename T>
336 void
338 {
339 PARSER6__ASSERT (yytypeid_);
340 PARSER6__ASSERT (*yytypeid_ == *that.yytypeid_);
341 std::swap (as<T> (), that.as<T> ());
342 }
343
347 template <typename T>
348 void
350 {
351# if 201103L <= YY_CPLUSPLUS
352 emplace<T> (std::move (that.as<T> ()));
353# else
354 emplace<T> ();
355 swap<T> (that);
356# endif
357 that.destroy<T> ();
358 }
359
360# if 201103L <= YY_CPLUSPLUS
362 template <typename T>
363 void
364 move (self_type&& that)
365 {
366 emplace<T> (std::move (that.as<T> ()));
367 that.destroy<T> ();
368 }
369#endif
370
372 template <typename T>
373 void
374 copy (const self_type& that)
375 {
376 emplace<T> (that.as<T> ());
377 }
378
380 template <typename T>
381 void
383 {
384 as<T> ().~T ();
385 yytypeid_ = YY_NULLPTR;
386 }
387
388 private:
389#if YY_CPLUSPLUS < 201103L
391 semantic_type (const self_type&);
393 self_type& operator= (const self_type&);
394#endif
395
397 template <typename T>
398 T*
399 yyas_ () YY_NOEXCEPT
400 {
401 void *yyp = yybuffer_.yyraw;
402 return static_cast<T*> (yyp);
403 }
404
406 template <typename T>
407 const T*
408 yyas_ () const YY_NOEXCEPT
409 {
410 const void *yyp = yybuffer_.yyraw;
411 return static_cast<const T*> (yyp);
412 }
413
415 union union_type
416 {
417 // value
418 // map_value
419 // ddns_replace_client_name_value
420 // db_type
421 // on_fail_mode
422 // hr_mode
423 // duid_type
424 // ncr_protocol_value
425 char dummy1[sizeof (ElementPtr)];
426
427 // "boolean"
428 char dummy2[sizeof (bool)];
429
430 // "floating point"
431 char dummy3[sizeof (double)];
432
433 // "integer"
434 char dummy4[sizeof (int64_t)];
435
436 // "constant string"
437 char dummy5[sizeof (std::string)];
438 };
439
441 enum { size = sizeof (union_type) };
442
444 union
445 {
447 long double yyalign_me;
449 char yyraw[size];
450 } yybuffer_;
451
453 const std::type_info *yytypeid_;
454 };
455
456#else
457 typedef PARSER6_STYPE semantic_type;
458#endif
460 typedef location location_type;
461
463 struct syntax_error : std::runtime_error
464 {
465 syntax_error (const location_type& l, const std::string& m)
466 : std::runtime_error (m)
467 , location (l)
468 {}
469
471 : std::runtime_error (s.what ())
472 , location (s.location)
473 {}
474
476
478 };
479
481 struct token
482 {
484 {
485 TOKEN_PARSER6_EMPTY = -2,
486 TOKEN_END = 0, // "end of file"
487 TOKEN_PARSER6_error = 256, // error
488 TOKEN_PARSER6_UNDEF = 257, // "invalid token"
489 TOKEN_COMMA = 258, // ","
490 TOKEN_COLON = 259, // ":"
491 TOKEN_LSQUARE_BRACKET = 260, // "["
492 TOKEN_RSQUARE_BRACKET = 261, // "]"
493 TOKEN_LCURLY_BRACKET = 262, // "{"
494 TOKEN_RCURLY_BRACKET = 263, // "}"
495 TOKEN_NULL_TYPE = 264, // "null"
496 TOKEN_DHCP6 = 265, // "Dhcp6"
497 TOKEN_DATA_DIRECTORY = 266, // "data-directory"
498 TOKEN_CONFIG_CONTROL = 267, // "config-control"
499 TOKEN_CONFIG_DATABASES = 268, // "config-databases"
500 TOKEN_CONFIG_FETCH_WAIT_TIME = 269, // "config-fetch-wait-time"
501 TOKEN_INTERFACES_CONFIG = 270, // "interfaces-config"
502 TOKEN_INTERFACES = 271, // "interfaces"
503 TOKEN_RE_DETECT = 272, // "re-detect"
504 TOKEN_LEASE_DATABASE = 273, // "lease-database"
505 TOKEN_HOSTS_DATABASE = 274, // "hosts-database"
506 TOKEN_HOSTS_DATABASES = 275, // "hosts-databases"
507 TOKEN_TYPE = 276, // "type"
508 TOKEN_MEMFILE = 277, // "memfile"
509 TOKEN_MYSQL = 278, // "mysql"
510 TOKEN_POSTGRESQL = 279, // "postgresql"
511 TOKEN_CQL = 280, // "cql"
512 TOKEN_USER = 281, // "user"
513 TOKEN_PASSWORD = 282, // "password"
514 TOKEN_HOST = 283, // "host"
515 TOKEN_PORT = 284, // "port"
516 TOKEN_PERSIST = 285, // "persist"
517 TOKEN_LFC_INTERVAL = 286, // "lfc-interval"
518 TOKEN_READONLY = 287, // "readonly"
519 TOKEN_CONNECT_TIMEOUT = 288, // "connect-timeout"
520 TOKEN_CONTACT_POINTS = 289, // "contact-points"
521 TOKEN_MAX_RECONNECT_TRIES = 290, // "max-reconnect-tries"
522 TOKEN_RECONNECT_WAIT_TIME = 291, // "reconnect-wait-time"
523 TOKEN_ON_FAIL = 292, // "on-fail"
524 TOKEN_STOP_RETRY_EXIT = 293, // "stop-retry-exit"
525 TOKEN_SERVE_RETRY_EXIT = 294, // "serve-retry-exit"
526 TOKEN_SERVE_RETRY_CONTINUE = 295, // "serve-retry-continue"
527 TOKEN_KEYSPACE = 296, // "keyspace"
528 TOKEN_CONSISTENCY = 297, // "consistency"
529 TOKEN_SERIAL_CONSISTENCY = 298, // "serial-consistency"
530 TOKEN_REQUEST_TIMEOUT = 299, // "request-timeout"
531 TOKEN_TCP_KEEPALIVE = 300, // "tcp-keepalive"
532 TOKEN_TCP_NODELAY = 301, // "tcp-nodelay"
533 TOKEN_MAX_ROW_ERRORS = 302, // "max-row-errors"
534 TOKEN_PREFERRED_LIFETIME = 303, // "preferred-lifetime"
535 TOKEN_MIN_PREFERRED_LIFETIME = 304, // "min-preferred-lifetime"
536 TOKEN_MAX_PREFERRED_LIFETIME = 305, // "max-preferred-lifetime"
537 TOKEN_VALID_LIFETIME = 306, // "valid-lifetime"
538 TOKEN_MIN_VALID_LIFETIME = 307, // "min-valid-lifetime"
539 TOKEN_MAX_VALID_LIFETIME = 308, // "max-valid-lifetime"
540 TOKEN_RENEW_TIMER = 309, // "renew-timer"
541 TOKEN_REBIND_TIMER = 310, // "rebind-timer"
542 TOKEN_CALCULATE_TEE_TIMES = 311, // "calculate-tee-times"
543 TOKEN_T1_PERCENT = 312, // "t1-percent"
544 TOKEN_T2_PERCENT = 313, // "t2-percent"
545 TOKEN_CACHE_THRESHOLD = 314, // "cache-threshold"
546 TOKEN_CACHE_MAX_AGE = 315, // "cache-max-age"
547 TOKEN_DECLINE_PROBATION_PERIOD = 316, // "decline-probation-period"
548 TOKEN_SERVER_TAG = 317, // "server-tag"
549 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 318, // "statistic-default-sample-count"
550 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 319, // "statistic-default-sample-age"
551 TOKEN_DDNS_SEND_UPDATES = 320, // "ddns-send-updates"
552 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 321, // "ddns-override-no-update"
553 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 322, // "ddns-override-client-update"
554 TOKEN_DDNS_REPLACE_CLIENT_NAME = 323, // "ddns-replace-client-name"
555 TOKEN_DDNS_GENERATED_PREFIX = 324, // "ddns-generated-prefix"
556 TOKEN_DDNS_QUALIFYING_SUFFIX = 325, // "ddns-qualifying-suffix"
557 TOKEN_DDNS_UPDATE_ON_RENEW = 326, // "ddns-update-on-renew"
558 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 327, // "ddns-use-conflict-resolution"
559 TOKEN_STORE_EXTENDED_INFO = 328, // "store-extended-info"
560 TOKEN_SUBNET6 = 329, // "subnet6"
561 TOKEN_OPTION_DEF = 330, // "option-def"
562 TOKEN_OPTION_DATA = 331, // "option-data"
563 TOKEN_NAME = 332, // "name"
564 TOKEN_DATA = 333, // "data"
565 TOKEN_CODE = 334, // "code"
566 TOKEN_SPACE = 335, // "space"
567 TOKEN_CSV_FORMAT = 336, // "csv-format"
568 TOKEN_ALWAYS_SEND = 337, // "always-send"
569 TOKEN_RECORD_TYPES = 338, // "record-types"
570 TOKEN_ENCAPSULATE = 339, // "encapsulate"
571 TOKEN_ARRAY = 340, // "array"
572 TOKEN_SHARED_NETWORKS = 341, // "shared-networks"
573 TOKEN_POOLS = 342, // "pools"
574 TOKEN_POOL = 343, // "pool"
575 TOKEN_PD_POOLS = 344, // "pd-pools"
576 TOKEN_PREFIX = 345, // "prefix"
577 TOKEN_PREFIX_LEN = 346, // "prefix-len"
578 TOKEN_EXCLUDED_PREFIX = 347, // "excluded-prefix"
579 TOKEN_EXCLUDED_PREFIX_LEN = 348, // "excluded-prefix-len"
580 TOKEN_DELEGATED_LEN = 349, // "delegated-len"
581 TOKEN_USER_CONTEXT = 350, // "user-context"
582 TOKEN_COMMENT = 351, // "comment"
583 TOKEN_SUBNET = 352, // "subnet"
584 TOKEN_INTERFACE = 353, // "interface"
585 TOKEN_INTERFACE_ID = 354, // "interface-id"
586 TOKEN_ID = 355, // "id"
587 TOKEN_RAPID_COMMIT = 356, // "rapid-commit"
588 TOKEN_RESERVATION_MODE = 357, // "reservation-mode"
589 TOKEN_DISABLED = 358, // "disabled"
590 TOKEN_OUT_OF_POOL = 359, // "out-of-pool"
591 TOKEN_GLOBAL = 360, // "global"
592 TOKEN_ALL = 361, // "all"
593 TOKEN_RESERVATIONS_GLOBAL = 362, // "reservations-global"
594 TOKEN_RESERVATIONS_IN_SUBNET = 363, // "reservations-in-subnet"
595 TOKEN_RESERVATIONS_OUT_OF_POOL = 364, // "reservations-out-of-pool"
596 TOKEN_MAC_SOURCES = 365, // "mac-sources"
597 TOKEN_RELAY_SUPPLIED_OPTIONS = 366, // "relay-supplied-options"
598 TOKEN_HOST_RESERVATION_IDENTIFIERS = 367, // "host-reservation-identifiers"
599 TOKEN_SANITY_CHECKS = 368, // "sanity-checks"
600 TOKEN_LEASE_CHECKS = 369, // "lease-checks"
601 TOKEN_CLIENT_CLASSES = 370, // "client-classes"
602 TOKEN_REQUIRE_CLIENT_CLASSES = 371, // "require-client-classes"
603 TOKEN_TEST = 372, // "test"
604 TOKEN_ONLY_IF_REQUIRED = 373, // "only-if-required"
605 TOKEN_CLIENT_CLASS = 374, // "client-class"
606 TOKEN_RESERVATIONS = 375, // "reservations"
607 TOKEN_IP_ADDRESSES = 376, // "ip-addresses"
608 TOKEN_PREFIXES = 377, // "prefixes"
609 TOKEN_DUID = 378, // "duid"
610 TOKEN_HW_ADDRESS = 379, // "hw-address"
611 TOKEN_HOSTNAME = 380, // "hostname"
612 TOKEN_FLEX_ID = 381, // "flex-id"
613 TOKEN_RELAY = 382, // "relay"
614 TOKEN_IP_ADDRESS = 383, // "ip-address"
615 TOKEN_HOOKS_LIBRARIES = 384, // "hooks-libraries"
616 TOKEN_LIBRARY = 385, // "library"
617 TOKEN_PARAMETERS = 386, // "parameters"
618 TOKEN_EXPIRED_LEASES_PROCESSING = 387, // "expired-leases-processing"
619 TOKEN_RECLAIM_TIMER_WAIT_TIME = 388, // "reclaim-timer-wait-time"
620 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 389, // "flush-reclaimed-timer-wait-time"
621 TOKEN_HOLD_RECLAIMED_TIME = 390, // "hold-reclaimed-time"
622 TOKEN_MAX_RECLAIM_LEASES = 391, // "max-reclaim-leases"
623 TOKEN_MAX_RECLAIM_TIME = 392, // "max-reclaim-time"
624 TOKEN_UNWARNED_RECLAIM_CYCLES = 393, // "unwarned-reclaim-cycles"
625 TOKEN_SERVER_ID = 394, // "server-id"
626 TOKEN_LLT = 395, // "LLT"
627 TOKEN_EN = 396, // "EN"
628 TOKEN_LL = 397, // "LL"
629 TOKEN_IDENTIFIER = 398, // "identifier"
630 TOKEN_HTYPE = 399, // "htype"
631 TOKEN_TIME = 400, // "time"
632 TOKEN_ENTERPRISE_ID = 401, // "enterprise-id"
633 TOKEN_DHCP4O6_PORT = 402, // "dhcp4o6-port"
634 TOKEN_DHCP_MULTI_THREADING = 403, // "multi-threading"
635 TOKEN_ENABLE_MULTI_THREADING = 404, // "enable-multi-threading"
636 TOKEN_THREAD_POOL_SIZE = 405, // "thread-pool-size"
637 TOKEN_PACKET_QUEUE_SIZE = 406, // "packet-queue-size"
638 TOKEN_CONTROL_SOCKET = 407, // "control-socket"
639 TOKEN_SOCKET_TYPE = 408, // "socket-type"
640 TOKEN_SOCKET_NAME = 409, // "socket-name"
641 TOKEN_DHCP_QUEUE_CONTROL = 410, // "dhcp-queue-control"
642 TOKEN_ENABLE_QUEUE = 411, // "enable-queue"
643 TOKEN_QUEUE_TYPE = 412, // "queue-type"
644 TOKEN_CAPACITY = 413, // "capacity"
645 TOKEN_DHCP_DDNS = 414, // "dhcp-ddns"
646 TOKEN_ENABLE_UPDATES = 415, // "enable-updates"
647 TOKEN_QUALIFYING_SUFFIX = 416, // "qualifying-suffix"
648 TOKEN_SERVER_IP = 417, // "server-ip"
649 TOKEN_SERVER_PORT = 418, // "server-port"
650 TOKEN_SENDER_IP = 419, // "sender-ip"
651 TOKEN_SENDER_PORT = 420, // "sender-port"
652 TOKEN_MAX_QUEUE_SIZE = 421, // "max-queue-size"
653 TOKEN_NCR_PROTOCOL = 422, // "ncr-protocol"
654 TOKEN_NCR_FORMAT = 423, // "ncr-format"
655 TOKEN_OVERRIDE_NO_UPDATE = 424, // "override-no-update"
656 TOKEN_OVERRIDE_CLIENT_UPDATE = 425, // "override-client-update"
657 TOKEN_REPLACE_CLIENT_NAME = 426, // "replace-client-name"
658 TOKEN_GENERATED_PREFIX = 427, // "generated-prefix"
659 TOKEN_UDP = 428, // "UDP"
660 TOKEN_TCP = 429, // "TCP"
661 TOKEN_JSON = 430, // "JSON"
662 TOKEN_WHEN_PRESENT = 431, // "when-present"
663 TOKEN_NEVER = 432, // "never"
664 TOKEN_ALWAYS = 433, // "always"
665 TOKEN_WHEN_NOT_PRESENT = 434, // "when-not-present"
666 TOKEN_HOSTNAME_CHAR_SET = 435, // "hostname-char-set"
667 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 436, // "hostname-char-replacement"
668 TOKEN_IP_RESERVATIONS_UNIQUE = 437, // "ip-reservations-unique"
669 TOKEN_LOGGERS = 438, // "loggers"
670 TOKEN_OUTPUT_OPTIONS = 439, // "output_options"
671 TOKEN_OUTPUT = 440, // "output"
672 TOKEN_DEBUGLEVEL = 441, // "debuglevel"
673 TOKEN_SEVERITY = 442, // "severity"
674 TOKEN_FLUSH = 443, // "flush"
675 TOKEN_MAXSIZE = 444, // "maxsize"
676 TOKEN_MAXVER = 445, // "maxver"
677 TOKEN_PATTERN = 446, // "pattern"
678 TOKEN_COMPATIBILITY = 447, // "compatibility"
679 TOKEN_LENIENT_OPTION_PARSING = 448, // "lenient-option-parsing"
680 TOKEN_TOPLEVEL_JSON = 449, // TOPLEVEL_JSON
681 TOKEN_TOPLEVEL_DHCP6 = 450, // TOPLEVEL_DHCP6
682 TOKEN_SUB_DHCP6 = 451, // SUB_DHCP6
683 TOKEN_SUB_INTERFACES6 = 452, // SUB_INTERFACES6
684 TOKEN_SUB_SUBNET6 = 453, // SUB_SUBNET6
685 TOKEN_SUB_POOL6 = 454, // SUB_POOL6
686 TOKEN_SUB_PD_POOL = 455, // SUB_PD_POOL
687 TOKEN_SUB_RESERVATION = 456, // SUB_RESERVATION
688 TOKEN_SUB_OPTION_DEFS = 457, // SUB_OPTION_DEFS
689 TOKEN_SUB_OPTION_DEF = 458, // SUB_OPTION_DEF
690 TOKEN_SUB_OPTION_DATA = 459, // SUB_OPTION_DATA
691 TOKEN_SUB_HOOKS_LIBRARY = 460, // SUB_HOOKS_LIBRARY
692 TOKEN_SUB_DHCP_DDNS = 461, // SUB_DHCP_DDNS
693 TOKEN_SUB_CONFIG_CONTROL = 462, // SUB_CONFIG_CONTROL
694 TOKEN_STRING = 463, // "constant string"
695 TOKEN_INTEGER = 464, // "integer"
696 TOKEN_FLOAT = 465, // "floating point"
697 TOKEN_BOOLEAN = 466 // "boolean"
698 };
701 };
702
705
708
711 {
713 {
714 YYNTOKENS = 212,
715 S_YYEMPTY = -2,
716 S_YYEOF = 0, // "end of file"
717 S_YYerror = 1, // error
718 S_YYUNDEF = 2, // "invalid token"
719 S_COMMA = 3, // ","
720 S_COLON = 4, // ":"
721 S_LSQUARE_BRACKET = 5, // "["
722 S_RSQUARE_BRACKET = 6, // "]"
723 S_LCURLY_BRACKET = 7, // "{"
724 S_RCURLY_BRACKET = 8, // "}"
725 S_NULL_TYPE = 9, // "null"
726 S_DHCP6 = 10, // "Dhcp6"
727 S_DATA_DIRECTORY = 11, // "data-directory"
728 S_CONFIG_CONTROL = 12, // "config-control"
729 S_CONFIG_DATABASES = 13, // "config-databases"
730 S_CONFIG_FETCH_WAIT_TIME = 14, // "config-fetch-wait-time"
731 S_INTERFACES_CONFIG = 15, // "interfaces-config"
732 S_INTERFACES = 16, // "interfaces"
733 S_RE_DETECT = 17, // "re-detect"
734 S_LEASE_DATABASE = 18, // "lease-database"
735 S_HOSTS_DATABASE = 19, // "hosts-database"
736 S_HOSTS_DATABASES = 20, // "hosts-databases"
737 S_TYPE = 21, // "type"
738 S_MEMFILE = 22, // "memfile"
739 S_MYSQL = 23, // "mysql"
740 S_POSTGRESQL = 24, // "postgresql"
741 S_CQL = 25, // "cql"
742 S_USER = 26, // "user"
743 S_PASSWORD = 27, // "password"
744 S_HOST = 28, // "host"
745 S_PORT = 29, // "port"
746 S_PERSIST = 30, // "persist"
747 S_LFC_INTERVAL = 31, // "lfc-interval"
748 S_READONLY = 32, // "readonly"
749 S_CONNECT_TIMEOUT = 33, // "connect-timeout"
750 S_CONTACT_POINTS = 34, // "contact-points"
751 S_MAX_RECONNECT_TRIES = 35, // "max-reconnect-tries"
752 S_RECONNECT_WAIT_TIME = 36, // "reconnect-wait-time"
753 S_ON_FAIL = 37, // "on-fail"
754 S_STOP_RETRY_EXIT = 38, // "stop-retry-exit"
755 S_SERVE_RETRY_EXIT = 39, // "serve-retry-exit"
756 S_SERVE_RETRY_CONTINUE = 40, // "serve-retry-continue"
757 S_KEYSPACE = 41, // "keyspace"
758 S_CONSISTENCY = 42, // "consistency"
759 S_SERIAL_CONSISTENCY = 43, // "serial-consistency"
760 S_REQUEST_TIMEOUT = 44, // "request-timeout"
761 S_TCP_KEEPALIVE = 45, // "tcp-keepalive"
762 S_TCP_NODELAY = 46, // "tcp-nodelay"
763 S_MAX_ROW_ERRORS = 47, // "max-row-errors"
764 S_PREFERRED_LIFETIME = 48, // "preferred-lifetime"
765 S_MIN_PREFERRED_LIFETIME = 49, // "min-preferred-lifetime"
766 S_MAX_PREFERRED_LIFETIME = 50, // "max-preferred-lifetime"
767 S_VALID_LIFETIME = 51, // "valid-lifetime"
768 S_MIN_VALID_LIFETIME = 52, // "min-valid-lifetime"
769 S_MAX_VALID_LIFETIME = 53, // "max-valid-lifetime"
770 S_RENEW_TIMER = 54, // "renew-timer"
771 S_REBIND_TIMER = 55, // "rebind-timer"
772 S_CALCULATE_TEE_TIMES = 56, // "calculate-tee-times"
773 S_T1_PERCENT = 57, // "t1-percent"
774 S_T2_PERCENT = 58, // "t2-percent"
775 S_CACHE_THRESHOLD = 59, // "cache-threshold"
776 S_CACHE_MAX_AGE = 60, // "cache-max-age"
777 S_DECLINE_PROBATION_PERIOD = 61, // "decline-probation-period"
778 S_SERVER_TAG = 62, // "server-tag"
779 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 63, // "statistic-default-sample-count"
780 S_STATISTIC_DEFAULT_SAMPLE_AGE = 64, // "statistic-default-sample-age"
781 S_DDNS_SEND_UPDATES = 65, // "ddns-send-updates"
782 S_DDNS_OVERRIDE_NO_UPDATE = 66, // "ddns-override-no-update"
783 S_DDNS_OVERRIDE_CLIENT_UPDATE = 67, // "ddns-override-client-update"
784 S_DDNS_REPLACE_CLIENT_NAME = 68, // "ddns-replace-client-name"
785 S_DDNS_GENERATED_PREFIX = 69, // "ddns-generated-prefix"
786 S_DDNS_QUALIFYING_SUFFIX = 70, // "ddns-qualifying-suffix"
787 S_DDNS_UPDATE_ON_RENEW = 71, // "ddns-update-on-renew"
788 S_DDNS_USE_CONFLICT_RESOLUTION = 72, // "ddns-use-conflict-resolution"
789 S_STORE_EXTENDED_INFO = 73, // "store-extended-info"
790 S_SUBNET6 = 74, // "subnet6"
791 S_OPTION_DEF = 75, // "option-def"
792 S_OPTION_DATA = 76, // "option-data"
793 S_NAME = 77, // "name"
794 S_DATA = 78, // "data"
795 S_CODE = 79, // "code"
796 S_SPACE = 80, // "space"
797 S_CSV_FORMAT = 81, // "csv-format"
798 S_ALWAYS_SEND = 82, // "always-send"
799 S_RECORD_TYPES = 83, // "record-types"
800 S_ENCAPSULATE = 84, // "encapsulate"
801 S_ARRAY = 85, // "array"
802 S_SHARED_NETWORKS = 86, // "shared-networks"
803 S_POOLS = 87, // "pools"
804 S_POOL = 88, // "pool"
805 S_PD_POOLS = 89, // "pd-pools"
806 S_PREFIX = 90, // "prefix"
807 S_PREFIX_LEN = 91, // "prefix-len"
808 S_EXCLUDED_PREFIX = 92, // "excluded-prefix"
809 S_EXCLUDED_PREFIX_LEN = 93, // "excluded-prefix-len"
810 S_DELEGATED_LEN = 94, // "delegated-len"
811 S_USER_CONTEXT = 95, // "user-context"
812 S_COMMENT = 96, // "comment"
813 S_SUBNET = 97, // "subnet"
814 S_INTERFACE = 98, // "interface"
815 S_INTERFACE_ID = 99, // "interface-id"
816 S_ID = 100, // "id"
817 S_RAPID_COMMIT = 101, // "rapid-commit"
818 S_RESERVATION_MODE = 102, // "reservation-mode"
819 S_DISABLED = 103, // "disabled"
820 S_OUT_OF_POOL = 104, // "out-of-pool"
821 S_GLOBAL = 105, // "global"
822 S_ALL = 106, // "all"
823 S_RESERVATIONS_GLOBAL = 107, // "reservations-global"
824 S_RESERVATIONS_IN_SUBNET = 108, // "reservations-in-subnet"
825 S_RESERVATIONS_OUT_OF_POOL = 109, // "reservations-out-of-pool"
826 S_MAC_SOURCES = 110, // "mac-sources"
827 S_RELAY_SUPPLIED_OPTIONS = 111, // "relay-supplied-options"
828 S_HOST_RESERVATION_IDENTIFIERS = 112, // "host-reservation-identifiers"
829 S_SANITY_CHECKS = 113, // "sanity-checks"
830 S_LEASE_CHECKS = 114, // "lease-checks"
831 S_CLIENT_CLASSES = 115, // "client-classes"
832 S_REQUIRE_CLIENT_CLASSES = 116, // "require-client-classes"
833 S_TEST = 117, // "test"
834 S_ONLY_IF_REQUIRED = 118, // "only-if-required"
835 S_CLIENT_CLASS = 119, // "client-class"
836 S_RESERVATIONS = 120, // "reservations"
837 S_IP_ADDRESSES = 121, // "ip-addresses"
838 S_PREFIXES = 122, // "prefixes"
839 S_DUID = 123, // "duid"
840 S_HW_ADDRESS = 124, // "hw-address"
841 S_HOSTNAME = 125, // "hostname"
842 S_FLEX_ID = 126, // "flex-id"
843 S_RELAY = 127, // "relay"
844 S_IP_ADDRESS = 128, // "ip-address"
845 S_HOOKS_LIBRARIES = 129, // "hooks-libraries"
846 S_LIBRARY = 130, // "library"
847 S_PARAMETERS = 131, // "parameters"
848 S_EXPIRED_LEASES_PROCESSING = 132, // "expired-leases-processing"
849 S_RECLAIM_TIMER_WAIT_TIME = 133, // "reclaim-timer-wait-time"
850 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 134, // "flush-reclaimed-timer-wait-time"
851 S_HOLD_RECLAIMED_TIME = 135, // "hold-reclaimed-time"
852 S_MAX_RECLAIM_LEASES = 136, // "max-reclaim-leases"
853 S_MAX_RECLAIM_TIME = 137, // "max-reclaim-time"
854 S_UNWARNED_RECLAIM_CYCLES = 138, // "unwarned-reclaim-cycles"
855 S_SERVER_ID = 139, // "server-id"
856 S_LLT = 140, // "LLT"
857 S_EN = 141, // "EN"
858 S_LL = 142, // "LL"
859 S_IDENTIFIER = 143, // "identifier"
860 S_HTYPE = 144, // "htype"
861 S_TIME = 145, // "time"
862 S_ENTERPRISE_ID = 146, // "enterprise-id"
863 S_DHCP4O6_PORT = 147, // "dhcp4o6-port"
864 S_DHCP_MULTI_THREADING = 148, // "multi-threading"
865 S_ENABLE_MULTI_THREADING = 149, // "enable-multi-threading"
866 S_THREAD_POOL_SIZE = 150, // "thread-pool-size"
867 S_PACKET_QUEUE_SIZE = 151, // "packet-queue-size"
868 S_CONTROL_SOCKET = 152, // "control-socket"
869 S_SOCKET_TYPE = 153, // "socket-type"
870 S_SOCKET_NAME = 154, // "socket-name"
871 S_DHCP_QUEUE_CONTROL = 155, // "dhcp-queue-control"
872 S_ENABLE_QUEUE = 156, // "enable-queue"
873 S_QUEUE_TYPE = 157, // "queue-type"
874 S_CAPACITY = 158, // "capacity"
875 S_DHCP_DDNS = 159, // "dhcp-ddns"
876 S_ENABLE_UPDATES = 160, // "enable-updates"
877 S_QUALIFYING_SUFFIX = 161, // "qualifying-suffix"
878 S_SERVER_IP = 162, // "server-ip"
879 S_SERVER_PORT = 163, // "server-port"
880 S_SENDER_IP = 164, // "sender-ip"
881 S_SENDER_PORT = 165, // "sender-port"
882 S_MAX_QUEUE_SIZE = 166, // "max-queue-size"
883 S_NCR_PROTOCOL = 167, // "ncr-protocol"
884 S_NCR_FORMAT = 168, // "ncr-format"
885 S_OVERRIDE_NO_UPDATE = 169, // "override-no-update"
886 S_OVERRIDE_CLIENT_UPDATE = 170, // "override-client-update"
887 S_REPLACE_CLIENT_NAME = 171, // "replace-client-name"
888 S_GENERATED_PREFIX = 172, // "generated-prefix"
889 S_UDP = 173, // "UDP"
890 S_TCP = 174, // "TCP"
891 S_JSON = 175, // "JSON"
892 S_WHEN_PRESENT = 176, // "when-present"
893 S_NEVER = 177, // "never"
894 S_ALWAYS = 178, // "always"
895 S_WHEN_NOT_PRESENT = 179, // "when-not-present"
896 S_HOSTNAME_CHAR_SET = 180, // "hostname-char-set"
897 S_HOSTNAME_CHAR_REPLACEMENT = 181, // "hostname-char-replacement"
898 S_IP_RESERVATIONS_UNIQUE = 182, // "ip-reservations-unique"
899 S_LOGGERS = 183, // "loggers"
900 S_OUTPUT_OPTIONS = 184, // "output_options"
901 S_OUTPUT = 185, // "output"
902 S_DEBUGLEVEL = 186, // "debuglevel"
903 S_SEVERITY = 187, // "severity"
904 S_FLUSH = 188, // "flush"
905 S_MAXSIZE = 189, // "maxsize"
906 S_MAXVER = 190, // "maxver"
907 S_PATTERN = 191, // "pattern"
908 S_COMPATIBILITY = 192, // "compatibility"
909 S_LENIENT_OPTION_PARSING = 193, // "lenient-option-parsing"
910 S_TOPLEVEL_JSON = 194, // TOPLEVEL_JSON
911 S_TOPLEVEL_DHCP6 = 195, // TOPLEVEL_DHCP6
912 S_SUB_DHCP6 = 196, // SUB_DHCP6
913 S_SUB_INTERFACES6 = 197, // SUB_INTERFACES6
914 S_SUB_SUBNET6 = 198, // SUB_SUBNET6
915 S_SUB_POOL6 = 199, // SUB_POOL6
916 S_SUB_PD_POOL = 200, // SUB_PD_POOL
917 S_SUB_RESERVATION = 201, // SUB_RESERVATION
918 S_SUB_OPTION_DEFS = 202, // SUB_OPTION_DEFS
919 S_SUB_OPTION_DEF = 203, // SUB_OPTION_DEF
920 S_SUB_OPTION_DATA = 204, // SUB_OPTION_DATA
921 S_SUB_HOOKS_LIBRARY = 205, // SUB_HOOKS_LIBRARY
922 S_SUB_DHCP_DDNS = 206, // SUB_DHCP_DDNS
923 S_SUB_CONFIG_CONTROL = 207, // SUB_CONFIG_CONTROL
924 S_STRING = 208, // "constant string"
925 S_INTEGER = 209, // "integer"
926 S_FLOAT = 210, // "floating point"
927 S_BOOLEAN = 211, // "boolean"
928 S_YYACCEPT = 212, // $accept
929 S_start = 213, // start
930 S_214_1 = 214, // $@1
931 S_215_2 = 215, // $@2
932 S_216_3 = 216, // $@3
933 S_217_4 = 217, // $@4
934 S_218_5 = 218, // $@5
935 S_219_6 = 219, // $@6
936 S_220_7 = 220, // $@7
937 S_221_8 = 221, // $@8
938 S_222_9 = 222, // $@9
939 S_223_10 = 223, // $@10
940 S_224_11 = 224, // $@11
941 S_225_12 = 225, // $@12
942 S_226_13 = 226, // $@13
943 S_227_14 = 227, // $@14
944 S_value = 228, // value
945 S_sub_json = 229, // sub_json
946 S_map2 = 230, // map2
947 S_231_15 = 231, // $@15
948 S_map_value = 232, // map_value
949 S_map_content = 233, // map_content
950 S_not_empty_map = 234, // not_empty_map
951 S_list_generic = 235, // list_generic
952 S_236_16 = 236, // $@16
953 S_list_content = 237, // list_content
954 S_not_empty_list = 238, // not_empty_list
955 S_list_strings = 239, // list_strings
956 S_240_17 = 240, // $@17
957 S_list_strings_content = 241, // list_strings_content
958 S_not_empty_list_strings = 242, // not_empty_list_strings
959 S_unknown_map_entry = 243, // unknown_map_entry
960 S_syntax_map = 244, // syntax_map
961 S_245_18 = 245, // $@18
962 S_global_object = 246, // global_object
963 S_247_19 = 247, // $@19
964 S_sub_dhcp6 = 248, // sub_dhcp6
965 S_249_20 = 249, // $@20
966 S_global_params = 250, // global_params
967 S_global_param = 251, // global_param
968 S_data_directory = 252, // data_directory
969 S_253_21 = 253, // $@21
970 S_preferred_lifetime = 254, // preferred_lifetime
971 S_min_preferred_lifetime = 255, // min_preferred_lifetime
972 S_max_preferred_lifetime = 256, // max_preferred_lifetime
973 S_valid_lifetime = 257, // valid_lifetime
974 S_min_valid_lifetime = 258, // min_valid_lifetime
975 S_max_valid_lifetime = 259, // max_valid_lifetime
976 S_renew_timer = 260, // renew_timer
977 S_rebind_timer = 261, // rebind_timer
978 S_calculate_tee_times = 262, // calculate_tee_times
979 S_t1_percent = 263, // t1_percent
980 S_t2_percent = 264, // t2_percent
981 S_cache_threshold = 265, // cache_threshold
982 S_cache_max_age = 266, // cache_max_age
983 S_decline_probation_period = 267, // decline_probation_period
984 S_ddns_send_updates = 268, // ddns_send_updates
985 S_ddns_override_no_update = 269, // ddns_override_no_update
986 S_ddns_override_client_update = 270, // ddns_override_client_update
987 S_ddns_replace_client_name = 271, // ddns_replace_client_name
988 S_272_22 = 272, // $@22
989 S_ddns_replace_client_name_value = 273, // ddns_replace_client_name_value
990 S_ddns_generated_prefix = 274, // ddns_generated_prefix
991 S_275_23 = 275, // $@23
992 S_ddns_qualifying_suffix = 276, // ddns_qualifying_suffix
993 S_277_24 = 277, // $@24
994 S_ddns_update_on_renew = 278, // ddns_update_on_renew
995 S_ddns_use_conflict_resolution = 279, // ddns_use_conflict_resolution
996 S_hostname_char_set = 280, // hostname_char_set
997 S_281_25 = 281, // $@25
998 S_hostname_char_replacement = 282, // hostname_char_replacement
999 S_283_26 = 283, // $@26
1000 S_store_extended_info = 284, // store_extended_info
1001 S_statistic_default_sample_count = 285, // statistic_default_sample_count
1002 S_statistic_default_sample_age = 286, // statistic_default_sample_age
1003 S_server_tag = 287, // server_tag
1004 S_288_27 = 288, // $@27
1005 S_ip_reservations_unique = 289, // ip_reservations_unique
1006 S_interfaces_config = 290, // interfaces_config
1007 S_291_28 = 291, // $@28
1008 S_sub_interfaces6 = 292, // sub_interfaces6
1009 S_293_29 = 293, // $@29
1010 S_interfaces_config_params = 294, // interfaces_config_params
1011 S_interfaces_config_param = 295, // interfaces_config_param
1012 S_interfaces_list = 296, // interfaces_list
1013 S_297_30 = 297, // $@30
1014 S_re_detect = 298, // re_detect
1015 S_lease_database = 299, // lease_database
1016 S_300_31 = 300, // $@31
1017 S_hosts_database = 301, // hosts_database
1018 S_302_32 = 302, // $@32
1019 S_hosts_databases = 303, // hosts_databases
1020 S_304_33 = 304, // $@33
1021 S_database_list = 305, // database_list
1022 S_not_empty_database_list = 306, // not_empty_database_list
1023 S_database = 307, // database
1024 S_308_34 = 308, // $@34
1025 S_database_map_params = 309, // database_map_params
1026 S_database_map_param = 310, // database_map_param
1027 S_database_type = 311, // database_type
1028 S_312_35 = 312, // $@35
1029 S_db_type = 313, // db_type
1030 S_user = 314, // user
1031 S_315_36 = 315, // $@36
1032 S_password = 316, // password
1033 S_317_37 = 317, // $@37
1034 S_host = 318, // host
1035 S_319_38 = 319, // $@38
1036 S_port = 320, // port
1037 S_name = 321, // name
1038 S_322_39 = 322, // $@39
1039 S_persist = 323, // persist
1040 S_lfc_interval = 324, // lfc_interval
1041 S_readonly = 325, // readonly
1042 S_connect_timeout = 326, // connect_timeout
1043 S_reconnect_wait_time = 327, // reconnect_wait_time
1044 S_on_fail = 328, // on_fail
1045 S_329_40 = 329, // $@40
1046 S_on_fail_mode = 330, // on_fail_mode
1047 S_max_row_errors = 331, // max_row_errors
1048 S_request_timeout = 332, // request_timeout
1049 S_tcp_keepalive = 333, // tcp_keepalive
1050 S_tcp_nodelay = 334, // tcp_nodelay
1051 S_contact_points = 335, // contact_points
1052 S_336_41 = 336, // $@41
1053 S_max_reconnect_tries = 337, // max_reconnect_tries
1054 S_keyspace = 338, // keyspace
1055 S_339_42 = 339, // $@42
1056 S_consistency = 340, // consistency
1057 S_341_43 = 341, // $@43
1058 S_serial_consistency = 342, // serial_consistency
1059 S_343_44 = 343, // $@44
1060 S_sanity_checks = 344, // sanity_checks
1061 S_345_45 = 345, // $@45
1062 S_sanity_checks_params = 346, // sanity_checks_params
1063 S_sanity_checks_param = 347, // sanity_checks_param
1064 S_lease_checks = 348, // lease_checks
1065 S_349_46 = 349, // $@46
1066 S_mac_sources = 350, // mac_sources
1067 S_351_47 = 351, // $@47
1068 S_mac_sources_list = 352, // mac_sources_list
1069 S_mac_sources_value = 353, // mac_sources_value
1070 S_duid_id = 354, // duid_id
1071 S_string_id = 355, // string_id
1072 S_host_reservation_identifiers = 356, // host_reservation_identifiers
1073 S_357_48 = 357, // $@48
1074 S_host_reservation_identifiers_list = 358, // host_reservation_identifiers_list
1075 S_host_reservation_identifier = 359, // host_reservation_identifier
1076 S_hw_address_id = 360, // hw_address_id
1077 S_flex_id = 361, // flex_id
1078 S_relay_supplied_options = 362, // relay_supplied_options
1079 S_363_49 = 363, // $@49
1080 S_dhcp_multi_threading = 364, // dhcp_multi_threading
1081 S_365_50 = 365, // $@50
1082 S_multi_threading_params = 366, // multi_threading_params
1083 S_multi_threading_param = 367, // multi_threading_param
1084 S_enable_multi_threading = 368, // enable_multi_threading
1085 S_thread_pool_size = 369, // thread_pool_size
1086 S_packet_queue_size = 370, // packet_queue_size
1087 S_hooks_libraries = 371, // hooks_libraries
1088 S_372_51 = 372, // $@51
1089 S_hooks_libraries_list = 373, // hooks_libraries_list
1090 S_not_empty_hooks_libraries_list = 374, // not_empty_hooks_libraries_list
1091 S_hooks_library = 375, // hooks_library
1092 S_376_52 = 376, // $@52
1093 S_sub_hooks_library = 377, // sub_hooks_library
1094 S_378_53 = 378, // $@53
1095 S_hooks_params = 379, // hooks_params
1096 S_hooks_param = 380, // hooks_param
1097 S_library = 381, // library
1098 S_382_54 = 382, // $@54
1099 S_parameters = 383, // parameters
1100 S_384_55 = 384, // $@55
1101 S_expired_leases_processing = 385, // expired_leases_processing
1102 S_386_56 = 386, // $@56
1103 S_expired_leases_params = 387, // expired_leases_params
1104 S_expired_leases_param = 388, // expired_leases_param
1105 S_reclaim_timer_wait_time = 389, // reclaim_timer_wait_time
1106 S_flush_reclaimed_timer_wait_time = 390, // flush_reclaimed_timer_wait_time
1107 S_hold_reclaimed_time = 391, // hold_reclaimed_time
1108 S_max_reclaim_leases = 392, // max_reclaim_leases
1109 S_max_reclaim_time = 393, // max_reclaim_time
1110 S_unwarned_reclaim_cycles = 394, // unwarned_reclaim_cycles
1111 S_subnet6_list = 395, // subnet6_list
1112 S_396_57 = 396, // $@57
1113 S_subnet6_list_content = 397, // subnet6_list_content
1114 S_not_empty_subnet6_list = 398, // not_empty_subnet6_list
1115 S_subnet6 = 399, // subnet6
1116 S_400_58 = 400, // $@58
1117 S_sub_subnet6 = 401, // sub_subnet6
1118 S_402_59 = 402, // $@59
1119 S_subnet6_params = 403, // subnet6_params
1120 S_subnet6_param = 404, // subnet6_param
1121 S_subnet = 405, // subnet
1122 S_406_60 = 406, // $@60
1123 S_interface = 407, // interface
1124 S_408_61 = 408, // $@61
1125 S_interface_id = 409, // interface_id
1126 S_410_62 = 410, // $@62
1127 S_client_class = 411, // client_class
1128 S_412_63 = 412, // $@63
1129 S_require_client_classes = 413, // require_client_classes
1130 S_414_64 = 414, // $@64
1131 S_reservations_global = 415, // reservations_global
1132 S_reservations_in_subnet = 416, // reservations_in_subnet
1133 S_reservations_out_of_pool = 417, // reservations_out_of_pool
1134 S_reservation_mode = 418, // reservation_mode
1135 S_419_65 = 419, // $@65
1136 S_hr_mode = 420, // hr_mode
1137 S_id = 421, // id
1138 S_rapid_commit = 422, // rapid_commit
1139 S_shared_networks = 423, // shared_networks
1140 S_424_66 = 424, // $@66
1141 S_shared_networks_content = 425, // shared_networks_content
1142 S_shared_networks_list = 426, // shared_networks_list
1143 S_shared_network = 427, // shared_network
1144 S_428_67 = 428, // $@67
1145 S_shared_network_params = 429, // shared_network_params
1146 S_shared_network_param = 430, // shared_network_param
1147 S_option_def_list = 431, // option_def_list
1148 S_432_68 = 432, // $@68
1149 S_sub_option_def_list = 433, // sub_option_def_list
1150 S_434_69 = 434, // $@69
1151 S_option_def_list_content = 435, // option_def_list_content
1152 S_not_empty_option_def_list = 436, // not_empty_option_def_list
1153 S_option_def_entry = 437, // option_def_entry
1154 S_438_70 = 438, // $@70
1155 S_sub_option_def = 439, // sub_option_def
1156 S_440_71 = 440, // $@71
1157 S_option_def_params = 441, // option_def_params
1158 S_not_empty_option_def_params = 442, // not_empty_option_def_params
1159 S_option_def_param = 443, // option_def_param
1160 S_option_def_name = 444, // option_def_name
1161 S_code = 445, // code
1162 S_option_def_code = 446, // option_def_code
1163 S_option_def_type = 447, // option_def_type
1164 S_448_72 = 448, // $@72
1165 S_option_def_record_types = 449, // option_def_record_types
1166 S_450_73 = 450, // $@73
1167 S_space = 451, // space
1168 S_452_74 = 452, // $@74
1169 S_option_def_space = 453, // option_def_space
1170 S_option_def_encapsulate = 454, // option_def_encapsulate
1171 S_455_75 = 455, // $@75
1172 S_option_def_array = 456, // option_def_array
1173 S_option_data_list = 457, // option_data_list
1174 S_458_76 = 458, // $@76
1175 S_option_data_list_content = 459, // option_data_list_content
1176 S_not_empty_option_data_list = 460, // not_empty_option_data_list
1177 S_option_data_entry = 461, // option_data_entry
1178 S_462_77 = 462, // $@77
1179 S_sub_option_data = 463, // sub_option_data
1180 S_464_78 = 464, // $@78
1181 S_option_data_params = 465, // option_data_params
1182 S_not_empty_option_data_params = 466, // not_empty_option_data_params
1183 S_option_data_param = 467, // option_data_param
1184 S_option_data_name = 468, // option_data_name
1185 S_option_data_data = 469, // option_data_data
1186 S_470_79 = 470, // $@79
1187 S_option_data_code = 471, // option_data_code
1188 S_option_data_space = 472, // option_data_space
1189 S_option_data_csv_format = 473, // option_data_csv_format
1190 S_option_data_always_send = 474, // option_data_always_send
1191 S_pools_list = 475, // pools_list
1192 S_476_80 = 476, // $@80
1193 S_pools_list_content = 477, // pools_list_content
1194 S_not_empty_pools_list = 478, // not_empty_pools_list
1195 S_pool_list_entry = 479, // pool_list_entry
1196 S_480_81 = 480, // $@81
1197 S_sub_pool6 = 481, // sub_pool6
1198 S_482_82 = 482, // $@82
1199 S_pool_params = 483, // pool_params
1200 S_pool_param = 484, // pool_param
1201 S_pool_entry = 485, // pool_entry
1202 S_486_83 = 486, // $@83
1203 S_user_context = 487, // user_context
1204 S_488_84 = 488, // $@84
1205 S_comment = 489, // comment
1206 S_490_85 = 490, // $@85
1207 S_pd_pools_list = 491, // pd_pools_list
1208 S_492_86 = 492, // $@86
1209 S_pd_pools_list_content = 493, // pd_pools_list_content
1210 S_not_empty_pd_pools_list = 494, // not_empty_pd_pools_list
1211 S_pd_pool_entry = 495, // pd_pool_entry
1212 S_496_87 = 496, // $@87
1213 S_sub_pd_pool = 497, // sub_pd_pool
1214 S_498_88 = 498, // $@88
1215 S_pd_pool_params = 499, // pd_pool_params
1216 S_pd_pool_param = 500, // pd_pool_param
1217 S_pd_prefix = 501, // pd_prefix
1218 S_502_89 = 502, // $@89
1219 S_pd_prefix_len = 503, // pd_prefix_len
1220 S_excluded_prefix = 504, // excluded_prefix
1221 S_505_90 = 505, // $@90
1222 S_excluded_prefix_len = 506, // excluded_prefix_len
1223 S_pd_delegated_len = 507, // pd_delegated_len
1224 S_reservations = 508, // reservations
1225 S_509_91 = 509, // $@91
1226 S_reservations_list = 510, // reservations_list
1227 S_not_empty_reservations_list = 511, // not_empty_reservations_list
1228 S_reservation = 512, // reservation
1229 S_513_92 = 513, // $@92
1230 S_sub_reservation = 514, // sub_reservation
1231 S_515_93 = 515, // $@93
1232 S_reservation_params = 516, // reservation_params
1233 S_not_empty_reservation_params = 517, // not_empty_reservation_params
1234 S_reservation_param = 518, // reservation_param
1235 S_ip_addresses = 519, // ip_addresses
1236 S_520_94 = 520, // $@94
1237 S_prefixes = 521, // prefixes
1238 S_522_95 = 522, // $@95
1239 S_duid = 523, // duid
1240 S_524_96 = 524, // $@96
1241 S_hw_address = 525, // hw_address
1242 S_526_97 = 526, // $@97
1243 S_hostname = 527, // hostname
1244 S_528_98 = 528, // $@98
1245 S_flex_id_value = 529, // flex_id_value
1246 S_530_99 = 530, // $@99
1247 S_reservation_client_classes = 531, // reservation_client_classes
1248 S_532_100 = 532, // $@100
1249 S_relay = 533, // relay
1250 S_534_101 = 534, // $@101
1251 S_relay_map = 535, // relay_map
1252 S_ip_address = 536, // ip_address
1253 S_537_102 = 537, // $@102
1254 S_client_classes = 538, // client_classes
1255 S_539_103 = 539, // $@103
1256 S_client_classes_list = 540, // client_classes_list
1257 S_client_class_entry = 541, // client_class_entry
1258 S_542_104 = 542, // $@104
1259 S_client_class_params = 543, // client_class_params
1260 S_not_empty_client_class_params = 544, // not_empty_client_class_params
1261 S_client_class_param = 545, // client_class_param
1262 S_client_class_name = 546, // client_class_name
1263 S_client_class_test = 547, // client_class_test
1264 S_548_105 = 548, // $@105
1265 S_only_if_required = 549, // only_if_required
1266 S_server_id = 550, // server_id
1267 S_551_106 = 551, // $@106
1268 S_server_id_params = 552, // server_id_params
1269 S_server_id_param = 553, // server_id_param
1270 S_server_id_type = 554, // server_id_type
1271 S_555_107 = 555, // $@107
1272 S_duid_type = 556, // duid_type
1273 S_htype = 557, // htype
1274 S_identifier = 558, // identifier
1275 S_559_108 = 559, // $@108
1276 S_time = 560, // time
1277 S_enterprise_id = 561, // enterprise_id
1278 S_dhcp4o6_port = 562, // dhcp4o6_port
1279 S_control_socket = 563, // control_socket
1280 S_564_109 = 564, // $@109
1281 S_control_socket_params = 565, // control_socket_params
1282 S_control_socket_param = 566, // control_socket_param
1283 S_socket_type = 567, // socket_type
1284 S_568_110 = 568, // $@110
1285 S_socket_name = 569, // socket_name
1286 S_570_111 = 570, // $@111
1287 S_dhcp_queue_control = 571, // dhcp_queue_control
1288 S_572_112 = 572, // $@112
1289 S_queue_control_params = 573, // queue_control_params
1290 S_queue_control_param = 574, // queue_control_param
1291 S_enable_queue = 575, // enable_queue
1292 S_queue_type = 576, // queue_type
1293 S_577_113 = 577, // $@113
1294 S_capacity = 578, // capacity
1295 S_arbitrary_map_entry = 579, // arbitrary_map_entry
1296 S_580_114 = 580, // $@114
1297 S_dhcp_ddns = 581, // dhcp_ddns
1298 S_582_115 = 582, // $@115
1299 S_sub_dhcp_ddns = 583, // sub_dhcp_ddns
1300 S_584_116 = 584, // $@116
1301 S_dhcp_ddns_params = 585, // dhcp_ddns_params
1302 S_dhcp_ddns_param = 586, // dhcp_ddns_param
1303 S_enable_updates = 587, // enable_updates
1304 S_dep_qualifying_suffix = 588, // dep_qualifying_suffix
1305 S_589_117 = 589, // $@117
1306 S_server_ip = 590, // server_ip
1307 S_591_118 = 591, // $@118
1308 S_server_port = 592, // server_port
1309 S_sender_ip = 593, // sender_ip
1310 S_594_119 = 594, // $@119
1311 S_sender_port = 595, // sender_port
1312 S_max_queue_size = 596, // max_queue_size
1313 S_ncr_protocol = 597, // ncr_protocol
1314 S_598_120 = 598, // $@120
1315 S_ncr_protocol_value = 599, // ncr_protocol_value
1316 S_ncr_format = 600, // ncr_format
1317 S_601_121 = 601, // $@121
1318 S_dep_override_no_update = 602, // dep_override_no_update
1319 S_dep_override_client_update = 603, // dep_override_client_update
1320 S_dep_replace_client_name = 604, // dep_replace_client_name
1321 S_605_122 = 605, // $@122
1322 S_dep_generated_prefix = 606, // dep_generated_prefix
1323 S_607_123 = 607, // $@123
1324 S_dep_hostname_char_set = 608, // dep_hostname_char_set
1325 S_609_124 = 609, // $@124
1326 S_dep_hostname_char_replacement = 610, // dep_hostname_char_replacement
1327 S_611_125 = 611, // $@125
1328 S_config_control = 612, // config_control
1329 S_613_126 = 613, // $@126
1330 S_sub_config_control = 614, // sub_config_control
1331 S_615_127 = 615, // $@127
1332 S_config_control_params = 616, // config_control_params
1333 S_config_control_param = 617, // config_control_param
1334 S_config_databases = 618, // config_databases
1335 S_619_128 = 619, // $@128
1336 S_config_fetch_wait_time = 620, // config_fetch_wait_time
1337 S_loggers = 621, // loggers
1338 S_622_129 = 622, // $@129
1339 S_loggers_entries = 623, // loggers_entries
1340 S_logger_entry = 624, // logger_entry
1341 S_625_130 = 625, // $@130
1342 S_logger_params = 626, // logger_params
1343 S_logger_param = 627, // logger_param
1344 S_debuglevel = 628, // debuglevel
1345 S_severity = 629, // severity
1346 S_630_131 = 630, // $@131
1347 S_output_options_list = 631, // output_options_list
1348 S_632_132 = 632, // $@132
1349 S_output_options_list_content = 633, // output_options_list_content
1350 S_output_entry = 634, // output_entry
1351 S_635_133 = 635, // $@133
1352 S_output_params_list = 636, // output_params_list
1353 S_output_params = 637, // output_params
1354 S_output = 638, // output
1355 S_639_134 = 639, // $@134
1356 S_flush = 640, // flush
1357 S_maxsize = 641, // maxsize
1358 S_maxver = 642, // maxver
1359 S_pattern = 643, // pattern
1360 S_644_135 = 644, // $@135
1361 S_compatibility = 645, // compatibility
1362 S_646_136 = 646, // $@136
1363 S_compatibility_params = 647, // compatibility_params
1364 S_compatibility_param = 648, // compatibility_param
1365 S_lenient_option_parsing = 649 // lenient_option_parsing
1367 };
1368
1371
1374
1381 template <typename Base>
1382 struct basic_symbol : Base
1383 {
1385 typedef Base super_type;
1386
1389 : value ()
1390 , location ()
1391 {}
1392
1393#if 201103L <= YY_CPLUSPLUS
1395 basic_symbol (basic_symbol&& that)
1396 : Base (std::move (that))
1397 , value ()
1398 , location (std::move (that.location))
1399 {
1400 switch (this->kind ())
1401 {
1402 case symbol_kind::S_value: // value
1403 case symbol_kind::S_map_value: // map_value
1404 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1405 case symbol_kind::S_db_type: // db_type
1406 case symbol_kind::S_on_fail_mode: // on_fail_mode
1407 case symbol_kind::S_hr_mode: // hr_mode
1408 case symbol_kind::S_duid_type: // duid_type
1409 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1410 value.move< ElementPtr > (std::move (that.value));
1411 break;
1412
1413 case symbol_kind::S_BOOLEAN: // "boolean"
1414 value.move< bool > (std::move (that.value));
1415 break;
1416
1417 case symbol_kind::S_FLOAT: // "floating point"
1418 value.move< double > (std::move (that.value));
1419 break;
1420
1421 case symbol_kind::S_INTEGER: // "integer"
1422 value.move< int64_t > (std::move (that.value));
1423 break;
1424
1425 case symbol_kind::S_STRING: // "constant string"
1426 value.move< std::string > (std::move (that.value));
1427 break;
1428
1429 default:
1430 break;
1431 }
1432
1433 }
1434#endif
1435
1437 basic_symbol (const basic_symbol& that);
1438
1440#if 201103L <= YY_CPLUSPLUS
1441 basic_symbol (typename Base::kind_type t, location_type&& l)
1442 : Base (t)
1443 , location (std::move (l))
1444 {}
1445#else
1446 basic_symbol (typename Base::kind_type t, const location_type& l)
1447 : Base (t)
1448 , location (l)
1449 {}
1450#endif
1451
1452#if 201103L <= YY_CPLUSPLUS
1453 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1454 : Base (t)
1455 , value (std::move (v))
1456 , location (std::move (l))
1457 {}
1458#else
1459 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1460 : Base (t)
1461 , value (v)
1462 , location (l)
1463 {}
1464#endif
1465
1466#if 201103L <= YY_CPLUSPLUS
1467 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1468 : Base (t)
1469 , value (std::move (v))
1470 , location (std::move (l))
1471 {}
1472#else
1473 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1474 : Base (t)
1475 , value (v)
1476 , location (l)
1477 {}
1478#endif
1479
1480#if 201103L <= YY_CPLUSPLUS
1481 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1482 : Base (t)
1483 , value (std::move (v))
1484 , location (std::move (l))
1485 {}
1486#else
1487 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1488 : Base (t)
1489 , value (v)
1490 , location (l)
1491 {}
1492#endif
1493
1494#if 201103L <= YY_CPLUSPLUS
1495 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1496 : Base (t)
1497 , value (std::move (v))
1498 , location (std::move (l))
1499 {}
1500#else
1501 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1502 : Base (t)
1503 , value (v)
1504 , location (l)
1505 {}
1506#endif
1507
1508#if 201103L <= YY_CPLUSPLUS
1509 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1510 : Base (t)
1511 , value (std::move (v))
1512 , location (std::move (l))
1513 {}
1514#else
1515 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1516 : Base (t)
1517 , value (v)
1518 , location (l)
1519 {}
1520#endif
1521
1524 {
1525 clear ();
1526 }
1527
1530 {
1531 // User destructor.
1532 symbol_kind_type yykind = this->kind ();
1533 basic_symbol<Base>& yysym = *this;
1534 (void) yysym;
1535 switch (yykind)
1536 {
1537 default:
1538 break;
1539 }
1540
1541 // Value type destructor.
1542switch (yykind)
1543 {
1544 case symbol_kind::S_value: // value
1545 case symbol_kind::S_map_value: // map_value
1546 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1547 case symbol_kind::S_db_type: // db_type
1548 case symbol_kind::S_on_fail_mode: // on_fail_mode
1549 case symbol_kind::S_hr_mode: // hr_mode
1550 case symbol_kind::S_duid_type: // duid_type
1551 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1552 value.template destroy< ElementPtr > ();
1553 break;
1554
1555 case symbol_kind::S_BOOLEAN: // "boolean"
1556 value.template destroy< bool > ();
1557 break;
1558
1559 case symbol_kind::S_FLOAT: // "floating point"
1560 value.template destroy< double > ();
1561 break;
1562
1563 case symbol_kind::S_INTEGER: // "integer"
1564 value.template destroy< int64_t > ();
1565 break;
1566
1567 case symbol_kind::S_STRING: // "constant string"
1568 value.template destroy< std::string > ();
1569 break;
1570
1571 default:
1572 break;
1573 }
1574
1575 Base::clear ();
1576 }
1577
1579 std::string name () const YY_NOEXCEPT
1580 {
1581 return Dhcp6Parser::symbol_name (this->kind ());
1582 }
1583
1585 symbol_kind_type type_get () const YY_NOEXCEPT;
1586
1588 bool empty () const YY_NOEXCEPT;
1589
1591 void move (basic_symbol& s);
1592
1595
1598
1599 private:
1600#if YY_CPLUSPLUS < 201103L
1602 basic_symbol& operator= (const basic_symbol& that);
1603#endif
1604 };
1605
1607 struct by_kind
1608 {
1610 by_kind ();
1611
1612#if 201103L <= YY_CPLUSPLUS
1614 by_kind (by_kind&& that);
1615#endif
1616
1618 by_kind (const by_kind& that);
1619
1622
1624 by_kind (kind_type t);
1625
1627 void clear () YY_NOEXCEPT;
1628
1630 void move (by_kind& that);
1631
1634 symbol_kind_type kind () const YY_NOEXCEPT;
1635
1637 symbol_kind_type type_get () const YY_NOEXCEPT;
1638
1642 };
1643
1646
1649 {
1652
1655
1657#if 201103L <= YY_CPLUSPLUS
1658 symbol_type (int tok, location_type l)
1659 : super_type(token_type (tok), std::move (l))
1660#else
1661 symbol_type (int tok, const location_type& l)
1662 : super_type(token_type (tok), l)
1663#endif
1664 {
1667 }
1668#if 201103L <= YY_CPLUSPLUS
1669 symbol_type (int tok, bool v, location_type l)
1670 : super_type(token_type (tok), std::move (v), std::move (l))
1671#else
1672 symbol_type (int tok, const bool& v, const location_type& l)
1673 : super_type(token_type (tok), v, l)
1674#endif
1675 {
1677 }
1678#if 201103L <= YY_CPLUSPLUS
1679 symbol_type (int tok, double v, location_type l)
1680 : super_type(token_type (tok), std::move (v), std::move (l))
1681#else
1682 symbol_type (int tok, const double& v, const location_type& l)
1683 : super_type(token_type (tok), v, l)
1684#endif
1685 {
1687 }
1688#if 201103L <= YY_CPLUSPLUS
1689 symbol_type (int tok, int64_t v, location_type l)
1690 : super_type(token_type (tok), std::move (v), std::move (l))
1691#else
1692 symbol_type (int tok, const int64_t& v, const location_type& l)
1693 : super_type(token_type (tok), v, l)
1694#endif
1695 {
1697 }
1698#if 201103L <= YY_CPLUSPLUS
1699 symbol_type (int tok, std::string v, location_type l)
1700 : super_type(token_type (tok), std::move (v), std::move (l))
1701#else
1702 symbol_type (int tok, const std::string& v, const location_type& l)
1703 : super_type(token_type (tok), v, l)
1704#endif
1705 {
1707 }
1708 };
1709
1712 virtual ~Dhcp6Parser ();
1713
1714#if 201103L <= YY_CPLUSPLUS
1716 Dhcp6Parser (const Dhcp6Parser&) = delete;
1718 Dhcp6Parser& operator= (const Dhcp6Parser&) = delete;
1719#endif
1720
1723 int operator() ();
1724
1727 virtual int parse ();
1728
1729#if PARSER6_DEBUG
1731 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1733 void set_debug_stream (std::ostream &);
1734
1736 typedef int debug_level_type;
1741#endif
1742
1746 virtual void error (const location_type& loc, const std::string& msg);
1747
1749 void error (const syntax_error& err);
1750
1753 static std::string symbol_name (symbol_kind_type yysymbol);
1754
1755 // Implementation of make_symbol for each symbol type.
1756#if 201103L <= YY_CPLUSPLUS
1757 static
1760 {
1761 return symbol_type (token::TOKEN_END, std::move (l));
1762 }
1763#else
1764 static
1765 symbol_type
1767 {
1768 return symbol_type (token::TOKEN_END, l);
1769 }
1770#endif
1771#if 201103L <= YY_CPLUSPLUS
1772 static
1773 symbol_type
1775 {
1776 return symbol_type (token::TOKEN_PARSER6_error, std::move (l));
1777 }
1778#else
1779 static
1780 symbol_type
1782 {
1784 }
1785#endif
1786#if 201103L <= YY_CPLUSPLUS
1787 static
1788 symbol_type
1790 {
1791 return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l));
1792 }
1793#else
1794 static
1795 symbol_type
1797 {
1799 }
1800#endif
1801#if 201103L <= YY_CPLUSPLUS
1802 static
1803 symbol_type
1805 {
1806 return symbol_type (token::TOKEN_COMMA, std::move (l));
1807 }
1808#else
1809 static
1810 symbol_type
1812 {
1813 return symbol_type (token::TOKEN_COMMA, l);
1814 }
1815#endif
1816#if 201103L <= YY_CPLUSPLUS
1817 static
1818 symbol_type
1820 {
1821 return symbol_type (token::TOKEN_COLON, std::move (l));
1822 }
1823#else
1824 static
1825 symbol_type
1827 {
1828 return symbol_type (token::TOKEN_COLON, l);
1829 }
1830#endif
1831#if 201103L <= YY_CPLUSPLUS
1832 static
1833 symbol_type
1835 {
1836 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1837 }
1838#else
1839 static
1840 symbol_type
1842 {
1844 }
1845#endif
1846#if 201103L <= YY_CPLUSPLUS
1847 static
1848 symbol_type
1850 {
1851 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1852 }
1853#else
1854 static
1855 symbol_type
1857 {
1859 }
1860#endif
1861#if 201103L <= YY_CPLUSPLUS
1862 static
1863 symbol_type
1865 {
1866 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1867 }
1868#else
1869 static
1870 symbol_type
1872 {
1874 }
1875#endif
1876#if 201103L <= YY_CPLUSPLUS
1877 static
1878 symbol_type
1880 {
1881 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1882 }
1883#else
1884 static
1885 symbol_type
1887 {
1889 }
1890#endif
1891#if 201103L <= YY_CPLUSPLUS
1892 static
1893 symbol_type
1895 {
1896 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1897 }
1898#else
1899 static
1900 symbol_type
1902 {
1904 }
1905#endif
1906#if 201103L <= YY_CPLUSPLUS
1907 static
1908 symbol_type
1910 {
1911 return symbol_type (token::TOKEN_DHCP6, std::move (l));
1912 }
1913#else
1914 static
1915 symbol_type
1917 {
1918 return symbol_type (token::TOKEN_DHCP6, l);
1919 }
1920#endif
1921#if 201103L <= YY_CPLUSPLUS
1922 static
1923 symbol_type
1925 {
1926 return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
1927 }
1928#else
1929 static
1930 symbol_type
1932 {
1934 }
1935#endif
1936#if 201103L <= YY_CPLUSPLUS
1937 static
1938 symbol_type
1940 {
1941 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
1942 }
1943#else
1944 static
1945 symbol_type
1947 {
1949 }
1950#endif
1951#if 201103L <= YY_CPLUSPLUS
1952 static
1953 symbol_type
1955 {
1956 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
1957 }
1958#else
1959 static
1960 symbol_type
1962 {
1964 }
1965#endif
1966#if 201103L <= YY_CPLUSPLUS
1967 static
1968 symbol_type
1970 {
1971 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
1972 }
1973#else
1974 static
1975 symbol_type
1977 {
1979 }
1980#endif
1981#if 201103L <= YY_CPLUSPLUS
1982 static
1983 symbol_type
1985 {
1986 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
1987 }
1988#else
1989 static
1990 symbol_type
1992 {
1994 }
1995#endif
1996#if 201103L <= YY_CPLUSPLUS
1997 static
1998 symbol_type
2000 {
2001 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2002 }
2003#else
2004 static
2005 symbol_type
2007 {
2009 }
2010#endif
2011#if 201103L <= YY_CPLUSPLUS
2012 static
2013 symbol_type
2015 {
2016 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2017 }
2018#else
2019 static
2020 symbol_type
2022 {
2024 }
2025#endif
2026#if 201103L <= YY_CPLUSPLUS
2027 static
2028 symbol_type
2030 {
2031 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2032 }
2033#else
2034 static
2035 symbol_type
2037 {
2039 }
2040#endif
2041#if 201103L <= YY_CPLUSPLUS
2042 static
2043 symbol_type
2045 {
2046 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2047 }
2048#else
2049 static
2050 symbol_type
2052 {
2054 }
2055#endif
2056#if 201103L <= YY_CPLUSPLUS
2057 static
2058 symbol_type
2060 {
2061 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2062 }
2063#else
2064 static
2065 symbol_type
2067 {
2069 }
2070#endif
2071#if 201103L <= YY_CPLUSPLUS
2072 static
2073 symbol_type
2075 {
2076 return symbol_type (token::TOKEN_TYPE, std::move (l));
2077 }
2078#else
2079 static
2080 symbol_type
2082 {
2083 return symbol_type (token::TOKEN_TYPE, l);
2084 }
2085#endif
2086#if 201103L <= YY_CPLUSPLUS
2087 static
2088 symbol_type
2090 {
2091 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2092 }
2093#else
2094 static
2095 symbol_type
2097 {
2099 }
2100#endif
2101#if 201103L <= YY_CPLUSPLUS
2102 static
2103 symbol_type
2105 {
2106 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2107 }
2108#else
2109 static
2110 symbol_type
2112 {
2113 return symbol_type (token::TOKEN_MYSQL, l);
2114 }
2115#endif
2116#if 201103L <= YY_CPLUSPLUS
2117 static
2118 symbol_type
2120 {
2121 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2122 }
2123#else
2124 static
2125 symbol_type
2127 {
2129 }
2130#endif
2131#if 201103L <= YY_CPLUSPLUS
2132 static
2133 symbol_type
2135 {
2136 return symbol_type (token::TOKEN_CQL, std::move (l));
2137 }
2138#else
2139 static
2140 symbol_type
2142 {
2143 return symbol_type (token::TOKEN_CQL, l);
2144 }
2145#endif
2146#if 201103L <= YY_CPLUSPLUS
2147 static
2148 symbol_type
2150 {
2151 return symbol_type (token::TOKEN_USER, std::move (l));
2152 }
2153#else
2154 static
2155 symbol_type
2157 {
2158 return symbol_type (token::TOKEN_USER, l);
2159 }
2160#endif
2161#if 201103L <= YY_CPLUSPLUS
2162 static
2163 symbol_type
2165 {
2166 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2167 }
2168#else
2169 static
2170 symbol_type
2172 {
2174 }
2175#endif
2176#if 201103L <= YY_CPLUSPLUS
2177 static
2178 symbol_type
2180 {
2181 return symbol_type (token::TOKEN_HOST, std::move (l));
2182 }
2183#else
2184 static
2185 symbol_type
2187 {
2188 return symbol_type (token::TOKEN_HOST, l);
2189 }
2190#endif
2191#if 201103L <= YY_CPLUSPLUS
2192 static
2193 symbol_type
2195 {
2196 return symbol_type (token::TOKEN_PORT, std::move (l));
2197 }
2198#else
2199 static
2200 symbol_type
2202 {
2203 return symbol_type (token::TOKEN_PORT, l);
2204 }
2205#endif
2206#if 201103L <= YY_CPLUSPLUS
2207 static
2208 symbol_type
2210 {
2211 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2212 }
2213#else
2214 static
2215 symbol_type
2217 {
2219 }
2220#endif
2221#if 201103L <= YY_CPLUSPLUS
2222 static
2223 symbol_type
2225 {
2226 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2227 }
2228#else
2229 static
2230 symbol_type
2232 {
2234 }
2235#endif
2236#if 201103L <= YY_CPLUSPLUS
2237 static
2238 symbol_type
2240 {
2241 return symbol_type (token::TOKEN_READONLY, std::move (l));
2242 }
2243#else
2244 static
2245 symbol_type
2247 {
2249 }
2250#endif
2251#if 201103L <= YY_CPLUSPLUS
2252 static
2253 symbol_type
2255 {
2256 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2257 }
2258#else
2259 static
2260 symbol_type
2262 {
2264 }
2265#endif
2266#if 201103L <= YY_CPLUSPLUS
2267 static
2268 symbol_type
2270 {
2271 return symbol_type (token::TOKEN_CONTACT_POINTS, std::move (l));
2272 }
2273#else
2274 static
2275 symbol_type
2277 {
2279 }
2280#endif
2281#if 201103L <= YY_CPLUSPLUS
2282 static
2283 symbol_type
2285 {
2286 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2287 }
2288#else
2289 static
2290 symbol_type
2292 {
2294 }
2295#endif
2296#if 201103L <= YY_CPLUSPLUS
2297 static
2298 symbol_type
2300 {
2301 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2302 }
2303#else
2304 static
2305 symbol_type
2307 {
2309 }
2310#endif
2311#if 201103L <= YY_CPLUSPLUS
2312 static
2313 symbol_type
2315 {
2316 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2317 }
2318#else
2319 static
2320 symbol_type
2322 {
2324 }
2325#endif
2326#if 201103L <= YY_CPLUSPLUS
2327 static
2328 symbol_type
2330 {
2331 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2332 }
2333#else
2334 static
2335 symbol_type
2337 {
2339 }
2340#endif
2341#if 201103L <= YY_CPLUSPLUS
2342 static
2343 symbol_type
2345 {
2346 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2347 }
2348#else
2349 static
2350 symbol_type
2352 {
2354 }
2355#endif
2356#if 201103L <= YY_CPLUSPLUS
2357 static
2358 symbol_type
2360 {
2361 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2362 }
2363#else
2364 static
2365 symbol_type
2367 {
2369 }
2370#endif
2371#if 201103L <= YY_CPLUSPLUS
2372 static
2373 symbol_type
2375 {
2376 return symbol_type (token::TOKEN_KEYSPACE, std::move (l));
2377 }
2378#else
2379 static
2380 symbol_type
2382 {
2384 }
2385#endif
2386#if 201103L <= YY_CPLUSPLUS
2387 static
2388 symbol_type
2390 {
2391 return symbol_type (token::TOKEN_CONSISTENCY, std::move (l));
2392 }
2393#else
2394 static
2395 symbol_type
2397 {
2399 }
2400#endif
2401#if 201103L <= YY_CPLUSPLUS
2402 static
2403 symbol_type
2405 {
2406 return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, std::move (l));
2407 }
2408#else
2409 static
2410 symbol_type
2412 {
2414 }
2415#endif
2416#if 201103L <= YY_CPLUSPLUS
2417 static
2418 symbol_type
2420 {
2421 return symbol_type (token::TOKEN_REQUEST_TIMEOUT, std::move (l));
2422 }
2423#else
2424 static
2425 symbol_type
2427 {
2429 }
2430#endif
2431#if 201103L <= YY_CPLUSPLUS
2432 static
2433 symbol_type
2435 {
2436 return symbol_type (token::TOKEN_TCP_KEEPALIVE, std::move (l));
2437 }
2438#else
2439 static
2440 symbol_type
2442 {
2444 }
2445#endif
2446#if 201103L <= YY_CPLUSPLUS
2447 static
2448 symbol_type
2450 {
2451 return symbol_type (token::TOKEN_TCP_NODELAY, std::move (l));
2452 }
2453#else
2454 static
2455 symbol_type
2457 {
2459 }
2460#endif
2461#if 201103L <= YY_CPLUSPLUS
2462 static
2463 symbol_type
2465 {
2466 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2467 }
2468#else
2469 static
2470 symbol_type
2472 {
2474 }
2475#endif
2476#if 201103L <= YY_CPLUSPLUS
2477 static
2478 symbol_type
2480 {
2481 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
2482 }
2483#else
2484 static
2485 symbol_type
2487 {
2489 }
2490#endif
2491#if 201103L <= YY_CPLUSPLUS
2492 static
2493 symbol_type
2495 {
2496 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
2497 }
2498#else
2499 static
2500 symbol_type
2502 {
2504 }
2505#endif
2506#if 201103L <= YY_CPLUSPLUS
2507 static
2508 symbol_type
2510 {
2511 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
2512 }
2513#else
2514 static
2515 symbol_type
2517 {
2519 }
2520#endif
2521#if 201103L <= YY_CPLUSPLUS
2522 static
2523 symbol_type
2525 {
2526 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2527 }
2528#else
2529 static
2530 symbol_type
2532 {
2534 }
2535#endif
2536#if 201103L <= YY_CPLUSPLUS
2537 static
2538 symbol_type
2540 {
2541 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2542 }
2543#else
2544 static
2545 symbol_type
2547 {
2549 }
2550#endif
2551#if 201103L <= YY_CPLUSPLUS
2552 static
2553 symbol_type
2555 {
2556 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2557 }
2558#else
2559 static
2560 symbol_type
2562 {
2564 }
2565#endif
2566#if 201103L <= YY_CPLUSPLUS
2567 static
2568 symbol_type
2570 {
2571 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2572 }
2573#else
2574 static
2575 symbol_type
2577 {
2579 }
2580#endif
2581#if 201103L <= YY_CPLUSPLUS
2582 static
2583 symbol_type
2585 {
2586 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2587 }
2588#else
2589 static
2590 symbol_type
2592 {
2594 }
2595#endif
2596#if 201103L <= YY_CPLUSPLUS
2597 static
2598 symbol_type
2600 {
2601 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2602 }
2603#else
2604 static
2605 symbol_type
2607 {
2609 }
2610#endif
2611#if 201103L <= YY_CPLUSPLUS
2612 static
2613 symbol_type
2615 {
2616 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2617 }
2618#else
2619 static
2620 symbol_type
2622 {
2624 }
2625#endif
2626#if 201103L <= YY_CPLUSPLUS
2627 static
2628 symbol_type
2630 {
2631 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2632 }
2633#else
2634 static
2635 symbol_type
2637 {
2639 }
2640#endif
2641#if 201103L <= YY_CPLUSPLUS
2642 static
2643 symbol_type
2645 {
2646 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2647 }
2648#else
2649 static
2650 symbol_type
2652 {
2654 }
2655#endif
2656#if 201103L <= YY_CPLUSPLUS
2657 static
2658 symbol_type
2660 {
2661 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2662 }
2663#else
2664 static
2665 symbol_type
2667 {
2669 }
2670#endif
2671#if 201103L <= YY_CPLUSPLUS
2672 static
2673 symbol_type
2675 {
2676 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2677 }
2678#else
2679 static
2680 symbol_type
2682 {
2684 }
2685#endif
2686#if 201103L <= YY_CPLUSPLUS
2687 static
2688 symbol_type
2690 {
2691 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2692 }
2693#else
2694 static
2695 symbol_type
2697 {
2699 }
2700#endif
2701#if 201103L <= YY_CPLUSPLUS
2702 static
2703 symbol_type
2705 {
2706 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2707 }
2708#else
2709 static
2710 symbol_type
2712 {
2714 }
2715#endif
2716#if 201103L <= YY_CPLUSPLUS
2717 static
2718 symbol_type
2720 {
2721 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2722 }
2723#else
2724 static
2725 symbol_type
2727 {
2729 }
2730#endif
2731#if 201103L <= YY_CPLUSPLUS
2732 static
2733 symbol_type
2735 {
2736 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2737 }
2738#else
2739 static
2740 symbol_type
2742 {
2744 }
2745#endif
2746#if 201103L <= YY_CPLUSPLUS
2747 static
2748 symbol_type
2750 {
2751 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2752 }
2753#else
2754 static
2755 symbol_type
2757 {
2759 }
2760#endif
2761#if 201103L <= YY_CPLUSPLUS
2762 static
2763 symbol_type
2765 {
2766 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2767 }
2768#else
2769 static
2770 symbol_type
2772 {
2774 }
2775#endif
2776#if 201103L <= YY_CPLUSPLUS
2777 static
2778 symbol_type
2780 {
2781 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2782 }
2783#else
2784 static
2785 symbol_type
2787 {
2789 }
2790#endif
2791#if 201103L <= YY_CPLUSPLUS
2792 static
2793 symbol_type
2795 {
2796 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2797 }
2798#else
2799 static
2800 symbol_type
2802 {
2804 }
2805#endif
2806#if 201103L <= YY_CPLUSPLUS
2807 static
2808 symbol_type
2810 {
2811 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2812 }
2813#else
2814 static
2815 symbol_type
2817 {
2819 }
2820#endif
2821#if 201103L <= YY_CPLUSPLUS
2822 static
2823 symbol_type
2825 {
2826 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2827 }
2828#else
2829 static
2830 symbol_type
2832 {
2834 }
2835#endif
2836#if 201103L <= YY_CPLUSPLUS
2837 static
2838 symbol_type
2840 {
2841 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2842 }
2843#else
2844 static
2845 symbol_type
2847 {
2849 }
2850#endif
2851#if 201103L <= YY_CPLUSPLUS
2852 static
2853 symbol_type
2855 {
2856 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
2857 }
2858#else
2859 static
2860 symbol_type
2862 {
2864 }
2865#endif
2866#if 201103L <= YY_CPLUSPLUS
2867 static
2868 symbol_type
2870 {
2871 return symbol_type (token::TOKEN_SUBNET6, std::move (l));
2872 }
2873#else
2874 static
2875 symbol_type
2877 {
2879 }
2880#endif
2881#if 201103L <= YY_CPLUSPLUS
2882 static
2883 symbol_type
2885 {
2886 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
2887 }
2888#else
2889 static
2890 symbol_type
2892 {
2894 }
2895#endif
2896#if 201103L <= YY_CPLUSPLUS
2897 static
2898 symbol_type
2900 {
2901 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
2902 }
2903#else
2904 static
2905 symbol_type
2907 {
2909 }
2910#endif
2911#if 201103L <= YY_CPLUSPLUS
2912 static
2913 symbol_type
2915 {
2916 return symbol_type (token::TOKEN_NAME, std::move (l));
2917 }
2918#else
2919 static
2920 symbol_type
2922 {
2923 return symbol_type (token::TOKEN_NAME, l);
2924 }
2925#endif
2926#if 201103L <= YY_CPLUSPLUS
2927 static
2928 symbol_type
2930 {
2931 return symbol_type (token::TOKEN_DATA, std::move (l));
2932 }
2933#else
2934 static
2935 symbol_type
2937 {
2938 return symbol_type (token::TOKEN_DATA, l);
2939 }
2940#endif
2941#if 201103L <= YY_CPLUSPLUS
2942 static
2943 symbol_type
2945 {
2946 return symbol_type (token::TOKEN_CODE, std::move (l));
2947 }
2948#else
2949 static
2950 symbol_type
2952 {
2953 return symbol_type (token::TOKEN_CODE, l);
2954 }
2955#endif
2956#if 201103L <= YY_CPLUSPLUS
2957 static
2958 symbol_type
2960 {
2961 return symbol_type (token::TOKEN_SPACE, std::move (l));
2962 }
2963#else
2964 static
2965 symbol_type
2967 {
2968 return symbol_type (token::TOKEN_SPACE, l);
2969 }
2970#endif
2971#if 201103L <= YY_CPLUSPLUS
2972 static
2973 symbol_type
2975 {
2976 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
2977 }
2978#else
2979 static
2980 symbol_type
2982 {
2984 }
2985#endif
2986#if 201103L <= YY_CPLUSPLUS
2987 static
2988 symbol_type
2990 {
2991 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
2992 }
2993#else
2994 static
2995 symbol_type
2997 {
2999 }
3000#endif
3001#if 201103L <= YY_CPLUSPLUS
3002 static
3003 symbol_type
3005 {
3006 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3007 }
3008#else
3009 static
3010 symbol_type
3012 {
3014 }
3015#endif
3016#if 201103L <= YY_CPLUSPLUS
3017 static
3018 symbol_type
3020 {
3021 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3022 }
3023#else
3024 static
3025 symbol_type
3027 {
3029 }
3030#endif
3031#if 201103L <= YY_CPLUSPLUS
3032 static
3033 symbol_type
3035 {
3036 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3037 }
3038#else
3039 static
3040 symbol_type
3042 {
3043 return symbol_type (token::TOKEN_ARRAY, l);
3044 }
3045#endif
3046#if 201103L <= YY_CPLUSPLUS
3047 static
3048 symbol_type
3050 {
3051 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3052 }
3053#else
3054 static
3055 symbol_type
3057 {
3059 }
3060#endif
3061#if 201103L <= YY_CPLUSPLUS
3062 static
3063 symbol_type
3065 {
3066 return symbol_type (token::TOKEN_POOLS, std::move (l));
3067 }
3068#else
3069 static
3070 symbol_type
3072 {
3073 return symbol_type (token::TOKEN_POOLS, l);
3074 }
3075#endif
3076#if 201103L <= YY_CPLUSPLUS
3077 static
3078 symbol_type
3080 {
3081 return symbol_type (token::TOKEN_POOL, std::move (l));
3082 }
3083#else
3084 static
3085 symbol_type
3087 {
3088 return symbol_type (token::TOKEN_POOL, l);
3089 }
3090#endif
3091#if 201103L <= YY_CPLUSPLUS
3092 static
3093 symbol_type
3095 {
3096 return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
3097 }
3098#else
3099 static
3100 symbol_type
3102 {
3104 }
3105#endif
3106#if 201103L <= YY_CPLUSPLUS
3107 static
3108 symbol_type
3110 {
3111 return symbol_type (token::TOKEN_PREFIX, std::move (l));
3112 }
3113#else
3114 static
3115 symbol_type
3117 {
3118 return symbol_type (token::TOKEN_PREFIX, l);
3119 }
3120#endif
3121#if 201103L <= YY_CPLUSPLUS
3122 static
3123 symbol_type
3125 {
3126 return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
3127 }
3128#else
3129 static
3130 symbol_type
3132 {
3134 }
3135#endif
3136#if 201103L <= YY_CPLUSPLUS
3137 static
3138 symbol_type
3140 {
3141 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
3142 }
3143#else
3144 static
3145 symbol_type
3147 {
3149 }
3150#endif
3151#if 201103L <= YY_CPLUSPLUS
3152 static
3153 symbol_type
3155 {
3156 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
3157 }
3158#else
3159 static
3160 symbol_type
3162 {
3164 }
3165#endif
3166#if 201103L <= YY_CPLUSPLUS
3167 static
3168 symbol_type
3170 {
3171 return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
3172 }
3173#else
3174 static
3175 symbol_type
3177 {
3179 }
3180#endif
3181#if 201103L <= YY_CPLUSPLUS
3182 static
3183 symbol_type
3185 {
3186 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3187 }
3188#else
3189 static
3190 symbol_type
3192 {
3194 }
3195#endif
3196#if 201103L <= YY_CPLUSPLUS
3197 static
3198 symbol_type
3200 {
3201 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3202 }
3203#else
3204 static
3205 symbol_type
3207 {
3209 }
3210#endif
3211#if 201103L <= YY_CPLUSPLUS
3212 static
3213 symbol_type
3215 {
3216 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3217 }
3218#else
3219 static
3220 symbol_type
3222 {
3223 return symbol_type (token::TOKEN_SUBNET, l);
3224 }
3225#endif
3226#if 201103L <= YY_CPLUSPLUS
3227 static
3228 symbol_type
3230 {
3231 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3232 }
3233#else
3234 static
3235 symbol_type
3237 {
3239 }
3240#endif
3241#if 201103L <= YY_CPLUSPLUS
3242 static
3243 symbol_type
3245 {
3246 return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
3247 }
3248#else
3249 static
3250 symbol_type
3252 {
3254 }
3255#endif
3256#if 201103L <= YY_CPLUSPLUS
3257 static
3258 symbol_type
3260 {
3261 return symbol_type (token::TOKEN_ID, std::move (l));
3262 }
3263#else
3264 static
3265 symbol_type
3267 {
3268 return symbol_type (token::TOKEN_ID, l);
3269 }
3270#endif
3271#if 201103L <= YY_CPLUSPLUS
3272 static
3273 symbol_type
3275 {
3276 return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
3277 }
3278#else
3279 static
3280 symbol_type
3282 {
3284 }
3285#endif
3286#if 201103L <= YY_CPLUSPLUS
3287 static
3288 symbol_type
3290 {
3291 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3292 }
3293#else
3294 static
3295 symbol_type
3297 {
3299 }
3300#endif
3301#if 201103L <= YY_CPLUSPLUS
3302 static
3303 symbol_type
3305 {
3306 return symbol_type (token::TOKEN_DISABLED, std::move (l));
3307 }
3308#else
3309 static
3310 symbol_type
3312 {
3314 }
3315#endif
3316#if 201103L <= YY_CPLUSPLUS
3317 static
3318 symbol_type
3320 {
3321 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3322 }
3323#else
3324 static
3325 symbol_type
3327 {
3329 }
3330#endif
3331#if 201103L <= YY_CPLUSPLUS
3332 static
3333 symbol_type
3335 {
3336 return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3337 }
3338#else
3339 static
3340 symbol_type
3342 {
3343 return symbol_type (token::TOKEN_GLOBAL, l);
3344 }
3345#endif
3346#if 201103L <= YY_CPLUSPLUS
3347 static
3348 symbol_type
3350 {
3351 return symbol_type (token::TOKEN_ALL, std::move (l));
3352 }
3353#else
3354 static
3355 symbol_type
3357 {
3358 return symbol_type (token::TOKEN_ALL, l);
3359 }
3360#endif
3361#if 201103L <= YY_CPLUSPLUS
3362 static
3363 symbol_type
3365 {
3366 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3367 }
3368#else
3369 static
3370 symbol_type
3372 {
3374 }
3375#endif
3376#if 201103L <= YY_CPLUSPLUS
3377 static
3378 symbol_type
3380 {
3381 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3382 }
3383#else
3384 static
3385 symbol_type
3387 {
3389 }
3390#endif
3391#if 201103L <= YY_CPLUSPLUS
3392 static
3393 symbol_type
3395 {
3396 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3397 }
3398#else
3399 static
3400 symbol_type
3402 {
3404 }
3405#endif
3406#if 201103L <= YY_CPLUSPLUS
3407 static
3408 symbol_type
3410 {
3411 return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
3412 }
3413#else
3414 static
3415 symbol_type
3417 {
3419 }
3420#endif
3421#if 201103L <= YY_CPLUSPLUS
3422 static
3423 symbol_type
3425 {
3426 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
3427 }
3428#else
3429 static
3430 symbol_type
3432 {
3434 }
3435#endif
3436#if 201103L <= YY_CPLUSPLUS
3437 static
3438 symbol_type
3440 {
3441 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3442 }
3443#else
3444 static
3445 symbol_type
3447 {
3449 }
3450#endif
3451#if 201103L <= YY_CPLUSPLUS
3452 static
3453 symbol_type
3455 {
3456 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
3457 }
3458#else
3459 static
3460 symbol_type
3462 {
3464 }
3465#endif
3466#if 201103L <= YY_CPLUSPLUS
3467 static
3468 symbol_type
3470 {
3471 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
3472 }
3473#else
3474 static
3475 symbol_type
3477 {
3479 }
3480#endif
3481#if 201103L <= YY_CPLUSPLUS
3482 static
3483 symbol_type
3485 {
3486 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3487 }
3488#else
3489 static
3490 symbol_type
3492 {
3494 }
3495#endif
3496#if 201103L <= YY_CPLUSPLUS
3497 static
3498 symbol_type
3500 {
3501 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3502 }
3503#else
3504 static
3505 symbol_type
3507 {
3509 }
3510#endif
3511#if 201103L <= YY_CPLUSPLUS
3512 static
3513 symbol_type
3515 {
3516 return symbol_type (token::TOKEN_TEST, std::move (l));
3517 }
3518#else
3519 static
3520 symbol_type
3522 {
3523 return symbol_type (token::TOKEN_TEST, l);
3524 }
3525#endif
3526#if 201103L <= YY_CPLUSPLUS
3527 static
3528 symbol_type
3530 {
3531 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3532 }
3533#else
3534 static
3535 symbol_type
3537 {
3539 }
3540#endif
3541#if 201103L <= YY_CPLUSPLUS
3542 static
3543 symbol_type
3545 {
3546 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3547 }
3548#else
3549 static
3550 symbol_type
3552 {
3554 }
3555#endif
3556#if 201103L <= YY_CPLUSPLUS
3557 static
3558 symbol_type
3560 {
3561 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3562 }
3563#else
3564 static
3565 symbol_type
3567 {
3569 }
3570#endif
3571#if 201103L <= YY_CPLUSPLUS
3572 static
3573 symbol_type
3575 {
3576 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3577 }
3578#else
3579 static
3580 symbol_type
3582 {
3584 }
3585#endif
3586#if 201103L <= YY_CPLUSPLUS
3587 static
3588 symbol_type
3590 {
3591 return symbol_type (token::TOKEN_PREFIXES, std::move (l));
3592 }
3593#else
3594 static
3595 symbol_type
3597 {
3599 }
3600#endif
3601#if 201103L <= YY_CPLUSPLUS
3602 static
3603 symbol_type
3605 {
3606 return symbol_type (token::TOKEN_DUID, std::move (l));
3607 }
3608#else
3609 static
3610 symbol_type
3612 {
3613 return symbol_type (token::TOKEN_DUID, l);
3614 }
3615#endif
3616#if 201103L <= YY_CPLUSPLUS
3617 static
3618 symbol_type
3620 {
3621 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3622 }
3623#else
3624 static
3625 symbol_type
3627 {
3629 }
3630#endif
3631#if 201103L <= YY_CPLUSPLUS
3632 static
3633 symbol_type
3635 {
3636 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3637 }
3638#else
3639 static
3640 symbol_type
3642 {
3644 }
3645#endif
3646#if 201103L <= YY_CPLUSPLUS
3647 static
3648 symbol_type
3650 {
3651 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3652 }
3653#else
3654 static
3655 symbol_type
3657 {
3659 }
3660#endif
3661#if 201103L <= YY_CPLUSPLUS
3662 static
3663 symbol_type
3665 {
3666 return symbol_type (token::TOKEN_RELAY, std::move (l));
3667 }
3668#else
3669 static
3670 symbol_type
3672 {
3673 return symbol_type (token::TOKEN_RELAY, l);
3674 }
3675#endif
3676#if 201103L <= YY_CPLUSPLUS
3677 static
3678 symbol_type
3680 {
3681 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3682 }
3683#else
3684 static
3685 symbol_type
3687 {
3689 }
3690#endif
3691#if 201103L <= YY_CPLUSPLUS
3692 static
3693 symbol_type
3695 {
3696 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
3697 }
3698#else
3699 static
3700 symbol_type
3702 {
3704 }
3705#endif
3706#if 201103L <= YY_CPLUSPLUS
3707 static
3708 symbol_type
3710 {
3711 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
3712 }
3713#else
3714 static
3715 symbol_type
3717 {
3719 }
3720#endif
3721#if 201103L <= YY_CPLUSPLUS
3722 static
3723 symbol_type
3725 {
3726 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
3727 }
3728#else
3729 static
3730 symbol_type
3732 {
3734 }
3735#endif
3736#if 201103L <= YY_CPLUSPLUS
3737 static
3738 symbol_type
3740 {
3741 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
3742 }
3743#else
3744 static
3745 symbol_type
3747 {
3749 }
3750#endif
3751#if 201103L <= YY_CPLUSPLUS
3752 static
3753 symbol_type
3755 {
3756 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
3757 }
3758#else
3759 static
3760 symbol_type
3762 {
3764 }
3765#endif
3766#if 201103L <= YY_CPLUSPLUS
3767 static
3768 symbol_type
3770 {
3771 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
3772 }
3773#else
3774 static
3775 symbol_type
3777 {
3779 }
3780#endif
3781#if 201103L <= YY_CPLUSPLUS
3782 static
3783 symbol_type
3785 {
3786 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
3787 }
3788#else
3789 static
3790 symbol_type
3792 {
3794 }
3795#endif
3796#if 201103L <= YY_CPLUSPLUS
3797 static
3798 symbol_type
3800 {
3801 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
3802 }
3803#else
3804 static
3805 symbol_type
3807 {
3809 }
3810#endif
3811#if 201103L <= YY_CPLUSPLUS
3812 static
3813 symbol_type
3815 {
3816 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
3817 }
3818#else
3819 static
3820 symbol_type
3822 {
3824 }
3825#endif
3826#if 201103L <= YY_CPLUSPLUS
3827 static
3828 symbol_type
3830 {
3831 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
3832 }
3833#else
3834 static
3835 symbol_type
3837 {
3839 }
3840#endif
3841#if 201103L <= YY_CPLUSPLUS
3842 static
3843 symbol_type
3845 {
3846 return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
3847 }
3848#else
3849 static
3850 symbol_type
3852 {
3854 }
3855#endif
3856#if 201103L <= YY_CPLUSPLUS
3857 static
3858 symbol_type
3860 {
3861 return symbol_type (token::TOKEN_LLT, std::move (l));
3862 }
3863#else
3864 static
3865 symbol_type
3867 {
3868 return symbol_type (token::TOKEN_LLT, l);
3869 }
3870#endif
3871#if 201103L <= YY_CPLUSPLUS
3872 static
3873 symbol_type
3875 {
3876 return symbol_type (token::TOKEN_EN, std::move (l));
3877 }
3878#else
3879 static
3880 symbol_type
3882 {
3883 return symbol_type (token::TOKEN_EN, l);
3884 }
3885#endif
3886#if 201103L <= YY_CPLUSPLUS
3887 static
3888 symbol_type
3890 {
3891 return symbol_type (token::TOKEN_LL, std::move (l));
3892 }
3893#else
3894 static
3895 symbol_type
3897 {
3898 return symbol_type (token::TOKEN_LL, l);
3899 }
3900#endif
3901#if 201103L <= YY_CPLUSPLUS
3902 static
3903 symbol_type
3905 {
3906 return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
3907 }
3908#else
3909 static
3910 symbol_type
3912 {
3914 }
3915#endif
3916#if 201103L <= YY_CPLUSPLUS
3917 static
3918 symbol_type
3920 {
3921 return symbol_type (token::TOKEN_HTYPE, std::move (l));
3922 }
3923#else
3924 static
3925 symbol_type
3927 {
3928 return symbol_type (token::TOKEN_HTYPE, l);
3929 }
3930#endif
3931#if 201103L <= YY_CPLUSPLUS
3932 static
3933 symbol_type
3935 {
3936 return symbol_type (token::TOKEN_TIME, std::move (l));
3937 }
3938#else
3939 static
3940 symbol_type
3942 {
3943 return symbol_type (token::TOKEN_TIME, l);
3944 }
3945#endif
3946#if 201103L <= YY_CPLUSPLUS
3947 static
3948 symbol_type
3950 {
3951 return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
3952 }
3953#else
3954 static
3955 symbol_type
3957 {
3959 }
3960#endif
3961#if 201103L <= YY_CPLUSPLUS
3962 static
3963 symbol_type
3965 {
3966 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
3967 }
3968#else
3969 static
3970 symbol_type
3972 {
3974 }
3975#endif
3976#if 201103L <= YY_CPLUSPLUS
3977 static
3978 symbol_type
3980 {
3981 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
3982 }
3983#else
3984 static
3985 symbol_type
3987 {
3989 }
3990#endif
3991#if 201103L <= YY_CPLUSPLUS
3992 static
3993 symbol_type
3995 {
3996 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
3997 }
3998#else
3999 static
4000 symbol_type
4002 {
4004 }
4005#endif
4006#if 201103L <= YY_CPLUSPLUS
4007 static
4008 symbol_type
4010 {
4011 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4012 }
4013#else
4014 static
4015 symbol_type
4017 {
4019 }
4020#endif
4021#if 201103L <= YY_CPLUSPLUS
4022 static
4023 symbol_type
4025 {
4026 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4027 }
4028#else
4029 static
4030 symbol_type
4032 {
4034 }
4035#endif
4036#if 201103L <= YY_CPLUSPLUS
4037 static
4038 symbol_type
4040 {
4041 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4042 }
4043#else
4044 static
4045 symbol_type
4047 {
4049 }
4050#endif
4051#if 201103L <= YY_CPLUSPLUS
4052 static
4053 symbol_type
4055 {
4056 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4057 }
4058#else
4059 static
4060 symbol_type
4062 {
4064 }
4065#endif
4066#if 201103L <= YY_CPLUSPLUS
4067 static
4068 symbol_type
4070 {
4071 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4072 }
4073#else
4074 static
4075 symbol_type
4077 {
4079 }
4080#endif
4081#if 201103L <= YY_CPLUSPLUS
4082 static
4083 symbol_type
4085 {
4086 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4087 }
4088#else
4089 static
4090 symbol_type
4092 {
4094 }
4095#endif
4096#if 201103L <= YY_CPLUSPLUS
4097 static
4098 symbol_type
4100 {
4101 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4102 }
4103#else
4104 static
4105 symbol_type
4107 {
4109 }
4110#endif
4111#if 201103L <= YY_CPLUSPLUS
4112 static
4113 symbol_type
4115 {
4116 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4117 }
4118#else
4119 static
4120 symbol_type
4122 {
4124 }
4125#endif
4126#if 201103L <= YY_CPLUSPLUS
4127 static
4128 symbol_type
4130 {
4131 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4132 }
4133#else
4134 static
4135 symbol_type
4137 {
4139 }
4140#endif
4141#if 201103L <= YY_CPLUSPLUS
4142 static
4143 symbol_type
4145 {
4146 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4147 }
4148#else
4149 static
4150 symbol_type
4152 {
4154 }
4155#endif
4156#if 201103L <= YY_CPLUSPLUS
4157 static
4158 symbol_type
4160 {
4161 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4162 }
4163#else
4164 static
4165 symbol_type
4167 {
4169 }
4170#endif
4171#if 201103L <= YY_CPLUSPLUS
4172 static
4173 symbol_type
4175 {
4176 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4177 }
4178#else
4179 static
4180 symbol_type
4182 {
4184 }
4185#endif
4186#if 201103L <= YY_CPLUSPLUS
4187 static
4188 symbol_type
4190 {
4191 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4192 }
4193#else
4194 static
4195 symbol_type
4197 {
4199 }
4200#endif
4201#if 201103L <= YY_CPLUSPLUS
4202 static
4203 symbol_type
4205 {
4206 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4207 }
4208#else
4209 static
4210 symbol_type
4212 {
4214 }
4215#endif
4216#if 201103L <= YY_CPLUSPLUS
4217 static
4218 symbol_type
4220 {
4221 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4222 }
4223#else
4224 static
4225 symbol_type
4227 {
4229 }
4230#endif
4231#if 201103L <= YY_CPLUSPLUS
4232 static
4233 symbol_type
4235 {
4236 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4237 }
4238#else
4239 static
4240 symbol_type
4242 {
4244 }
4245#endif
4246#if 201103L <= YY_CPLUSPLUS
4247 static
4248 symbol_type
4250 {
4251 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4252 }
4253#else
4254 static
4255 symbol_type
4257 {
4259 }
4260#endif
4261#if 201103L <= YY_CPLUSPLUS
4262 static
4263 symbol_type
4265 {
4266 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4267 }
4268#else
4269 static
4270 symbol_type
4272 {
4274 }
4275#endif
4276#if 201103L <= YY_CPLUSPLUS
4277 static
4278 symbol_type
4280 {
4281 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4282 }
4283#else
4284 static
4285 symbol_type
4287 {
4289 }
4290#endif
4291#if 201103L <= YY_CPLUSPLUS
4292 static
4293 symbol_type
4295 {
4296 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4297 }
4298#else
4299 static
4300 symbol_type
4302 {
4304 }
4305#endif
4306#if 201103L <= YY_CPLUSPLUS
4307 static
4308 symbol_type
4310 {
4311 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4312 }
4313#else
4314 static
4315 symbol_type
4317 {
4319 }
4320#endif
4321#if 201103L <= YY_CPLUSPLUS
4322 static
4323 symbol_type
4325 {
4326 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4327 }
4328#else
4329 static
4330 symbol_type
4332 {
4334 }
4335#endif
4336#if 201103L <= YY_CPLUSPLUS
4337 static
4338 symbol_type
4340 {
4341 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4342 }
4343#else
4344 static
4345 symbol_type
4347 {
4349 }
4350#endif
4351#if 201103L <= YY_CPLUSPLUS
4352 static
4353 symbol_type
4355 {
4356 return symbol_type (token::TOKEN_UDP, std::move (l));
4357 }
4358#else
4359 static
4360 symbol_type
4362 {
4363 return symbol_type (token::TOKEN_UDP, l);
4364 }
4365#endif
4366#if 201103L <= YY_CPLUSPLUS
4367 static
4368 symbol_type
4370 {
4371 return symbol_type (token::TOKEN_TCP, std::move (l));
4372 }
4373#else
4374 static
4375 symbol_type
4377 {
4378 return symbol_type (token::TOKEN_TCP, l);
4379 }
4380#endif
4381#if 201103L <= YY_CPLUSPLUS
4382 static
4383 symbol_type
4385 {
4386 return symbol_type (token::TOKEN_JSON, std::move (l));
4387 }
4388#else
4389 static
4390 symbol_type
4392 {
4393 return symbol_type (token::TOKEN_JSON, l);
4394 }
4395#endif
4396#if 201103L <= YY_CPLUSPLUS
4397 static
4398 symbol_type
4400 {
4401 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4402 }
4403#else
4404 static
4405 symbol_type
4407 {
4409 }
4410#endif
4411#if 201103L <= YY_CPLUSPLUS
4412 static
4413 symbol_type
4415 {
4416 return symbol_type (token::TOKEN_NEVER, std::move (l));
4417 }
4418#else
4419 static
4420 symbol_type
4422 {
4423 return symbol_type (token::TOKEN_NEVER, l);
4424 }
4425#endif
4426#if 201103L <= YY_CPLUSPLUS
4427 static
4428 symbol_type
4430 {
4431 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4432 }
4433#else
4434 static
4435 symbol_type
4437 {
4438 return symbol_type (token::TOKEN_ALWAYS, l);
4439 }
4440#endif
4441#if 201103L <= YY_CPLUSPLUS
4442 static
4443 symbol_type
4445 {
4446 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4447 }
4448#else
4449 static
4450 symbol_type
4452 {
4454 }
4455#endif
4456#if 201103L <= YY_CPLUSPLUS
4457 static
4458 symbol_type
4460 {
4461 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4462 }
4463#else
4464 static
4465 symbol_type
4467 {
4469 }
4470#endif
4471#if 201103L <= YY_CPLUSPLUS
4472 static
4473 symbol_type
4475 {
4476 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4477 }
4478#else
4479 static
4480 symbol_type
4482 {
4484 }
4485#endif
4486#if 201103L <= YY_CPLUSPLUS
4487 static
4488 symbol_type
4490 {
4491 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4492 }
4493#else
4494 static
4495 symbol_type
4497 {
4499 }
4500#endif
4501#if 201103L <= YY_CPLUSPLUS
4502 static
4503 symbol_type
4505 {
4506 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4507 }
4508#else
4509 static
4510 symbol_type
4512 {
4514 }
4515#endif
4516#if 201103L <= YY_CPLUSPLUS
4517 static
4518 symbol_type
4520 {
4521 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4522 }
4523#else
4524 static
4525 symbol_type
4527 {
4529 }
4530#endif
4531#if 201103L <= YY_CPLUSPLUS
4532 static
4533 symbol_type
4535 {
4536 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4537 }
4538#else
4539 static
4540 symbol_type
4542 {
4543 return symbol_type (token::TOKEN_OUTPUT, l);
4544 }
4545#endif
4546#if 201103L <= YY_CPLUSPLUS
4547 static
4548 symbol_type
4550 {
4551 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4552 }
4553#else
4554 static
4555 symbol_type
4557 {
4559 }
4560#endif
4561#if 201103L <= YY_CPLUSPLUS
4562 static
4563 symbol_type
4565 {
4566 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4567 }
4568#else
4569 static
4570 symbol_type
4572 {
4574 }
4575#endif
4576#if 201103L <= YY_CPLUSPLUS
4577 static
4578 symbol_type
4580 {
4581 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4582 }
4583#else
4584 static
4585 symbol_type
4587 {
4588 return symbol_type (token::TOKEN_FLUSH, l);
4589 }
4590#endif
4591#if 201103L <= YY_CPLUSPLUS
4592 static
4593 symbol_type
4595 {
4596 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4597 }
4598#else
4599 static
4600 symbol_type
4602 {
4604 }
4605#endif
4606#if 201103L <= YY_CPLUSPLUS
4607 static
4608 symbol_type
4610 {
4611 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4612 }
4613#else
4614 static
4615 symbol_type
4617 {
4618 return symbol_type (token::TOKEN_MAXVER, l);
4619 }
4620#endif
4621#if 201103L <= YY_CPLUSPLUS
4622 static
4623 symbol_type
4625 {
4626 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4627 }
4628#else
4629 static
4630 symbol_type
4632 {
4634 }
4635#endif
4636#if 201103L <= YY_CPLUSPLUS
4637 static
4638 symbol_type
4640 {
4641 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4642 }
4643#else
4644 static
4645 symbol_type
4647 {
4649 }
4650#endif
4651#if 201103L <= YY_CPLUSPLUS
4652 static
4653 symbol_type
4655 {
4656 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4657 }
4658#else
4659 static
4660 symbol_type
4662 {
4664 }
4665#endif
4666#if 201103L <= YY_CPLUSPLUS
4667 static
4668 symbol_type
4670 {
4671 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4672 }
4673#else
4674 static
4675 symbol_type
4677 {
4679 }
4680#endif
4681#if 201103L <= YY_CPLUSPLUS
4682 static
4683 symbol_type
4685 {
4686 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
4687 }
4688#else
4689 static
4690 symbol_type
4692 {
4694 }
4695#endif
4696#if 201103L <= YY_CPLUSPLUS
4697 static
4698 symbol_type
4700 {
4701 return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
4702 }
4703#else
4704 static
4705 symbol_type
4707 {
4709 }
4710#endif
4711#if 201103L <= YY_CPLUSPLUS
4712 static
4713 symbol_type
4715 {
4716 return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
4717 }
4718#else
4719 static
4720 symbol_type
4722 {
4724 }
4725#endif
4726#if 201103L <= YY_CPLUSPLUS
4727 static
4728 symbol_type
4730 {
4731 return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
4732 }
4733#else
4734 static
4735 symbol_type
4737 {
4739 }
4740#endif
4741#if 201103L <= YY_CPLUSPLUS
4742 static
4743 symbol_type
4745 {
4746 return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
4747 }
4748#else
4749 static
4750 symbol_type
4752 {
4754 }
4755#endif
4756#if 201103L <= YY_CPLUSPLUS
4757 static
4758 symbol_type
4760 {
4761 return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
4762 }
4763#else
4764 static
4765 symbol_type
4767 {
4769 }
4770#endif
4771#if 201103L <= YY_CPLUSPLUS
4772 static
4773 symbol_type
4775 {
4776 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
4777 }
4778#else
4779 static
4780 symbol_type
4782 {
4784 }
4785#endif
4786#if 201103L <= YY_CPLUSPLUS
4787 static
4788 symbol_type
4790 {
4791 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
4792 }
4793#else
4794 static
4795 symbol_type
4797 {
4799 }
4800#endif
4801#if 201103L <= YY_CPLUSPLUS
4802 static
4803 symbol_type
4805 {
4806 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
4807 }
4808#else
4809 static
4810 symbol_type
4812 {
4814 }
4815#endif
4816#if 201103L <= YY_CPLUSPLUS
4817 static
4818 symbol_type
4820 {
4821 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
4822 }
4823#else
4824 static
4825 symbol_type
4827 {
4829 }
4830#endif
4831#if 201103L <= YY_CPLUSPLUS
4832 static
4833 symbol_type
4835 {
4836 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
4837 }
4838#else
4839 static
4840 symbol_type
4842 {
4844 }
4845#endif
4846#if 201103L <= YY_CPLUSPLUS
4847 static
4848 symbol_type
4850 {
4851 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
4852 }
4853#else
4854 static
4855 symbol_type
4857 {
4859 }
4860#endif
4861#if 201103L <= YY_CPLUSPLUS
4862 static
4863 symbol_type
4865 {
4866 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
4867 }
4868#else
4869 static
4870 symbol_type
4872 {
4874 }
4875#endif
4876#if 201103L <= YY_CPLUSPLUS
4877 static
4878 symbol_type
4879 make_STRING (std::string v, location_type l)
4880 {
4881 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
4882 }
4883#else
4884 static
4885 symbol_type
4886 make_STRING (const std::string& v, const location_type& l)
4887 {
4888 return symbol_type (token::TOKEN_STRING, v, l);
4889 }
4890#endif
4891#if 201103L <= YY_CPLUSPLUS
4892 static
4893 symbol_type
4894 make_INTEGER (int64_t v, location_type l)
4895 {
4896 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
4897 }
4898#else
4899 static
4900 symbol_type
4901 make_INTEGER (const int64_t& v, const location_type& l)
4902 {
4903 return symbol_type (token::TOKEN_INTEGER, v, l);
4904 }
4905#endif
4906#if 201103L <= YY_CPLUSPLUS
4907 static
4908 symbol_type
4909 make_FLOAT (double v, location_type l)
4910 {
4911 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
4912 }
4913#else
4914 static
4915 symbol_type
4916 make_FLOAT (const double& v, const location_type& l)
4917 {
4918 return symbol_type (token::TOKEN_FLOAT, v, l);
4919 }
4920#endif
4921#if 201103L <= YY_CPLUSPLUS
4922 static
4923 symbol_type
4924 make_BOOLEAN (bool v, location_type l)
4925 {
4926 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
4927 }
4928#else
4929 static
4930 symbol_type
4931 make_BOOLEAN (const bool& v, const location_type& l)
4932 {
4933 return symbol_type (token::TOKEN_BOOLEAN, v, l);
4934 }
4935#endif
4936
4937
4939 {
4940 public:
4941 context (const Dhcp6Parser& yyparser, const symbol_type& yyla);
4942 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
4943 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
4944 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
4945
4949 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
4950
4951 private:
4952 const Dhcp6Parser& yyparser_;
4953 const symbol_type& yyla_;
4954 };
4955
4956 private:
4957#if YY_CPLUSPLUS < 201103L
4959 Dhcp6Parser (const Dhcp6Parser&);
4961 Dhcp6Parser& operator= (const Dhcp6Parser&);
4962#endif
4963
4964
4966 typedef short state_type;
4967
4969 int yy_syntax_error_arguments_ (const context& yyctx,
4970 symbol_kind_type yyarg[], int yyargn) const;
4971
4974 virtual std::string yysyntax_error_ (const context& yyctx) const;
4978 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
4979
4982 static bool yy_pact_value_is_default_ (int yyvalue);
4983
4986 static bool yy_table_value_is_error_ (int yyvalue);
4987
4988 static const short yypact_ninf_;
4989 static const signed char yytable_ninf_;
4990
4994 static symbol_kind_type yytranslate_ (int t);
4995
4997 static std::string yytnamerr_ (const char *yystr);
4998
5000 static const char* const yytname_[];
5001
5002
5003 // Tables.
5004 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5005 // STATE-NUM.
5006 static const short yypact_[];
5007
5008 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5009 // Performed when YYTABLE does not specify something else to do. Zero
5010 // means the default is an error.
5011 static const short yydefact_[];
5012
5013 // YYPGOTO[NTERM-NUM].
5014 static const short yypgoto_[];
5015
5016 // YYDEFGOTO[NTERM-NUM].
5017 static const short yydefgoto_[];
5018
5019 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5020 // positive, shift that token. If negative, reduce the rule whose
5021 // number is the opposite. If YYTABLE_NINF, syntax error.
5022 static const short yytable_[];
5023
5024 static const short yycheck_[];
5025
5026 // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
5027 // symbol of state STATE-NUM.
5028 static const short yystos_[];
5029
5030 // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
5031 static const short yyr1_[];
5032
5033 // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
5034 static const signed char yyr2_[];
5035
5036
5037#if PARSER6_DEBUG
5038 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5039 static const short yyrline_[];
5041 virtual void yy_reduce_print_ (int r) const;
5043 virtual void yy_stack_print_ () const;
5044
5046 int yydebug_;
5048 std::ostream* yycdebug_;
5049
5053 template <typename Base>
5054 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5055#endif
5056
5061 template <typename Base>
5062 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5063
5064 private:
5066 struct by_state
5067 {
5069 by_state () YY_NOEXCEPT;
5070
5072 typedef state_type kind_type;
5073
5075 by_state (kind_type s) YY_NOEXCEPT;
5076
5078 by_state (const by_state& that) YY_NOEXCEPT;
5079
5081 void clear () YY_NOEXCEPT;
5082
5084 void move (by_state& that);
5085
5088 symbol_kind_type kind () const YY_NOEXCEPT;
5089
5092 enum { empty_state = 0 };
5093
5096 state_type state;
5097 };
5098
5100 struct stack_symbol_type : basic_symbol<by_state>
5101 {
5103 typedef basic_symbol<by_state> super_type;
5105 stack_symbol_type ();
5107 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5109 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5110#if YY_CPLUSPLUS < 201103L
5113 stack_symbol_type& operator= (stack_symbol_type& that);
5114
5117 stack_symbol_type& operator= (const stack_symbol_type& that);
5118#endif
5119 };
5120
5122 template <typename T, typename S = std::vector<T> >
5123 class stack
5124 {
5125 public:
5126 // Hide our reversed order.
5127 typedef typename S::iterator iterator;
5128 typedef typename S::const_iterator const_iterator;
5129 typedef typename S::size_type size_type;
5130 typedef typename std::ptrdiff_t index_type;
5131
5132 stack (size_type n = 200)
5133 : seq_ (n)
5134 {}
5135
5136#if 201103L <= YY_CPLUSPLUS
5138 stack (const stack&) = delete;
5140 stack& operator= (const stack&) = delete;
5141#endif
5142
5146 const T&
5147 operator[] (index_type i) const
5148 {
5149 return seq_[size_type (size () - 1 - i)];
5150 }
5151
5155 T&
5156 operator[] (index_type i)
5157 {
5158 return seq_[size_type (size () - 1 - i)];
5159 }
5160
5164 void
5165 push (YY_MOVE_REF (T) t)
5166 {
5167 seq_.push_back (T ());
5168 operator[] (0).move (t);
5169 }
5170
5172 void
5173 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5174 {
5175 for (; 0 < n; --n)
5176 seq_.pop_back ();
5177 }
5178
5180 void
5181 clear () YY_NOEXCEPT
5182 {
5183 seq_.clear ();
5184 }
5185
5187 index_type
5188 size () const YY_NOEXCEPT
5189 {
5190 return index_type (seq_.size ());
5191 }
5192
5194 const_iterator
5195 begin () const YY_NOEXCEPT
5196 {
5197 return seq_.begin ();
5198 }
5199
5201 const_iterator
5202 end () const YY_NOEXCEPT
5203 {
5204 return seq_.end ();
5205 }
5206
5208 class slice
5209 {
5210 public:
5211 slice (const stack& stack, index_type range)
5212 : stack_ (stack)
5213 , range_ (range)
5214 {}
5215
5216 const T&
5217 operator[] (index_type i) const
5218 {
5219 return stack_[range_ - i];
5220 }
5221
5222 private:
5223 const stack& stack_;
5224 index_type range_;
5225 };
5226
5227 private:
5228#if YY_CPLUSPLUS < 201103L
5230 stack (const stack&);
5232 stack& operator= (const stack&);
5233#endif
5235 S seq_;
5236 };
5237
5238
5240 typedef stack<stack_symbol_type> stack_type;
5241
5243 stack_type yystack_;
5244
5250 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5251
5258 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5259
5261 void yypop_ (int n = 1);
5262
5264 enum
5265 {
5266 yylast_ = 1314,
5267 yynnts_ = 438,
5268 yyfinal_ = 30
5269 };
5270
5271
5272 // User arguments.
5274
5275 };
5276
5277 inline
5279 Dhcp6Parser::yytranslate_ (int t)
5280 {
5281 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
5282 // TOKEN-NUM as returned by yylex.
5283 static
5284 const unsigned char
5285 translate_table[] =
5286 {
5287 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5288 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5289 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5290 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5291 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5292 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5293 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5294 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5295 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5296 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5297 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5298 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5299 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5300 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5301 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5302 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5303 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5304 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5305 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5306 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5307 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5308 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5309 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5310 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5311 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5312 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5313 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5314 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5315 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5316 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5317 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5318 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5319 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5320 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5321 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5322 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5323 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5324 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5325 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5326 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5327 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5328 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5329 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5330 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5331 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5332 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5333 205, 206, 207, 208, 209, 210, 211
5334 };
5335 // Last valid token kind.
5336 const int code_max = 466;
5337
5338 if (t <= 0)
5339 return symbol_kind::S_YYEOF;
5340 else if (t <= code_max)
5341 return YY_CAST (symbol_kind_type, translate_table[t]);
5342 else
5344 }
5345
5346 // basic_symbol.
5347 template <typename Base>
5349 : Base (that)
5350 , value ()
5351 , location (that.location)
5352 {
5353 switch (this->kind ())
5354 {
5355 case symbol_kind::S_value: // value
5356 case symbol_kind::S_map_value: // map_value
5357 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5358 case symbol_kind::S_db_type: // db_type
5359 case symbol_kind::S_on_fail_mode: // on_fail_mode
5360 case symbol_kind::S_hr_mode: // hr_mode
5361 case symbol_kind::S_duid_type: // duid_type
5362 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5363 value.copy< ElementPtr > (YY_MOVE (that.value));
5364 break;
5365
5366 case symbol_kind::S_BOOLEAN: // "boolean"
5367 value.copy< bool > (YY_MOVE (that.value));
5368 break;
5369
5370 case symbol_kind::S_FLOAT: // "floating point"
5371 value.copy< double > (YY_MOVE (that.value));
5372 break;
5373
5374 case symbol_kind::S_INTEGER: // "integer"
5375 value.copy< int64_t > (YY_MOVE (that.value));
5376 break;
5377
5378 case symbol_kind::S_STRING: // "constant string"
5379 value.copy< std::string > (YY_MOVE (that.value));
5380 break;
5381
5382 default:
5383 break;
5384 }
5385
5386 }
5387
5388
5389
5390 template <typename Base>
5393 {
5394 return this->kind ();
5395 }
5396
5397 template <typename Base>
5398 bool
5400 {
5401 return this->kind () == symbol_kind::S_YYEMPTY;
5402 }
5403
5404 template <typename Base>
5405 void
5407 {
5408 super_type::move (s);
5409 switch (this->kind ())
5410 {
5411 case symbol_kind::S_value: // value
5412 case symbol_kind::S_map_value: // map_value
5413 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5414 case symbol_kind::S_db_type: // db_type
5415 case symbol_kind::S_on_fail_mode: // on_fail_mode
5416 case symbol_kind::S_hr_mode: // hr_mode
5417 case symbol_kind::S_duid_type: // duid_type
5418 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5419 value.move< ElementPtr > (YY_MOVE (s.value));
5420 break;
5421
5422 case symbol_kind::S_BOOLEAN: // "boolean"
5423 value.move< bool > (YY_MOVE (s.value));
5424 break;
5425
5426 case symbol_kind::S_FLOAT: // "floating point"
5427 value.move< double > (YY_MOVE (s.value));
5428 break;
5429
5430 case symbol_kind::S_INTEGER: // "integer"
5431 value.move< int64_t > (YY_MOVE (s.value));
5432 break;
5433
5434 case symbol_kind::S_STRING: // "constant string"
5435 value.move< std::string > (YY_MOVE (s.value));
5436 break;
5437
5438 default:
5439 break;
5440 }
5441
5442 location = YY_MOVE (s.location);
5443 }
5444
5445 // by_kind.
5446 inline
5448 : kind_ (symbol_kind::S_YYEMPTY)
5449 {}
5450
5451#if 201103L <= YY_CPLUSPLUS
5452 inline
5454 : kind_ (that.kind_)
5455 {
5456 that.clear ();
5457 }
5458#endif
5459
5460 inline
5462 : kind_ (that.kind_)
5463 {}
5464
5465 inline
5467 : kind_ (yytranslate_ (t))
5468 {}
5469
5470 inline
5471 void
5473 {
5474 kind_ = symbol_kind::S_YYEMPTY;
5475 }
5476
5477 inline
5478 void
5480 {
5481 kind_ = that.kind_;
5482 that.clear ();
5483 }
5484
5485 inline
5488 {
5489 return kind_;
5490 }
5491
5492 inline
5495 {
5496 return this->kind ();
5497 }
5498
5499#line 14 "dhcp6_parser.yy"
5500} } // isc::dhcp
5501#line 5502 "dhcp6_parser.h"
5502
5503
5504
5505
5506#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
A buffer to store and retrieve objects.
Definition: dhcp6_parser.h:219
T & as() YY_NOEXCEPT
Accessor to a built T.
Definition: dhcp6_parser.h:308
void copy(const self_type &that)
Copy the content of that to this.
Definition: dhcp6_parser.h:374
semantic_type(YY_RVREF(T) t)
Construct and fill.
Definition: dhcp6_parser.h:232
semantic_type self_type
Type of *this.
Definition: dhcp6_parser.h:222
semantic_type() YY_NOEXCEPT
Empty construction.
Definition: dhcp6_parser.h:225
T & build()
Instantiate an empty T in here.
Definition: dhcp6_parser.h:291
void destroy()
Destroy the stored T.
Definition: dhcp6_parser.h:382
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
Definition: dhcp6_parser.h:337
const T & as() const YY_NOEXCEPT
Const accessor to a built T (for printer).
Definition: dhcp6_parser.h:319
void move(self_type &that)
Move the content of that to this.
Definition: dhcp6_parser.h:349
char yyraw[size]
A buffer large enough to store any of the semantic values.
Definition: dhcp6_parser.h:449
long double yyalign_me
Strongest alignment constraints.
Definition: dhcp6_parser.h:447
~semantic_type() YY_NOEXCEPT
Destruction, allowed only if empty.
Definition: dhcp6_parser.h:247
T & emplace(const T &t)
Instantiate a T in here from t.
Definition: dhcp6_parser.h:278
T & emplace()
Instantiate an empty T in here.
Definition: dhcp6_parser.h:267
T & build(const T &t)
Instantiate a T in here from t.
Definition: dhcp6_parser.h:300
Present a slice of the top of a stack.
slice(const stack &stack, index_type range)
A Bison parser.
Definition: dhcp6_parser.h:210
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)
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)
token::yytokentype token_kind_type
Token kind, as returned by yylex.
Definition: dhcp6_parser.h:704
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)
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)
location location_type
Symbol locations.
Definition: dhcp6_parser.h:460
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:707
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_CAST(Type, Val)
Definition: dhcp6_parser.h:172
#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.
location_type location
The location.
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.
basic_symbol()
Default constructor.
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)
semantic_type value
The semantic value.
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).
by_kind()
Default constructor.
token_kind_type kind_type
The symbol kind as needed by the constructor.
symbol_kind_type kind_
The symbol kind.
void clear() YY_NOEXCEPT
Record that this symbol is empty.
"External" symbols: returned by the scanner.
basic_symbol< by_kind > super_type
Superclass.
Syntax errors thrown from user actions.
Definition: dhcp6_parser.h:464
syntax_error(const location_type &l, const std::string &m)
Definition: dhcp6_parser.h:465
syntax_error(const syntax_error &s)
Definition: dhcp6_parser.h:470
~syntax_error() YY_NOEXCEPT YY_NOTHROW
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).
Definition: dhcp6_parser.h:700