Kea 2.0.0
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_PARKED_PACKET_LIMIT = 341, // "parked-packet-limit"
573 TOKEN_SHARED_NETWORKS = 342, // "shared-networks"
574 TOKEN_POOLS = 343, // "pools"
575 TOKEN_POOL = 344, // "pool"
576 TOKEN_PD_POOLS = 345, // "pd-pools"
577 TOKEN_PREFIX = 346, // "prefix"
578 TOKEN_PREFIX_LEN = 347, // "prefix-len"
579 TOKEN_EXCLUDED_PREFIX = 348, // "excluded-prefix"
580 TOKEN_EXCLUDED_PREFIX_LEN = 349, // "excluded-prefix-len"
581 TOKEN_DELEGATED_LEN = 350, // "delegated-len"
582 TOKEN_USER_CONTEXT = 351, // "user-context"
583 TOKEN_COMMENT = 352, // "comment"
584 TOKEN_SUBNET = 353, // "subnet"
585 TOKEN_INTERFACE = 354, // "interface"
586 TOKEN_INTERFACE_ID = 355, // "interface-id"
587 TOKEN_ID = 356, // "id"
588 TOKEN_RAPID_COMMIT = 357, // "rapid-commit"
589 TOKEN_RESERVATION_MODE = 358, // "reservation-mode"
590 TOKEN_DISABLED = 359, // "disabled"
591 TOKEN_OUT_OF_POOL = 360, // "out-of-pool"
592 TOKEN_GLOBAL = 361, // "global"
593 TOKEN_ALL = 362, // "all"
594 TOKEN_RESERVATIONS_GLOBAL = 363, // "reservations-global"
595 TOKEN_RESERVATIONS_IN_SUBNET = 364, // "reservations-in-subnet"
596 TOKEN_RESERVATIONS_OUT_OF_POOL = 365, // "reservations-out-of-pool"
597 TOKEN_MAC_SOURCES = 366, // "mac-sources"
598 TOKEN_RELAY_SUPPLIED_OPTIONS = 367, // "relay-supplied-options"
599 TOKEN_HOST_RESERVATION_IDENTIFIERS = 368, // "host-reservation-identifiers"
600 TOKEN_SANITY_CHECKS = 369, // "sanity-checks"
601 TOKEN_LEASE_CHECKS = 370, // "lease-checks"
602 TOKEN_CLIENT_CLASSES = 371, // "client-classes"
603 TOKEN_REQUIRE_CLIENT_CLASSES = 372, // "require-client-classes"
604 TOKEN_TEST = 373, // "test"
605 TOKEN_ONLY_IF_REQUIRED = 374, // "only-if-required"
606 TOKEN_CLIENT_CLASS = 375, // "client-class"
607 TOKEN_RESERVATIONS = 376, // "reservations"
608 TOKEN_IP_ADDRESSES = 377, // "ip-addresses"
609 TOKEN_PREFIXES = 378, // "prefixes"
610 TOKEN_DUID = 379, // "duid"
611 TOKEN_HW_ADDRESS = 380, // "hw-address"
612 TOKEN_HOSTNAME = 381, // "hostname"
613 TOKEN_FLEX_ID = 382, // "flex-id"
614 TOKEN_RELAY = 383, // "relay"
615 TOKEN_IP_ADDRESS = 384, // "ip-address"
616 TOKEN_HOOKS_LIBRARIES = 385, // "hooks-libraries"
617 TOKEN_LIBRARY = 386, // "library"
618 TOKEN_PARAMETERS = 387, // "parameters"
619 TOKEN_EXPIRED_LEASES_PROCESSING = 388, // "expired-leases-processing"
620 TOKEN_RECLAIM_TIMER_WAIT_TIME = 389, // "reclaim-timer-wait-time"
621 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 390, // "flush-reclaimed-timer-wait-time"
622 TOKEN_HOLD_RECLAIMED_TIME = 391, // "hold-reclaimed-time"
623 TOKEN_MAX_RECLAIM_LEASES = 392, // "max-reclaim-leases"
624 TOKEN_MAX_RECLAIM_TIME = 393, // "max-reclaim-time"
625 TOKEN_UNWARNED_RECLAIM_CYCLES = 394, // "unwarned-reclaim-cycles"
626 TOKEN_SERVER_ID = 395, // "server-id"
627 TOKEN_LLT = 396, // "LLT"
628 TOKEN_EN = 397, // "EN"
629 TOKEN_LL = 398, // "LL"
630 TOKEN_IDENTIFIER = 399, // "identifier"
631 TOKEN_HTYPE = 400, // "htype"
632 TOKEN_TIME = 401, // "time"
633 TOKEN_ENTERPRISE_ID = 402, // "enterprise-id"
634 TOKEN_DHCP4O6_PORT = 403, // "dhcp4o6-port"
635 TOKEN_DHCP_MULTI_THREADING = 404, // "multi-threading"
636 TOKEN_ENABLE_MULTI_THREADING = 405, // "enable-multi-threading"
637 TOKEN_THREAD_POOL_SIZE = 406, // "thread-pool-size"
638 TOKEN_PACKET_QUEUE_SIZE = 407, // "packet-queue-size"
639 TOKEN_CONTROL_SOCKET = 408, // "control-socket"
640 TOKEN_SOCKET_TYPE = 409, // "socket-type"
641 TOKEN_SOCKET_NAME = 410, // "socket-name"
642 TOKEN_DHCP_QUEUE_CONTROL = 411, // "dhcp-queue-control"
643 TOKEN_ENABLE_QUEUE = 412, // "enable-queue"
644 TOKEN_QUEUE_TYPE = 413, // "queue-type"
645 TOKEN_CAPACITY = 414, // "capacity"
646 TOKEN_DHCP_DDNS = 415, // "dhcp-ddns"
647 TOKEN_ENABLE_UPDATES = 416, // "enable-updates"
648 TOKEN_QUALIFYING_SUFFIX = 417, // "qualifying-suffix"
649 TOKEN_SERVER_IP = 418, // "server-ip"
650 TOKEN_SERVER_PORT = 419, // "server-port"
651 TOKEN_SENDER_IP = 420, // "sender-ip"
652 TOKEN_SENDER_PORT = 421, // "sender-port"
653 TOKEN_MAX_QUEUE_SIZE = 422, // "max-queue-size"
654 TOKEN_NCR_PROTOCOL = 423, // "ncr-protocol"
655 TOKEN_NCR_FORMAT = 424, // "ncr-format"
656 TOKEN_OVERRIDE_NO_UPDATE = 425, // "override-no-update"
657 TOKEN_OVERRIDE_CLIENT_UPDATE = 426, // "override-client-update"
658 TOKEN_REPLACE_CLIENT_NAME = 427, // "replace-client-name"
659 TOKEN_GENERATED_PREFIX = 428, // "generated-prefix"
660 TOKEN_UDP = 429, // "UDP"
661 TOKEN_TCP = 430, // "TCP"
662 TOKEN_JSON = 431, // "JSON"
663 TOKEN_WHEN_PRESENT = 432, // "when-present"
664 TOKEN_NEVER = 433, // "never"
665 TOKEN_ALWAYS = 434, // "always"
666 TOKEN_WHEN_NOT_PRESENT = 435, // "when-not-present"
667 TOKEN_HOSTNAME_CHAR_SET = 436, // "hostname-char-set"
668 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 437, // "hostname-char-replacement"
669 TOKEN_IP_RESERVATIONS_UNIQUE = 438, // "ip-reservations-unique"
670 TOKEN_LOGGERS = 439, // "loggers"
671 TOKEN_OUTPUT_OPTIONS = 440, // "output_options"
672 TOKEN_OUTPUT = 441, // "output"
673 TOKEN_DEBUGLEVEL = 442, // "debuglevel"
674 TOKEN_SEVERITY = 443, // "severity"
675 TOKEN_FLUSH = 444, // "flush"
676 TOKEN_MAXSIZE = 445, // "maxsize"
677 TOKEN_MAXVER = 446, // "maxver"
678 TOKEN_PATTERN = 447, // "pattern"
679 TOKEN_COMPATIBILITY = 448, // "compatibility"
680 TOKEN_LENIENT_OPTION_PARSING = 449, // "lenient-option-parsing"
681 TOKEN_TOPLEVEL_JSON = 450, // TOPLEVEL_JSON
682 TOKEN_TOPLEVEL_DHCP6 = 451, // TOPLEVEL_DHCP6
683 TOKEN_SUB_DHCP6 = 452, // SUB_DHCP6
684 TOKEN_SUB_INTERFACES6 = 453, // SUB_INTERFACES6
685 TOKEN_SUB_SUBNET6 = 454, // SUB_SUBNET6
686 TOKEN_SUB_POOL6 = 455, // SUB_POOL6
687 TOKEN_SUB_PD_POOL = 456, // SUB_PD_POOL
688 TOKEN_SUB_RESERVATION = 457, // SUB_RESERVATION
689 TOKEN_SUB_OPTION_DEFS = 458, // SUB_OPTION_DEFS
690 TOKEN_SUB_OPTION_DEF = 459, // SUB_OPTION_DEF
691 TOKEN_SUB_OPTION_DATA = 460, // SUB_OPTION_DATA
692 TOKEN_SUB_HOOKS_LIBRARY = 461, // SUB_HOOKS_LIBRARY
693 TOKEN_SUB_DHCP_DDNS = 462, // SUB_DHCP_DDNS
694 TOKEN_SUB_CONFIG_CONTROL = 463, // SUB_CONFIG_CONTROL
695 TOKEN_STRING = 464, // "constant string"
696 TOKEN_INTEGER = 465, // "integer"
697 TOKEN_FLOAT = 466, // "floating point"
698 TOKEN_BOOLEAN = 467 // "boolean"
699 };
702 };
703
706
709
712 {
714 {
715 YYNTOKENS = 213,
716 S_YYEMPTY = -2,
717 S_YYEOF = 0, // "end of file"
718 S_YYerror = 1, // error
719 S_YYUNDEF = 2, // "invalid token"
720 S_COMMA = 3, // ","
721 S_COLON = 4, // ":"
722 S_LSQUARE_BRACKET = 5, // "["
723 S_RSQUARE_BRACKET = 6, // "]"
724 S_LCURLY_BRACKET = 7, // "{"
725 S_RCURLY_BRACKET = 8, // "}"
726 S_NULL_TYPE = 9, // "null"
727 S_DHCP6 = 10, // "Dhcp6"
728 S_DATA_DIRECTORY = 11, // "data-directory"
729 S_CONFIG_CONTROL = 12, // "config-control"
730 S_CONFIG_DATABASES = 13, // "config-databases"
731 S_CONFIG_FETCH_WAIT_TIME = 14, // "config-fetch-wait-time"
732 S_INTERFACES_CONFIG = 15, // "interfaces-config"
733 S_INTERFACES = 16, // "interfaces"
734 S_RE_DETECT = 17, // "re-detect"
735 S_LEASE_DATABASE = 18, // "lease-database"
736 S_HOSTS_DATABASE = 19, // "hosts-database"
737 S_HOSTS_DATABASES = 20, // "hosts-databases"
738 S_TYPE = 21, // "type"
739 S_MEMFILE = 22, // "memfile"
740 S_MYSQL = 23, // "mysql"
741 S_POSTGRESQL = 24, // "postgresql"
742 S_CQL = 25, // "cql"
743 S_USER = 26, // "user"
744 S_PASSWORD = 27, // "password"
745 S_HOST = 28, // "host"
746 S_PORT = 29, // "port"
747 S_PERSIST = 30, // "persist"
748 S_LFC_INTERVAL = 31, // "lfc-interval"
749 S_READONLY = 32, // "readonly"
750 S_CONNECT_TIMEOUT = 33, // "connect-timeout"
751 S_CONTACT_POINTS = 34, // "contact-points"
752 S_MAX_RECONNECT_TRIES = 35, // "max-reconnect-tries"
753 S_RECONNECT_WAIT_TIME = 36, // "reconnect-wait-time"
754 S_ON_FAIL = 37, // "on-fail"
755 S_STOP_RETRY_EXIT = 38, // "stop-retry-exit"
756 S_SERVE_RETRY_EXIT = 39, // "serve-retry-exit"
757 S_SERVE_RETRY_CONTINUE = 40, // "serve-retry-continue"
758 S_KEYSPACE = 41, // "keyspace"
759 S_CONSISTENCY = 42, // "consistency"
760 S_SERIAL_CONSISTENCY = 43, // "serial-consistency"
761 S_REQUEST_TIMEOUT = 44, // "request-timeout"
762 S_TCP_KEEPALIVE = 45, // "tcp-keepalive"
763 S_TCP_NODELAY = 46, // "tcp-nodelay"
764 S_MAX_ROW_ERRORS = 47, // "max-row-errors"
765 S_PREFERRED_LIFETIME = 48, // "preferred-lifetime"
766 S_MIN_PREFERRED_LIFETIME = 49, // "min-preferred-lifetime"
767 S_MAX_PREFERRED_LIFETIME = 50, // "max-preferred-lifetime"
768 S_VALID_LIFETIME = 51, // "valid-lifetime"
769 S_MIN_VALID_LIFETIME = 52, // "min-valid-lifetime"
770 S_MAX_VALID_LIFETIME = 53, // "max-valid-lifetime"
771 S_RENEW_TIMER = 54, // "renew-timer"
772 S_REBIND_TIMER = 55, // "rebind-timer"
773 S_CALCULATE_TEE_TIMES = 56, // "calculate-tee-times"
774 S_T1_PERCENT = 57, // "t1-percent"
775 S_T2_PERCENT = 58, // "t2-percent"
776 S_CACHE_THRESHOLD = 59, // "cache-threshold"
777 S_CACHE_MAX_AGE = 60, // "cache-max-age"
778 S_DECLINE_PROBATION_PERIOD = 61, // "decline-probation-period"
779 S_SERVER_TAG = 62, // "server-tag"
780 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 63, // "statistic-default-sample-count"
781 S_STATISTIC_DEFAULT_SAMPLE_AGE = 64, // "statistic-default-sample-age"
782 S_DDNS_SEND_UPDATES = 65, // "ddns-send-updates"
783 S_DDNS_OVERRIDE_NO_UPDATE = 66, // "ddns-override-no-update"
784 S_DDNS_OVERRIDE_CLIENT_UPDATE = 67, // "ddns-override-client-update"
785 S_DDNS_REPLACE_CLIENT_NAME = 68, // "ddns-replace-client-name"
786 S_DDNS_GENERATED_PREFIX = 69, // "ddns-generated-prefix"
787 S_DDNS_QUALIFYING_SUFFIX = 70, // "ddns-qualifying-suffix"
788 S_DDNS_UPDATE_ON_RENEW = 71, // "ddns-update-on-renew"
789 S_DDNS_USE_CONFLICT_RESOLUTION = 72, // "ddns-use-conflict-resolution"
790 S_STORE_EXTENDED_INFO = 73, // "store-extended-info"
791 S_SUBNET6 = 74, // "subnet6"
792 S_OPTION_DEF = 75, // "option-def"
793 S_OPTION_DATA = 76, // "option-data"
794 S_NAME = 77, // "name"
795 S_DATA = 78, // "data"
796 S_CODE = 79, // "code"
797 S_SPACE = 80, // "space"
798 S_CSV_FORMAT = 81, // "csv-format"
799 S_ALWAYS_SEND = 82, // "always-send"
800 S_RECORD_TYPES = 83, // "record-types"
801 S_ENCAPSULATE = 84, // "encapsulate"
802 S_ARRAY = 85, // "array"
803 S_PARKED_PACKET_LIMIT = 86, // "parked-packet-limit"
804 S_SHARED_NETWORKS = 87, // "shared-networks"
805 S_POOLS = 88, // "pools"
806 S_POOL = 89, // "pool"
807 S_PD_POOLS = 90, // "pd-pools"
808 S_PREFIX = 91, // "prefix"
809 S_PREFIX_LEN = 92, // "prefix-len"
810 S_EXCLUDED_PREFIX = 93, // "excluded-prefix"
811 S_EXCLUDED_PREFIX_LEN = 94, // "excluded-prefix-len"
812 S_DELEGATED_LEN = 95, // "delegated-len"
813 S_USER_CONTEXT = 96, // "user-context"
814 S_COMMENT = 97, // "comment"
815 S_SUBNET = 98, // "subnet"
816 S_INTERFACE = 99, // "interface"
817 S_INTERFACE_ID = 100, // "interface-id"
818 S_ID = 101, // "id"
819 S_RAPID_COMMIT = 102, // "rapid-commit"
820 S_RESERVATION_MODE = 103, // "reservation-mode"
821 S_DISABLED = 104, // "disabled"
822 S_OUT_OF_POOL = 105, // "out-of-pool"
823 S_GLOBAL = 106, // "global"
824 S_ALL = 107, // "all"
825 S_RESERVATIONS_GLOBAL = 108, // "reservations-global"
826 S_RESERVATIONS_IN_SUBNET = 109, // "reservations-in-subnet"
827 S_RESERVATIONS_OUT_OF_POOL = 110, // "reservations-out-of-pool"
828 S_MAC_SOURCES = 111, // "mac-sources"
829 S_RELAY_SUPPLIED_OPTIONS = 112, // "relay-supplied-options"
830 S_HOST_RESERVATION_IDENTIFIERS = 113, // "host-reservation-identifiers"
831 S_SANITY_CHECKS = 114, // "sanity-checks"
832 S_LEASE_CHECKS = 115, // "lease-checks"
833 S_CLIENT_CLASSES = 116, // "client-classes"
834 S_REQUIRE_CLIENT_CLASSES = 117, // "require-client-classes"
835 S_TEST = 118, // "test"
836 S_ONLY_IF_REQUIRED = 119, // "only-if-required"
837 S_CLIENT_CLASS = 120, // "client-class"
838 S_RESERVATIONS = 121, // "reservations"
839 S_IP_ADDRESSES = 122, // "ip-addresses"
840 S_PREFIXES = 123, // "prefixes"
841 S_DUID = 124, // "duid"
842 S_HW_ADDRESS = 125, // "hw-address"
843 S_HOSTNAME = 126, // "hostname"
844 S_FLEX_ID = 127, // "flex-id"
845 S_RELAY = 128, // "relay"
846 S_IP_ADDRESS = 129, // "ip-address"
847 S_HOOKS_LIBRARIES = 130, // "hooks-libraries"
848 S_LIBRARY = 131, // "library"
849 S_PARAMETERS = 132, // "parameters"
850 S_EXPIRED_LEASES_PROCESSING = 133, // "expired-leases-processing"
851 S_RECLAIM_TIMER_WAIT_TIME = 134, // "reclaim-timer-wait-time"
852 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 135, // "flush-reclaimed-timer-wait-time"
853 S_HOLD_RECLAIMED_TIME = 136, // "hold-reclaimed-time"
854 S_MAX_RECLAIM_LEASES = 137, // "max-reclaim-leases"
855 S_MAX_RECLAIM_TIME = 138, // "max-reclaim-time"
856 S_UNWARNED_RECLAIM_CYCLES = 139, // "unwarned-reclaim-cycles"
857 S_SERVER_ID = 140, // "server-id"
858 S_LLT = 141, // "LLT"
859 S_EN = 142, // "EN"
860 S_LL = 143, // "LL"
861 S_IDENTIFIER = 144, // "identifier"
862 S_HTYPE = 145, // "htype"
863 S_TIME = 146, // "time"
864 S_ENTERPRISE_ID = 147, // "enterprise-id"
865 S_DHCP4O6_PORT = 148, // "dhcp4o6-port"
866 S_DHCP_MULTI_THREADING = 149, // "multi-threading"
867 S_ENABLE_MULTI_THREADING = 150, // "enable-multi-threading"
868 S_THREAD_POOL_SIZE = 151, // "thread-pool-size"
869 S_PACKET_QUEUE_SIZE = 152, // "packet-queue-size"
870 S_CONTROL_SOCKET = 153, // "control-socket"
871 S_SOCKET_TYPE = 154, // "socket-type"
872 S_SOCKET_NAME = 155, // "socket-name"
873 S_DHCP_QUEUE_CONTROL = 156, // "dhcp-queue-control"
874 S_ENABLE_QUEUE = 157, // "enable-queue"
875 S_QUEUE_TYPE = 158, // "queue-type"
876 S_CAPACITY = 159, // "capacity"
877 S_DHCP_DDNS = 160, // "dhcp-ddns"
878 S_ENABLE_UPDATES = 161, // "enable-updates"
879 S_QUALIFYING_SUFFIX = 162, // "qualifying-suffix"
880 S_SERVER_IP = 163, // "server-ip"
881 S_SERVER_PORT = 164, // "server-port"
882 S_SENDER_IP = 165, // "sender-ip"
883 S_SENDER_PORT = 166, // "sender-port"
884 S_MAX_QUEUE_SIZE = 167, // "max-queue-size"
885 S_NCR_PROTOCOL = 168, // "ncr-protocol"
886 S_NCR_FORMAT = 169, // "ncr-format"
887 S_OVERRIDE_NO_UPDATE = 170, // "override-no-update"
888 S_OVERRIDE_CLIENT_UPDATE = 171, // "override-client-update"
889 S_REPLACE_CLIENT_NAME = 172, // "replace-client-name"
890 S_GENERATED_PREFIX = 173, // "generated-prefix"
891 S_UDP = 174, // "UDP"
892 S_TCP = 175, // "TCP"
893 S_JSON = 176, // "JSON"
894 S_WHEN_PRESENT = 177, // "when-present"
895 S_NEVER = 178, // "never"
896 S_ALWAYS = 179, // "always"
897 S_WHEN_NOT_PRESENT = 180, // "when-not-present"
898 S_HOSTNAME_CHAR_SET = 181, // "hostname-char-set"
899 S_HOSTNAME_CHAR_REPLACEMENT = 182, // "hostname-char-replacement"
900 S_IP_RESERVATIONS_UNIQUE = 183, // "ip-reservations-unique"
901 S_LOGGERS = 184, // "loggers"
902 S_OUTPUT_OPTIONS = 185, // "output_options"
903 S_OUTPUT = 186, // "output"
904 S_DEBUGLEVEL = 187, // "debuglevel"
905 S_SEVERITY = 188, // "severity"
906 S_FLUSH = 189, // "flush"
907 S_MAXSIZE = 190, // "maxsize"
908 S_MAXVER = 191, // "maxver"
909 S_PATTERN = 192, // "pattern"
910 S_COMPATIBILITY = 193, // "compatibility"
911 S_LENIENT_OPTION_PARSING = 194, // "lenient-option-parsing"
912 S_TOPLEVEL_JSON = 195, // TOPLEVEL_JSON
913 S_TOPLEVEL_DHCP6 = 196, // TOPLEVEL_DHCP6
914 S_SUB_DHCP6 = 197, // SUB_DHCP6
915 S_SUB_INTERFACES6 = 198, // SUB_INTERFACES6
916 S_SUB_SUBNET6 = 199, // SUB_SUBNET6
917 S_SUB_POOL6 = 200, // SUB_POOL6
918 S_SUB_PD_POOL = 201, // SUB_PD_POOL
919 S_SUB_RESERVATION = 202, // SUB_RESERVATION
920 S_SUB_OPTION_DEFS = 203, // SUB_OPTION_DEFS
921 S_SUB_OPTION_DEF = 204, // SUB_OPTION_DEF
922 S_SUB_OPTION_DATA = 205, // SUB_OPTION_DATA
923 S_SUB_HOOKS_LIBRARY = 206, // SUB_HOOKS_LIBRARY
924 S_SUB_DHCP_DDNS = 207, // SUB_DHCP_DDNS
925 S_SUB_CONFIG_CONTROL = 208, // SUB_CONFIG_CONTROL
926 S_STRING = 209, // "constant string"
927 S_INTEGER = 210, // "integer"
928 S_FLOAT = 211, // "floating point"
929 S_BOOLEAN = 212, // "boolean"
930 S_YYACCEPT = 213, // $accept
931 S_start = 214, // start
932 S_215_1 = 215, // $@1
933 S_216_2 = 216, // $@2
934 S_217_3 = 217, // $@3
935 S_218_4 = 218, // $@4
936 S_219_5 = 219, // $@5
937 S_220_6 = 220, // $@6
938 S_221_7 = 221, // $@7
939 S_222_8 = 222, // $@8
940 S_223_9 = 223, // $@9
941 S_224_10 = 224, // $@10
942 S_225_11 = 225, // $@11
943 S_226_12 = 226, // $@12
944 S_227_13 = 227, // $@13
945 S_228_14 = 228, // $@14
946 S_value = 229, // value
947 S_sub_json = 230, // sub_json
948 S_map2 = 231, // map2
949 S_232_15 = 232, // $@15
950 S_map_value = 233, // map_value
951 S_map_content = 234, // map_content
952 S_not_empty_map = 235, // not_empty_map
953 S_list_generic = 236, // list_generic
954 S_237_16 = 237, // $@16
955 S_list_content = 238, // list_content
956 S_not_empty_list = 239, // not_empty_list
957 S_list_strings = 240, // list_strings
958 S_241_17 = 241, // $@17
959 S_list_strings_content = 242, // list_strings_content
960 S_not_empty_list_strings = 243, // not_empty_list_strings
961 S_unknown_map_entry = 244, // unknown_map_entry
962 S_syntax_map = 245, // syntax_map
963 S_246_18 = 246, // $@18
964 S_global_object = 247, // global_object
965 S_248_19 = 248, // $@19
966 S_sub_dhcp6 = 249, // sub_dhcp6
967 S_250_20 = 250, // $@20
968 S_global_params = 251, // global_params
969 S_global_param = 252, // global_param
970 S_data_directory = 253, // data_directory
971 S_254_21 = 254, // $@21
972 S_preferred_lifetime = 255, // preferred_lifetime
973 S_min_preferred_lifetime = 256, // min_preferred_lifetime
974 S_max_preferred_lifetime = 257, // max_preferred_lifetime
975 S_valid_lifetime = 258, // valid_lifetime
976 S_min_valid_lifetime = 259, // min_valid_lifetime
977 S_max_valid_lifetime = 260, // max_valid_lifetime
978 S_renew_timer = 261, // renew_timer
979 S_rebind_timer = 262, // rebind_timer
980 S_calculate_tee_times = 263, // calculate_tee_times
981 S_t1_percent = 264, // t1_percent
982 S_t2_percent = 265, // t2_percent
983 S_cache_threshold = 266, // cache_threshold
984 S_cache_max_age = 267, // cache_max_age
985 S_decline_probation_period = 268, // decline_probation_period
986 S_ddns_send_updates = 269, // ddns_send_updates
987 S_ddns_override_no_update = 270, // ddns_override_no_update
988 S_ddns_override_client_update = 271, // ddns_override_client_update
989 S_ddns_replace_client_name = 272, // ddns_replace_client_name
990 S_273_22 = 273, // $@22
991 S_ddns_replace_client_name_value = 274, // ddns_replace_client_name_value
992 S_ddns_generated_prefix = 275, // ddns_generated_prefix
993 S_276_23 = 276, // $@23
994 S_ddns_qualifying_suffix = 277, // ddns_qualifying_suffix
995 S_278_24 = 278, // $@24
996 S_ddns_update_on_renew = 279, // ddns_update_on_renew
997 S_ddns_use_conflict_resolution = 280, // ddns_use_conflict_resolution
998 S_hostname_char_set = 281, // hostname_char_set
999 S_282_25 = 282, // $@25
1000 S_hostname_char_replacement = 283, // hostname_char_replacement
1001 S_284_26 = 284, // $@26
1002 S_store_extended_info = 285, // store_extended_info
1003 S_statistic_default_sample_count = 286, // statistic_default_sample_count
1004 S_statistic_default_sample_age = 287, // statistic_default_sample_age
1005 S_server_tag = 288, // server_tag
1006 S_289_27 = 289, // $@27
1007 S_parked_packet_limit = 290, // parked_packet_limit
1008 S_ip_reservations_unique = 291, // ip_reservations_unique
1009 S_interfaces_config = 292, // interfaces_config
1010 S_293_28 = 293, // $@28
1011 S_sub_interfaces6 = 294, // sub_interfaces6
1012 S_295_29 = 295, // $@29
1013 S_interfaces_config_params = 296, // interfaces_config_params
1014 S_interfaces_config_param = 297, // interfaces_config_param
1015 S_interfaces_list = 298, // interfaces_list
1016 S_299_30 = 299, // $@30
1017 S_re_detect = 300, // re_detect
1018 S_lease_database = 301, // lease_database
1019 S_302_31 = 302, // $@31
1020 S_hosts_database = 303, // hosts_database
1021 S_304_32 = 304, // $@32
1022 S_hosts_databases = 305, // hosts_databases
1023 S_306_33 = 306, // $@33
1024 S_database_list = 307, // database_list
1025 S_not_empty_database_list = 308, // not_empty_database_list
1026 S_database = 309, // database
1027 S_310_34 = 310, // $@34
1028 S_database_map_params = 311, // database_map_params
1029 S_database_map_param = 312, // database_map_param
1030 S_database_type = 313, // database_type
1031 S_314_35 = 314, // $@35
1032 S_db_type = 315, // db_type
1033 S_user = 316, // user
1034 S_317_36 = 317, // $@36
1035 S_password = 318, // password
1036 S_319_37 = 319, // $@37
1037 S_host = 320, // host
1038 S_321_38 = 321, // $@38
1039 S_port = 322, // port
1040 S_name = 323, // name
1041 S_324_39 = 324, // $@39
1042 S_persist = 325, // persist
1043 S_lfc_interval = 326, // lfc_interval
1044 S_readonly = 327, // readonly
1045 S_connect_timeout = 328, // connect_timeout
1046 S_reconnect_wait_time = 329, // reconnect_wait_time
1047 S_on_fail = 330, // on_fail
1048 S_331_40 = 331, // $@40
1049 S_on_fail_mode = 332, // on_fail_mode
1050 S_max_row_errors = 333, // max_row_errors
1051 S_request_timeout = 334, // request_timeout
1052 S_tcp_keepalive = 335, // tcp_keepalive
1053 S_tcp_nodelay = 336, // tcp_nodelay
1054 S_contact_points = 337, // contact_points
1055 S_338_41 = 338, // $@41
1056 S_max_reconnect_tries = 339, // max_reconnect_tries
1057 S_keyspace = 340, // keyspace
1058 S_341_42 = 341, // $@42
1059 S_consistency = 342, // consistency
1060 S_343_43 = 343, // $@43
1061 S_serial_consistency = 344, // serial_consistency
1062 S_345_44 = 345, // $@44
1063 S_sanity_checks = 346, // sanity_checks
1064 S_347_45 = 347, // $@45
1065 S_sanity_checks_params = 348, // sanity_checks_params
1066 S_sanity_checks_param = 349, // sanity_checks_param
1067 S_lease_checks = 350, // lease_checks
1068 S_351_46 = 351, // $@46
1069 S_mac_sources = 352, // mac_sources
1070 S_353_47 = 353, // $@47
1071 S_mac_sources_list = 354, // mac_sources_list
1072 S_mac_sources_value = 355, // mac_sources_value
1073 S_duid_id = 356, // duid_id
1074 S_string_id = 357, // string_id
1075 S_host_reservation_identifiers = 358, // host_reservation_identifiers
1076 S_359_48 = 359, // $@48
1077 S_host_reservation_identifiers_list = 360, // host_reservation_identifiers_list
1078 S_host_reservation_identifier = 361, // host_reservation_identifier
1079 S_hw_address_id = 362, // hw_address_id
1080 S_flex_id = 363, // flex_id
1081 S_relay_supplied_options = 364, // relay_supplied_options
1082 S_365_49 = 365, // $@49
1083 S_dhcp_multi_threading = 366, // dhcp_multi_threading
1084 S_367_50 = 367, // $@50
1085 S_multi_threading_params = 368, // multi_threading_params
1086 S_multi_threading_param = 369, // multi_threading_param
1087 S_enable_multi_threading = 370, // enable_multi_threading
1088 S_thread_pool_size = 371, // thread_pool_size
1089 S_packet_queue_size = 372, // packet_queue_size
1090 S_hooks_libraries = 373, // hooks_libraries
1091 S_374_51 = 374, // $@51
1092 S_hooks_libraries_list = 375, // hooks_libraries_list
1093 S_not_empty_hooks_libraries_list = 376, // not_empty_hooks_libraries_list
1094 S_hooks_library = 377, // hooks_library
1095 S_378_52 = 378, // $@52
1096 S_sub_hooks_library = 379, // sub_hooks_library
1097 S_380_53 = 380, // $@53
1098 S_hooks_params = 381, // hooks_params
1099 S_hooks_param = 382, // hooks_param
1100 S_library = 383, // library
1101 S_384_54 = 384, // $@54
1102 S_parameters = 385, // parameters
1103 S_386_55 = 386, // $@55
1104 S_expired_leases_processing = 387, // expired_leases_processing
1105 S_388_56 = 388, // $@56
1106 S_expired_leases_params = 389, // expired_leases_params
1107 S_expired_leases_param = 390, // expired_leases_param
1108 S_reclaim_timer_wait_time = 391, // reclaim_timer_wait_time
1109 S_flush_reclaimed_timer_wait_time = 392, // flush_reclaimed_timer_wait_time
1110 S_hold_reclaimed_time = 393, // hold_reclaimed_time
1111 S_max_reclaim_leases = 394, // max_reclaim_leases
1112 S_max_reclaim_time = 395, // max_reclaim_time
1113 S_unwarned_reclaim_cycles = 396, // unwarned_reclaim_cycles
1114 S_subnet6_list = 397, // subnet6_list
1115 S_398_57 = 398, // $@57
1116 S_subnet6_list_content = 399, // subnet6_list_content
1117 S_not_empty_subnet6_list = 400, // not_empty_subnet6_list
1118 S_subnet6 = 401, // subnet6
1119 S_402_58 = 402, // $@58
1120 S_sub_subnet6 = 403, // sub_subnet6
1121 S_404_59 = 404, // $@59
1122 S_subnet6_params = 405, // subnet6_params
1123 S_subnet6_param = 406, // subnet6_param
1124 S_subnet = 407, // subnet
1125 S_408_60 = 408, // $@60
1126 S_interface = 409, // interface
1127 S_410_61 = 410, // $@61
1128 S_interface_id = 411, // interface_id
1129 S_412_62 = 412, // $@62
1130 S_client_class = 413, // client_class
1131 S_414_63 = 414, // $@63
1132 S_require_client_classes = 415, // require_client_classes
1133 S_416_64 = 416, // $@64
1134 S_reservations_global = 417, // reservations_global
1135 S_reservations_in_subnet = 418, // reservations_in_subnet
1136 S_reservations_out_of_pool = 419, // reservations_out_of_pool
1137 S_reservation_mode = 420, // reservation_mode
1138 S_421_65 = 421, // $@65
1139 S_hr_mode = 422, // hr_mode
1140 S_id = 423, // id
1141 S_rapid_commit = 424, // rapid_commit
1142 S_shared_networks = 425, // shared_networks
1143 S_426_66 = 426, // $@66
1144 S_shared_networks_content = 427, // shared_networks_content
1145 S_shared_networks_list = 428, // shared_networks_list
1146 S_shared_network = 429, // shared_network
1147 S_430_67 = 430, // $@67
1148 S_shared_network_params = 431, // shared_network_params
1149 S_shared_network_param = 432, // shared_network_param
1150 S_option_def_list = 433, // option_def_list
1151 S_434_68 = 434, // $@68
1152 S_sub_option_def_list = 435, // sub_option_def_list
1153 S_436_69 = 436, // $@69
1154 S_option_def_list_content = 437, // option_def_list_content
1155 S_not_empty_option_def_list = 438, // not_empty_option_def_list
1156 S_option_def_entry = 439, // option_def_entry
1157 S_440_70 = 440, // $@70
1158 S_sub_option_def = 441, // sub_option_def
1159 S_442_71 = 442, // $@71
1160 S_option_def_params = 443, // option_def_params
1161 S_not_empty_option_def_params = 444, // not_empty_option_def_params
1162 S_option_def_param = 445, // option_def_param
1163 S_option_def_name = 446, // option_def_name
1164 S_code = 447, // code
1165 S_option_def_code = 448, // option_def_code
1166 S_option_def_type = 449, // option_def_type
1167 S_450_72 = 450, // $@72
1168 S_option_def_record_types = 451, // option_def_record_types
1169 S_452_73 = 452, // $@73
1170 S_space = 453, // space
1171 S_454_74 = 454, // $@74
1172 S_option_def_space = 455, // option_def_space
1173 S_option_def_encapsulate = 456, // option_def_encapsulate
1174 S_457_75 = 457, // $@75
1175 S_option_def_array = 458, // option_def_array
1176 S_option_data_list = 459, // option_data_list
1177 S_460_76 = 460, // $@76
1178 S_option_data_list_content = 461, // option_data_list_content
1179 S_not_empty_option_data_list = 462, // not_empty_option_data_list
1180 S_option_data_entry = 463, // option_data_entry
1181 S_464_77 = 464, // $@77
1182 S_sub_option_data = 465, // sub_option_data
1183 S_466_78 = 466, // $@78
1184 S_option_data_params = 467, // option_data_params
1185 S_not_empty_option_data_params = 468, // not_empty_option_data_params
1186 S_option_data_param = 469, // option_data_param
1187 S_option_data_name = 470, // option_data_name
1188 S_option_data_data = 471, // option_data_data
1189 S_472_79 = 472, // $@79
1190 S_option_data_code = 473, // option_data_code
1191 S_option_data_space = 474, // option_data_space
1192 S_option_data_csv_format = 475, // option_data_csv_format
1193 S_option_data_always_send = 476, // option_data_always_send
1194 S_pools_list = 477, // pools_list
1195 S_478_80 = 478, // $@80
1196 S_pools_list_content = 479, // pools_list_content
1197 S_not_empty_pools_list = 480, // not_empty_pools_list
1198 S_pool_list_entry = 481, // pool_list_entry
1199 S_482_81 = 482, // $@81
1200 S_sub_pool6 = 483, // sub_pool6
1201 S_484_82 = 484, // $@82
1202 S_pool_params = 485, // pool_params
1203 S_pool_param = 486, // pool_param
1204 S_pool_entry = 487, // pool_entry
1205 S_488_83 = 488, // $@83
1206 S_user_context = 489, // user_context
1207 S_490_84 = 490, // $@84
1208 S_comment = 491, // comment
1209 S_492_85 = 492, // $@85
1210 S_pd_pools_list = 493, // pd_pools_list
1211 S_494_86 = 494, // $@86
1212 S_pd_pools_list_content = 495, // pd_pools_list_content
1213 S_not_empty_pd_pools_list = 496, // not_empty_pd_pools_list
1214 S_pd_pool_entry = 497, // pd_pool_entry
1215 S_498_87 = 498, // $@87
1216 S_sub_pd_pool = 499, // sub_pd_pool
1217 S_500_88 = 500, // $@88
1218 S_pd_pool_params = 501, // pd_pool_params
1219 S_pd_pool_param = 502, // pd_pool_param
1220 S_pd_prefix = 503, // pd_prefix
1221 S_504_89 = 504, // $@89
1222 S_pd_prefix_len = 505, // pd_prefix_len
1223 S_excluded_prefix = 506, // excluded_prefix
1224 S_507_90 = 507, // $@90
1225 S_excluded_prefix_len = 508, // excluded_prefix_len
1226 S_pd_delegated_len = 509, // pd_delegated_len
1227 S_reservations = 510, // reservations
1228 S_511_91 = 511, // $@91
1229 S_reservations_list = 512, // reservations_list
1230 S_not_empty_reservations_list = 513, // not_empty_reservations_list
1231 S_reservation = 514, // reservation
1232 S_515_92 = 515, // $@92
1233 S_sub_reservation = 516, // sub_reservation
1234 S_517_93 = 517, // $@93
1235 S_reservation_params = 518, // reservation_params
1236 S_not_empty_reservation_params = 519, // not_empty_reservation_params
1237 S_reservation_param = 520, // reservation_param
1238 S_ip_addresses = 521, // ip_addresses
1239 S_522_94 = 522, // $@94
1240 S_prefixes = 523, // prefixes
1241 S_524_95 = 524, // $@95
1242 S_duid = 525, // duid
1243 S_526_96 = 526, // $@96
1244 S_hw_address = 527, // hw_address
1245 S_528_97 = 528, // $@97
1246 S_hostname = 529, // hostname
1247 S_530_98 = 530, // $@98
1248 S_flex_id_value = 531, // flex_id_value
1249 S_532_99 = 532, // $@99
1250 S_reservation_client_classes = 533, // reservation_client_classes
1251 S_534_100 = 534, // $@100
1252 S_relay = 535, // relay
1253 S_536_101 = 536, // $@101
1254 S_relay_map = 537, // relay_map
1255 S_ip_address = 538, // ip_address
1256 S_539_102 = 539, // $@102
1257 S_client_classes = 540, // client_classes
1258 S_541_103 = 541, // $@103
1259 S_client_classes_list = 542, // client_classes_list
1260 S_client_class_entry = 543, // client_class_entry
1261 S_544_104 = 544, // $@104
1262 S_client_class_params = 545, // client_class_params
1263 S_not_empty_client_class_params = 546, // not_empty_client_class_params
1264 S_client_class_param = 547, // client_class_param
1265 S_client_class_name = 548, // client_class_name
1266 S_client_class_test = 549, // client_class_test
1267 S_550_105 = 550, // $@105
1268 S_only_if_required = 551, // only_if_required
1269 S_server_id = 552, // server_id
1270 S_553_106 = 553, // $@106
1271 S_server_id_params = 554, // server_id_params
1272 S_server_id_param = 555, // server_id_param
1273 S_server_id_type = 556, // server_id_type
1274 S_557_107 = 557, // $@107
1275 S_duid_type = 558, // duid_type
1276 S_htype = 559, // htype
1277 S_identifier = 560, // identifier
1278 S_561_108 = 561, // $@108
1279 S_time = 562, // time
1280 S_enterprise_id = 563, // enterprise_id
1281 S_dhcp4o6_port = 564, // dhcp4o6_port
1282 S_control_socket = 565, // control_socket
1283 S_566_109 = 566, // $@109
1284 S_control_socket_params = 567, // control_socket_params
1285 S_control_socket_param = 568, // control_socket_param
1286 S_socket_type = 569, // socket_type
1287 S_570_110 = 570, // $@110
1288 S_socket_name = 571, // socket_name
1289 S_572_111 = 572, // $@111
1290 S_dhcp_queue_control = 573, // dhcp_queue_control
1291 S_574_112 = 574, // $@112
1292 S_queue_control_params = 575, // queue_control_params
1293 S_queue_control_param = 576, // queue_control_param
1294 S_enable_queue = 577, // enable_queue
1295 S_queue_type = 578, // queue_type
1296 S_579_113 = 579, // $@113
1297 S_capacity = 580, // capacity
1298 S_arbitrary_map_entry = 581, // arbitrary_map_entry
1299 S_582_114 = 582, // $@114
1300 S_dhcp_ddns = 583, // dhcp_ddns
1301 S_584_115 = 584, // $@115
1302 S_sub_dhcp_ddns = 585, // sub_dhcp_ddns
1303 S_586_116 = 586, // $@116
1304 S_dhcp_ddns_params = 587, // dhcp_ddns_params
1305 S_dhcp_ddns_param = 588, // dhcp_ddns_param
1306 S_enable_updates = 589, // enable_updates
1307 S_dep_qualifying_suffix = 590, // dep_qualifying_suffix
1308 S_591_117 = 591, // $@117
1309 S_server_ip = 592, // server_ip
1310 S_593_118 = 593, // $@118
1311 S_server_port = 594, // server_port
1312 S_sender_ip = 595, // sender_ip
1313 S_596_119 = 596, // $@119
1314 S_sender_port = 597, // sender_port
1315 S_max_queue_size = 598, // max_queue_size
1316 S_ncr_protocol = 599, // ncr_protocol
1317 S_600_120 = 600, // $@120
1318 S_ncr_protocol_value = 601, // ncr_protocol_value
1319 S_ncr_format = 602, // ncr_format
1320 S_603_121 = 603, // $@121
1321 S_dep_override_no_update = 604, // dep_override_no_update
1322 S_dep_override_client_update = 605, // dep_override_client_update
1323 S_dep_replace_client_name = 606, // dep_replace_client_name
1324 S_607_122 = 607, // $@122
1325 S_dep_generated_prefix = 608, // dep_generated_prefix
1326 S_609_123 = 609, // $@123
1327 S_dep_hostname_char_set = 610, // dep_hostname_char_set
1328 S_611_124 = 611, // $@124
1329 S_dep_hostname_char_replacement = 612, // dep_hostname_char_replacement
1330 S_613_125 = 613, // $@125
1331 S_config_control = 614, // config_control
1332 S_615_126 = 615, // $@126
1333 S_sub_config_control = 616, // sub_config_control
1334 S_617_127 = 617, // $@127
1335 S_config_control_params = 618, // config_control_params
1336 S_config_control_param = 619, // config_control_param
1337 S_config_databases = 620, // config_databases
1338 S_621_128 = 621, // $@128
1339 S_config_fetch_wait_time = 622, // config_fetch_wait_time
1340 S_loggers = 623, // loggers
1341 S_624_129 = 624, // $@129
1342 S_loggers_entries = 625, // loggers_entries
1343 S_logger_entry = 626, // logger_entry
1344 S_627_130 = 627, // $@130
1345 S_logger_params = 628, // logger_params
1346 S_logger_param = 629, // logger_param
1347 S_debuglevel = 630, // debuglevel
1348 S_severity = 631, // severity
1349 S_632_131 = 632, // $@131
1350 S_output_options_list = 633, // output_options_list
1351 S_634_132 = 634, // $@132
1352 S_output_options_list_content = 635, // output_options_list_content
1353 S_output_entry = 636, // output_entry
1354 S_637_133 = 637, // $@133
1355 S_output_params_list = 638, // output_params_list
1356 S_output_params = 639, // output_params
1357 S_output = 640, // output
1358 S_641_134 = 641, // $@134
1359 S_flush = 642, // flush
1360 S_maxsize = 643, // maxsize
1361 S_maxver = 644, // maxver
1362 S_pattern = 645, // pattern
1363 S_646_135 = 646, // $@135
1364 S_compatibility = 647, // compatibility
1365 S_648_136 = 648, // $@136
1366 S_compatibility_params = 649, // compatibility_params
1367 S_compatibility_param = 650, // compatibility_param
1368 S_lenient_option_parsing = 651 // lenient_option_parsing
1370 };
1371
1374
1377
1384 template <typename Base>
1385 struct basic_symbol : Base
1386 {
1388 typedef Base super_type;
1389
1392 : value ()
1393 , location ()
1394 {}
1395
1396#if 201103L <= YY_CPLUSPLUS
1398 basic_symbol (basic_symbol&& that)
1399 : Base (std::move (that))
1400 , value ()
1401 , location (std::move (that.location))
1402 {
1403 switch (this->kind ())
1404 {
1405 case symbol_kind::S_value: // value
1406 case symbol_kind::S_map_value: // map_value
1407 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1408 case symbol_kind::S_db_type: // db_type
1409 case symbol_kind::S_on_fail_mode: // on_fail_mode
1410 case symbol_kind::S_hr_mode: // hr_mode
1411 case symbol_kind::S_duid_type: // duid_type
1412 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1413 value.move< ElementPtr > (std::move (that.value));
1414 break;
1415
1416 case symbol_kind::S_BOOLEAN: // "boolean"
1417 value.move< bool > (std::move (that.value));
1418 break;
1419
1420 case symbol_kind::S_FLOAT: // "floating point"
1421 value.move< double > (std::move (that.value));
1422 break;
1423
1424 case symbol_kind::S_INTEGER: // "integer"
1425 value.move< int64_t > (std::move (that.value));
1426 break;
1427
1428 case symbol_kind::S_STRING: // "constant string"
1429 value.move< std::string > (std::move (that.value));
1430 break;
1431
1432 default:
1433 break;
1434 }
1435
1436 }
1437#endif
1438
1440 basic_symbol (const basic_symbol& that);
1441
1443#if 201103L <= YY_CPLUSPLUS
1444 basic_symbol (typename Base::kind_type t, location_type&& l)
1445 : Base (t)
1446 , location (std::move (l))
1447 {}
1448#else
1449 basic_symbol (typename Base::kind_type t, const location_type& l)
1450 : Base (t)
1451 , location (l)
1452 {}
1453#endif
1454
1455#if 201103L <= YY_CPLUSPLUS
1456 basic_symbol (typename Base::kind_type t, ElementPtr&& v, location_type&& l)
1457 : Base (t)
1458 , value (std::move (v))
1459 , location (std::move (l))
1460 {}
1461#else
1462 basic_symbol (typename Base::kind_type t, const ElementPtr& v, const location_type& l)
1463 : Base (t)
1464 , value (v)
1465 , location (l)
1466 {}
1467#endif
1468
1469#if 201103L <= YY_CPLUSPLUS
1470 basic_symbol (typename Base::kind_type t, bool&& v, location_type&& l)
1471 : Base (t)
1472 , value (std::move (v))
1473 , location (std::move (l))
1474 {}
1475#else
1476 basic_symbol (typename Base::kind_type t, const bool& v, const location_type& l)
1477 : Base (t)
1478 , value (v)
1479 , location (l)
1480 {}
1481#endif
1482
1483#if 201103L <= YY_CPLUSPLUS
1484 basic_symbol (typename Base::kind_type t, double&& v, location_type&& l)
1485 : Base (t)
1486 , value (std::move (v))
1487 , location (std::move (l))
1488 {}
1489#else
1490 basic_symbol (typename Base::kind_type t, const double& v, const location_type& l)
1491 : Base (t)
1492 , value (v)
1493 , location (l)
1494 {}
1495#endif
1496
1497#if 201103L <= YY_CPLUSPLUS
1498 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1499 : Base (t)
1500 , value (std::move (v))
1501 , location (std::move (l))
1502 {}
1503#else
1504 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1505 : Base (t)
1506 , value (v)
1507 , location (l)
1508 {}
1509#endif
1510
1511#if 201103L <= YY_CPLUSPLUS
1512 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1513 : Base (t)
1514 , value (std::move (v))
1515 , location (std::move (l))
1516 {}
1517#else
1518 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1519 : Base (t)
1520 , value (v)
1521 , location (l)
1522 {}
1523#endif
1524
1527 {
1528 clear ();
1529 }
1530
1533 {
1534 // User destructor.
1535 symbol_kind_type yykind = this->kind ();
1536 basic_symbol<Base>& yysym = *this;
1537 (void) yysym;
1538 switch (yykind)
1539 {
1540 default:
1541 break;
1542 }
1543
1544 // Value type destructor.
1545switch (yykind)
1546 {
1547 case symbol_kind::S_value: // value
1548 case symbol_kind::S_map_value: // map_value
1549 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1550 case symbol_kind::S_db_type: // db_type
1551 case symbol_kind::S_on_fail_mode: // on_fail_mode
1552 case symbol_kind::S_hr_mode: // hr_mode
1553 case symbol_kind::S_duid_type: // duid_type
1554 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1555 value.template destroy< ElementPtr > ();
1556 break;
1557
1558 case symbol_kind::S_BOOLEAN: // "boolean"
1559 value.template destroy< bool > ();
1560 break;
1561
1562 case symbol_kind::S_FLOAT: // "floating point"
1563 value.template destroy< double > ();
1564 break;
1565
1566 case symbol_kind::S_INTEGER: // "integer"
1567 value.template destroy< int64_t > ();
1568 break;
1569
1570 case symbol_kind::S_STRING: // "constant string"
1571 value.template destroy< std::string > ();
1572 break;
1573
1574 default:
1575 break;
1576 }
1577
1578 Base::clear ();
1579 }
1580
1582 std::string name () const YY_NOEXCEPT
1583 {
1584 return Dhcp6Parser::symbol_name (this->kind ());
1585 }
1586
1588 symbol_kind_type type_get () const YY_NOEXCEPT;
1589
1591 bool empty () const YY_NOEXCEPT;
1592
1594 void move (basic_symbol& s);
1595
1598
1601
1602 private:
1603#if YY_CPLUSPLUS < 201103L
1605 basic_symbol& operator= (const basic_symbol& that);
1606#endif
1607 };
1608
1610 struct by_kind
1611 {
1613 by_kind ();
1614
1615#if 201103L <= YY_CPLUSPLUS
1617 by_kind (by_kind&& that);
1618#endif
1619
1621 by_kind (const by_kind& that);
1622
1625
1627 by_kind (kind_type t);
1628
1630 void clear () YY_NOEXCEPT;
1631
1633 void move (by_kind& that);
1634
1637 symbol_kind_type kind () const YY_NOEXCEPT;
1638
1640 symbol_kind_type type_get () const YY_NOEXCEPT;
1641
1645 };
1646
1649
1652 {
1655
1658
1660#if 201103L <= YY_CPLUSPLUS
1661 symbol_type (int tok, location_type l)
1662 : super_type(token_type (tok), std::move (l))
1663#else
1664 symbol_type (int tok, const location_type& l)
1665 : super_type(token_type (tok), l)
1666#endif
1667 {
1670 }
1671#if 201103L <= YY_CPLUSPLUS
1672 symbol_type (int tok, bool v, location_type l)
1673 : super_type(token_type (tok), std::move (v), std::move (l))
1674#else
1675 symbol_type (int tok, const bool& v, const location_type& l)
1676 : super_type(token_type (tok), v, l)
1677#endif
1678 {
1680 }
1681#if 201103L <= YY_CPLUSPLUS
1682 symbol_type (int tok, double v, location_type l)
1683 : super_type(token_type (tok), std::move (v), std::move (l))
1684#else
1685 symbol_type (int tok, const double& v, const location_type& l)
1686 : super_type(token_type (tok), v, l)
1687#endif
1688 {
1690 }
1691#if 201103L <= YY_CPLUSPLUS
1692 symbol_type (int tok, int64_t v, location_type l)
1693 : super_type(token_type (tok), std::move (v), std::move (l))
1694#else
1695 symbol_type (int tok, const int64_t& v, const location_type& l)
1696 : super_type(token_type (tok), v, l)
1697#endif
1698 {
1700 }
1701#if 201103L <= YY_CPLUSPLUS
1702 symbol_type (int tok, std::string v, location_type l)
1703 : super_type(token_type (tok), std::move (v), std::move (l))
1704#else
1705 symbol_type (int tok, const std::string& v, const location_type& l)
1706 : super_type(token_type (tok), v, l)
1707#endif
1708 {
1710 }
1711 };
1712
1715 virtual ~Dhcp6Parser ();
1716
1717#if 201103L <= YY_CPLUSPLUS
1719 Dhcp6Parser (const Dhcp6Parser&) = delete;
1721 Dhcp6Parser& operator= (const Dhcp6Parser&) = delete;
1722#endif
1723
1726 int operator() ();
1727
1730 virtual int parse ();
1731
1732#if PARSER6_DEBUG
1734 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1736 void set_debug_stream (std::ostream &);
1737
1739 typedef int debug_level_type;
1744#endif
1745
1749 virtual void error (const location_type& loc, const std::string& msg);
1750
1752 void error (const syntax_error& err);
1753
1756 static std::string symbol_name (symbol_kind_type yysymbol);
1757
1758 // Implementation of make_symbol for each symbol type.
1759#if 201103L <= YY_CPLUSPLUS
1760 static
1763 {
1764 return symbol_type (token::TOKEN_END, std::move (l));
1765 }
1766#else
1767 static
1768 symbol_type
1770 {
1771 return symbol_type (token::TOKEN_END, l);
1772 }
1773#endif
1774#if 201103L <= YY_CPLUSPLUS
1775 static
1776 symbol_type
1778 {
1779 return symbol_type (token::TOKEN_PARSER6_error, std::move (l));
1780 }
1781#else
1782 static
1783 symbol_type
1785 {
1787 }
1788#endif
1789#if 201103L <= YY_CPLUSPLUS
1790 static
1791 symbol_type
1793 {
1794 return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l));
1795 }
1796#else
1797 static
1798 symbol_type
1800 {
1802 }
1803#endif
1804#if 201103L <= YY_CPLUSPLUS
1805 static
1806 symbol_type
1808 {
1809 return symbol_type (token::TOKEN_COMMA, std::move (l));
1810 }
1811#else
1812 static
1813 symbol_type
1815 {
1816 return symbol_type (token::TOKEN_COMMA, l);
1817 }
1818#endif
1819#if 201103L <= YY_CPLUSPLUS
1820 static
1821 symbol_type
1823 {
1824 return symbol_type (token::TOKEN_COLON, std::move (l));
1825 }
1826#else
1827 static
1828 symbol_type
1830 {
1831 return symbol_type (token::TOKEN_COLON, l);
1832 }
1833#endif
1834#if 201103L <= YY_CPLUSPLUS
1835 static
1836 symbol_type
1838 {
1839 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1840 }
1841#else
1842 static
1843 symbol_type
1845 {
1847 }
1848#endif
1849#if 201103L <= YY_CPLUSPLUS
1850 static
1851 symbol_type
1853 {
1854 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1855 }
1856#else
1857 static
1858 symbol_type
1860 {
1862 }
1863#endif
1864#if 201103L <= YY_CPLUSPLUS
1865 static
1866 symbol_type
1868 {
1869 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1870 }
1871#else
1872 static
1873 symbol_type
1875 {
1877 }
1878#endif
1879#if 201103L <= YY_CPLUSPLUS
1880 static
1881 symbol_type
1883 {
1884 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1885 }
1886#else
1887 static
1888 symbol_type
1890 {
1892 }
1893#endif
1894#if 201103L <= YY_CPLUSPLUS
1895 static
1896 symbol_type
1898 {
1899 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1900 }
1901#else
1902 static
1903 symbol_type
1905 {
1907 }
1908#endif
1909#if 201103L <= YY_CPLUSPLUS
1910 static
1911 symbol_type
1913 {
1914 return symbol_type (token::TOKEN_DHCP6, std::move (l));
1915 }
1916#else
1917 static
1918 symbol_type
1920 {
1921 return symbol_type (token::TOKEN_DHCP6, l);
1922 }
1923#endif
1924#if 201103L <= YY_CPLUSPLUS
1925 static
1926 symbol_type
1928 {
1929 return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
1930 }
1931#else
1932 static
1933 symbol_type
1935 {
1937 }
1938#endif
1939#if 201103L <= YY_CPLUSPLUS
1940 static
1941 symbol_type
1943 {
1944 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
1945 }
1946#else
1947 static
1948 symbol_type
1950 {
1952 }
1953#endif
1954#if 201103L <= YY_CPLUSPLUS
1955 static
1956 symbol_type
1958 {
1959 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
1960 }
1961#else
1962 static
1963 symbol_type
1965 {
1967 }
1968#endif
1969#if 201103L <= YY_CPLUSPLUS
1970 static
1971 symbol_type
1973 {
1974 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
1975 }
1976#else
1977 static
1978 symbol_type
1980 {
1982 }
1983#endif
1984#if 201103L <= YY_CPLUSPLUS
1985 static
1986 symbol_type
1988 {
1989 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
1990 }
1991#else
1992 static
1993 symbol_type
1995 {
1997 }
1998#endif
1999#if 201103L <= YY_CPLUSPLUS
2000 static
2001 symbol_type
2003 {
2004 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2005 }
2006#else
2007 static
2008 symbol_type
2010 {
2012 }
2013#endif
2014#if 201103L <= YY_CPLUSPLUS
2015 static
2016 symbol_type
2018 {
2019 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2020 }
2021#else
2022 static
2023 symbol_type
2025 {
2027 }
2028#endif
2029#if 201103L <= YY_CPLUSPLUS
2030 static
2031 symbol_type
2033 {
2034 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2035 }
2036#else
2037 static
2038 symbol_type
2040 {
2042 }
2043#endif
2044#if 201103L <= YY_CPLUSPLUS
2045 static
2046 symbol_type
2048 {
2049 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2050 }
2051#else
2052 static
2053 symbol_type
2055 {
2057 }
2058#endif
2059#if 201103L <= YY_CPLUSPLUS
2060 static
2061 symbol_type
2063 {
2064 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2065 }
2066#else
2067 static
2068 symbol_type
2070 {
2072 }
2073#endif
2074#if 201103L <= YY_CPLUSPLUS
2075 static
2076 symbol_type
2078 {
2079 return symbol_type (token::TOKEN_TYPE, std::move (l));
2080 }
2081#else
2082 static
2083 symbol_type
2085 {
2086 return symbol_type (token::TOKEN_TYPE, l);
2087 }
2088#endif
2089#if 201103L <= YY_CPLUSPLUS
2090 static
2091 symbol_type
2093 {
2094 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2095 }
2096#else
2097 static
2098 symbol_type
2100 {
2102 }
2103#endif
2104#if 201103L <= YY_CPLUSPLUS
2105 static
2106 symbol_type
2108 {
2109 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2110 }
2111#else
2112 static
2113 symbol_type
2115 {
2116 return symbol_type (token::TOKEN_MYSQL, l);
2117 }
2118#endif
2119#if 201103L <= YY_CPLUSPLUS
2120 static
2121 symbol_type
2123 {
2124 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2125 }
2126#else
2127 static
2128 symbol_type
2130 {
2132 }
2133#endif
2134#if 201103L <= YY_CPLUSPLUS
2135 static
2136 symbol_type
2138 {
2139 return symbol_type (token::TOKEN_CQL, std::move (l));
2140 }
2141#else
2142 static
2143 symbol_type
2145 {
2146 return symbol_type (token::TOKEN_CQL, l);
2147 }
2148#endif
2149#if 201103L <= YY_CPLUSPLUS
2150 static
2151 symbol_type
2153 {
2154 return symbol_type (token::TOKEN_USER, std::move (l));
2155 }
2156#else
2157 static
2158 symbol_type
2160 {
2161 return symbol_type (token::TOKEN_USER, l);
2162 }
2163#endif
2164#if 201103L <= YY_CPLUSPLUS
2165 static
2166 symbol_type
2168 {
2169 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2170 }
2171#else
2172 static
2173 symbol_type
2175 {
2177 }
2178#endif
2179#if 201103L <= YY_CPLUSPLUS
2180 static
2181 symbol_type
2183 {
2184 return symbol_type (token::TOKEN_HOST, std::move (l));
2185 }
2186#else
2187 static
2188 symbol_type
2190 {
2191 return symbol_type (token::TOKEN_HOST, l);
2192 }
2193#endif
2194#if 201103L <= YY_CPLUSPLUS
2195 static
2196 symbol_type
2198 {
2199 return symbol_type (token::TOKEN_PORT, std::move (l));
2200 }
2201#else
2202 static
2203 symbol_type
2205 {
2206 return symbol_type (token::TOKEN_PORT, l);
2207 }
2208#endif
2209#if 201103L <= YY_CPLUSPLUS
2210 static
2211 symbol_type
2213 {
2214 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2215 }
2216#else
2217 static
2218 symbol_type
2220 {
2222 }
2223#endif
2224#if 201103L <= YY_CPLUSPLUS
2225 static
2226 symbol_type
2228 {
2229 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2230 }
2231#else
2232 static
2233 symbol_type
2235 {
2237 }
2238#endif
2239#if 201103L <= YY_CPLUSPLUS
2240 static
2241 symbol_type
2243 {
2244 return symbol_type (token::TOKEN_READONLY, std::move (l));
2245 }
2246#else
2247 static
2248 symbol_type
2250 {
2252 }
2253#endif
2254#if 201103L <= YY_CPLUSPLUS
2255 static
2256 symbol_type
2258 {
2259 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2260 }
2261#else
2262 static
2263 symbol_type
2265 {
2267 }
2268#endif
2269#if 201103L <= YY_CPLUSPLUS
2270 static
2271 symbol_type
2273 {
2274 return symbol_type (token::TOKEN_CONTACT_POINTS, std::move (l));
2275 }
2276#else
2277 static
2278 symbol_type
2280 {
2282 }
2283#endif
2284#if 201103L <= YY_CPLUSPLUS
2285 static
2286 symbol_type
2288 {
2289 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2290 }
2291#else
2292 static
2293 symbol_type
2295 {
2297 }
2298#endif
2299#if 201103L <= YY_CPLUSPLUS
2300 static
2301 symbol_type
2303 {
2304 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2305 }
2306#else
2307 static
2308 symbol_type
2310 {
2312 }
2313#endif
2314#if 201103L <= YY_CPLUSPLUS
2315 static
2316 symbol_type
2318 {
2319 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2320 }
2321#else
2322 static
2323 symbol_type
2325 {
2327 }
2328#endif
2329#if 201103L <= YY_CPLUSPLUS
2330 static
2331 symbol_type
2333 {
2334 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2335 }
2336#else
2337 static
2338 symbol_type
2340 {
2342 }
2343#endif
2344#if 201103L <= YY_CPLUSPLUS
2345 static
2346 symbol_type
2348 {
2349 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2350 }
2351#else
2352 static
2353 symbol_type
2355 {
2357 }
2358#endif
2359#if 201103L <= YY_CPLUSPLUS
2360 static
2361 symbol_type
2363 {
2364 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2365 }
2366#else
2367 static
2368 symbol_type
2370 {
2372 }
2373#endif
2374#if 201103L <= YY_CPLUSPLUS
2375 static
2376 symbol_type
2378 {
2379 return symbol_type (token::TOKEN_KEYSPACE, std::move (l));
2380 }
2381#else
2382 static
2383 symbol_type
2385 {
2387 }
2388#endif
2389#if 201103L <= YY_CPLUSPLUS
2390 static
2391 symbol_type
2393 {
2394 return symbol_type (token::TOKEN_CONSISTENCY, std::move (l));
2395 }
2396#else
2397 static
2398 symbol_type
2400 {
2402 }
2403#endif
2404#if 201103L <= YY_CPLUSPLUS
2405 static
2406 symbol_type
2408 {
2409 return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, std::move (l));
2410 }
2411#else
2412 static
2413 symbol_type
2415 {
2417 }
2418#endif
2419#if 201103L <= YY_CPLUSPLUS
2420 static
2421 symbol_type
2423 {
2424 return symbol_type (token::TOKEN_REQUEST_TIMEOUT, std::move (l));
2425 }
2426#else
2427 static
2428 symbol_type
2430 {
2432 }
2433#endif
2434#if 201103L <= YY_CPLUSPLUS
2435 static
2436 symbol_type
2438 {
2439 return symbol_type (token::TOKEN_TCP_KEEPALIVE, std::move (l));
2440 }
2441#else
2442 static
2443 symbol_type
2445 {
2447 }
2448#endif
2449#if 201103L <= YY_CPLUSPLUS
2450 static
2451 symbol_type
2453 {
2454 return symbol_type (token::TOKEN_TCP_NODELAY, std::move (l));
2455 }
2456#else
2457 static
2458 symbol_type
2460 {
2462 }
2463#endif
2464#if 201103L <= YY_CPLUSPLUS
2465 static
2466 symbol_type
2468 {
2469 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2470 }
2471#else
2472 static
2473 symbol_type
2475 {
2477 }
2478#endif
2479#if 201103L <= YY_CPLUSPLUS
2480 static
2481 symbol_type
2483 {
2484 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
2485 }
2486#else
2487 static
2488 symbol_type
2490 {
2492 }
2493#endif
2494#if 201103L <= YY_CPLUSPLUS
2495 static
2496 symbol_type
2498 {
2499 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
2500 }
2501#else
2502 static
2503 symbol_type
2505 {
2507 }
2508#endif
2509#if 201103L <= YY_CPLUSPLUS
2510 static
2511 symbol_type
2513 {
2514 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
2515 }
2516#else
2517 static
2518 symbol_type
2520 {
2522 }
2523#endif
2524#if 201103L <= YY_CPLUSPLUS
2525 static
2526 symbol_type
2528 {
2529 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2530 }
2531#else
2532 static
2533 symbol_type
2535 {
2537 }
2538#endif
2539#if 201103L <= YY_CPLUSPLUS
2540 static
2541 symbol_type
2543 {
2544 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2545 }
2546#else
2547 static
2548 symbol_type
2550 {
2552 }
2553#endif
2554#if 201103L <= YY_CPLUSPLUS
2555 static
2556 symbol_type
2558 {
2559 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2560 }
2561#else
2562 static
2563 symbol_type
2565 {
2567 }
2568#endif
2569#if 201103L <= YY_CPLUSPLUS
2570 static
2571 symbol_type
2573 {
2574 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2575 }
2576#else
2577 static
2578 symbol_type
2580 {
2582 }
2583#endif
2584#if 201103L <= YY_CPLUSPLUS
2585 static
2586 symbol_type
2588 {
2589 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2590 }
2591#else
2592 static
2593 symbol_type
2595 {
2597 }
2598#endif
2599#if 201103L <= YY_CPLUSPLUS
2600 static
2601 symbol_type
2603 {
2604 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2605 }
2606#else
2607 static
2608 symbol_type
2610 {
2612 }
2613#endif
2614#if 201103L <= YY_CPLUSPLUS
2615 static
2616 symbol_type
2618 {
2619 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2620 }
2621#else
2622 static
2623 symbol_type
2625 {
2627 }
2628#endif
2629#if 201103L <= YY_CPLUSPLUS
2630 static
2631 symbol_type
2633 {
2634 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2635 }
2636#else
2637 static
2638 symbol_type
2640 {
2642 }
2643#endif
2644#if 201103L <= YY_CPLUSPLUS
2645 static
2646 symbol_type
2648 {
2649 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2650 }
2651#else
2652 static
2653 symbol_type
2655 {
2657 }
2658#endif
2659#if 201103L <= YY_CPLUSPLUS
2660 static
2661 symbol_type
2663 {
2664 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2665 }
2666#else
2667 static
2668 symbol_type
2670 {
2672 }
2673#endif
2674#if 201103L <= YY_CPLUSPLUS
2675 static
2676 symbol_type
2678 {
2679 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2680 }
2681#else
2682 static
2683 symbol_type
2685 {
2687 }
2688#endif
2689#if 201103L <= YY_CPLUSPLUS
2690 static
2691 symbol_type
2693 {
2694 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2695 }
2696#else
2697 static
2698 symbol_type
2700 {
2702 }
2703#endif
2704#if 201103L <= YY_CPLUSPLUS
2705 static
2706 symbol_type
2708 {
2709 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2710 }
2711#else
2712 static
2713 symbol_type
2715 {
2717 }
2718#endif
2719#if 201103L <= YY_CPLUSPLUS
2720 static
2721 symbol_type
2723 {
2724 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2725 }
2726#else
2727 static
2728 symbol_type
2730 {
2732 }
2733#endif
2734#if 201103L <= YY_CPLUSPLUS
2735 static
2736 symbol_type
2738 {
2739 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2740 }
2741#else
2742 static
2743 symbol_type
2745 {
2747 }
2748#endif
2749#if 201103L <= YY_CPLUSPLUS
2750 static
2751 symbol_type
2753 {
2754 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2755 }
2756#else
2757 static
2758 symbol_type
2760 {
2762 }
2763#endif
2764#if 201103L <= YY_CPLUSPLUS
2765 static
2766 symbol_type
2768 {
2769 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2770 }
2771#else
2772 static
2773 symbol_type
2775 {
2777 }
2778#endif
2779#if 201103L <= YY_CPLUSPLUS
2780 static
2781 symbol_type
2783 {
2784 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2785 }
2786#else
2787 static
2788 symbol_type
2790 {
2792 }
2793#endif
2794#if 201103L <= YY_CPLUSPLUS
2795 static
2796 symbol_type
2798 {
2799 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2800 }
2801#else
2802 static
2803 symbol_type
2805 {
2807 }
2808#endif
2809#if 201103L <= YY_CPLUSPLUS
2810 static
2811 symbol_type
2813 {
2814 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2815 }
2816#else
2817 static
2818 symbol_type
2820 {
2822 }
2823#endif
2824#if 201103L <= YY_CPLUSPLUS
2825 static
2826 symbol_type
2828 {
2829 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2830 }
2831#else
2832 static
2833 symbol_type
2835 {
2837 }
2838#endif
2839#if 201103L <= YY_CPLUSPLUS
2840 static
2841 symbol_type
2843 {
2844 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2845 }
2846#else
2847 static
2848 symbol_type
2850 {
2852 }
2853#endif
2854#if 201103L <= YY_CPLUSPLUS
2855 static
2856 symbol_type
2858 {
2859 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
2860 }
2861#else
2862 static
2863 symbol_type
2865 {
2867 }
2868#endif
2869#if 201103L <= YY_CPLUSPLUS
2870 static
2871 symbol_type
2873 {
2874 return symbol_type (token::TOKEN_SUBNET6, std::move (l));
2875 }
2876#else
2877 static
2878 symbol_type
2880 {
2882 }
2883#endif
2884#if 201103L <= YY_CPLUSPLUS
2885 static
2886 symbol_type
2888 {
2889 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
2890 }
2891#else
2892 static
2893 symbol_type
2895 {
2897 }
2898#endif
2899#if 201103L <= YY_CPLUSPLUS
2900 static
2901 symbol_type
2903 {
2904 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
2905 }
2906#else
2907 static
2908 symbol_type
2910 {
2912 }
2913#endif
2914#if 201103L <= YY_CPLUSPLUS
2915 static
2916 symbol_type
2918 {
2919 return symbol_type (token::TOKEN_NAME, std::move (l));
2920 }
2921#else
2922 static
2923 symbol_type
2925 {
2926 return symbol_type (token::TOKEN_NAME, l);
2927 }
2928#endif
2929#if 201103L <= YY_CPLUSPLUS
2930 static
2931 symbol_type
2933 {
2934 return symbol_type (token::TOKEN_DATA, std::move (l));
2935 }
2936#else
2937 static
2938 symbol_type
2940 {
2941 return symbol_type (token::TOKEN_DATA, l);
2942 }
2943#endif
2944#if 201103L <= YY_CPLUSPLUS
2945 static
2946 symbol_type
2948 {
2949 return symbol_type (token::TOKEN_CODE, std::move (l));
2950 }
2951#else
2952 static
2953 symbol_type
2955 {
2956 return symbol_type (token::TOKEN_CODE, l);
2957 }
2958#endif
2959#if 201103L <= YY_CPLUSPLUS
2960 static
2961 symbol_type
2963 {
2964 return symbol_type (token::TOKEN_SPACE, std::move (l));
2965 }
2966#else
2967 static
2968 symbol_type
2970 {
2971 return symbol_type (token::TOKEN_SPACE, l);
2972 }
2973#endif
2974#if 201103L <= YY_CPLUSPLUS
2975 static
2976 symbol_type
2978 {
2979 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
2980 }
2981#else
2982 static
2983 symbol_type
2985 {
2987 }
2988#endif
2989#if 201103L <= YY_CPLUSPLUS
2990 static
2991 symbol_type
2993 {
2994 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
2995 }
2996#else
2997 static
2998 symbol_type
3000 {
3002 }
3003#endif
3004#if 201103L <= YY_CPLUSPLUS
3005 static
3006 symbol_type
3008 {
3009 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3010 }
3011#else
3012 static
3013 symbol_type
3015 {
3017 }
3018#endif
3019#if 201103L <= YY_CPLUSPLUS
3020 static
3021 symbol_type
3023 {
3024 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3025 }
3026#else
3027 static
3028 symbol_type
3030 {
3032 }
3033#endif
3034#if 201103L <= YY_CPLUSPLUS
3035 static
3036 symbol_type
3038 {
3039 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3040 }
3041#else
3042 static
3043 symbol_type
3045 {
3046 return symbol_type (token::TOKEN_ARRAY, l);
3047 }
3048#endif
3049#if 201103L <= YY_CPLUSPLUS
3050 static
3051 symbol_type
3053 {
3054 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3055 }
3056#else
3057 static
3058 symbol_type
3060 {
3062 }
3063#endif
3064#if 201103L <= YY_CPLUSPLUS
3065 static
3066 symbol_type
3068 {
3069 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3070 }
3071#else
3072 static
3073 symbol_type
3075 {
3077 }
3078#endif
3079#if 201103L <= YY_CPLUSPLUS
3080 static
3081 symbol_type
3083 {
3084 return symbol_type (token::TOKEN_POOLS, std::move (l));
3085 }
3086#else
3087 static
3088 symbol_type
3090 {
3091 return symbol_type (token::TOKEN_POOLS, l);
3092 }
3093#endif
3094#if 201103L <= YY_CPLUSPLUS
3095 static
3096 symbol_type
3098 {
3099 return symbol_type (token::TOKEN_POOL, std::move (l));
3100 }
3101#else
3102 static
3103 symbol_type
3105 {
3106 return symbol_type (token::TOKEN_POOL, l);
3107 }
3108#endif
3109#if 201103L <= YY_CPLUSPLUS
3110 static
3111 symbol_type
3113 {
3114 return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
3115 }
3116#else
3117 static
3118 symbol_type
3120 {
3122 }
3123#endif
3124#if 201103L <= YY_CPLUSPLUS
3125 static
3126 symbol_type
3128 {
3129 return symbol_type (token::TOKEN_PREFIX, std::move (l));
3130 }
3131#else
3132 static
3133 symbol_type
3135 {
3136 return symbol_type (token::TOKEN_PREFIX, l);
3137 }
3138#endif
3139#if 201103L <= YY_CPLUSPLUS
3140 static
3141 symbol_type
3143 {
3144 return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
3145 }
3146#else
3147 static
3148 symbol_type
3150 {
3152 }
3153#endif
3154#if 201103L <= YY_CPLUSPLUS
3155 static
3156 symbol_type
3158 {
3159 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
3160 }
3161#else
3162 static
3163 symbol_type
3165 {
3167 }
3168#endif
3169#if 201103L <= YY_CPLUSPLUS
3170 static
3171 symbol_type
3173 {
3174 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
3175 }
3176#else
3177 static
3178 symbol_type
3180 {
3182 }
3183#endif
3184#if 201103L <= YY_CPLUSPLUS
3185 static
3186 symbol_type
3188 {
3189 return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
3190 }
3191#else
3192 static
3193 symbol_type
3195 {
3197 }
3198#endif
3199#if 201103L <= YY_CPLUSPLUS
3200 static
3201 symbol_type
3203 {
3204 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3205 }
3206#else
3207 static
3208 symbol_type
3210 {
3212 }
3213#endif
3214#if 201103L <= YY_CPLUSPLUS
3215 static
3216 symbol_type
3218 {
3219 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3220 }
3221#else
3222 static
3223 symbol_type
3225 {
3227 }
3228#endif
3229#if 201103L <= YY_CPLUSPLUS
3230 static
3231 symbol_type
3233 {
3234 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3235 }
3236#else
3237 static
3238 symbol_type
3240 {
3241 return symbol_type (token::TOKEN_SUBNET, l);
3242 }
3243#endif
3244#if 201103L <= YY_CPLUSPLUS
3245 static
3246 symbol_type
3248 {
3249 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3250 }
3251#else
3252 static
3253 symbol_type
3255 {
3257 }
3258#endif
3259#if 201103L <= YY_CPLUSPLUS
3260 static
3261 symbol_type
3263 {
3264 return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
3265 }
3266#else
3267 static
3268 symbol_type
3270 {
3272 }
3273#endif
3274#if 201103L <= YY_CPLUSPLUS
3275 static
3276 symbol_type
3278 {
3279 return symbol_type (token::TOKEN_ID, std::move (l));
3280 }
3281#else
3282 static
3283 symbol_type
3285 {
3286 return symbol_type (token::TOKEN_ID, l);
3287 }
3288#endif
3289#if 201103L <= YY_CPLUSPLUS
3290 static
3291 symbol_type
3293 {
3294 return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
3295 }
3296#else
3297 static
3298 symbol_type
3300 {
3302 }
3303#endif
3304#if 201103L <= YY_CPLUSPLUS
3305 static
3306 symbol_type
3308 {
3309 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3310 }
3311#else
3312 static
3313 symbol_type
3315 {
3317 }
3318#endif
3319#if 201103L <= YY_CPLUSPLUS
3320 static
3321 symbol_type
3323 {
3324 return symbol_type (token::TOKEN_DISABLED, std::move (l));
3325 }
3326#else
3327 static
3328 symbol_type
3330 {
3332 }
3333#endif
3334#if 201103L <= YY_CPLUSPLUS
3335 static
3336 symbol_type
3338 {
3339 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3340 }
3341#else
3342 static
3343 symbol_type
3345 {
3347 }
3348#endif
3349#if 201103L <= YY_CPLUSPLUS
3350 static
3351 symbol_type
3353 {
3354 return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3355 }
3356#else
3357 static
3358 symbol_type
3360 {
3361 return symbol_type (token::TOKEN_GLOBAL, l);
3362 }
3363#endif
3364#if 201103L <= YY_CPLUSPLUS
3365 static
3366 symbol_type
3368 {
3369 return symbol_type (token::TOKEN_ALL, std::move (l));
3370 }
3371#else
3372 static
3373 symbol_type
3375 {
3376 return symbol_type (token::TOKEN_ALL, l);
3377 }
3378#endif
3379#if 201103L <= YY_CPLUSPLUS
3380 static
3381 symbol_type
3383 {
3384 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3385 }
3386#else
3387 static
3388 symbol_type
3390 {
3392 }
3393#endif
3394#if 201103L <= YY_CPLUSPLUS
3395 static
3396 symbol_type
3398 {
3399 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3400 }
3401#else
3402 static
3403 symbol_type
3405 {
3407 }
3408#endif
3409#if 201103L <= YY_CPLUSPLUS
3410 static
3411 symbol_type
3413 {
3414 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3415 }
3416#else
3417 static
3418 symbol_type
3420 {
3422 }
3423#endif
3424#if 201103L <= YY_CPLUSPLUS
3425 static
3426 symbol_type
3428 {
3429 return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
3430 }
3431#else
3432 static
3433 symbol_type
3435 {
3437 }
3438#endif
3439#if 201103L <= YY_CPLUSPLUS
3440 static
3441 symbol_type
3443 {
3444 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
3445 }
3446#else
3447 static
3448 symbol_type
3450 {
3452 }
3453#endif
3454#if 201103L <= YY_CPLUSPLUS
3455 static
3456 symbol_type
3458 {
3459 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3460 }
3461#else
3462 static
3463 symbol_type
3465 {
3467 }
3468#endif
3469#if 201103L <= YY_CPLUSPLUS
3470 static
3471 symbol_type
3473 {
3474 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
3475 }
3476#else
3477 static
3478 symbol_type
3480 {
3482 }
3483#endif
3484#if 201103L <= YY_CPLUSPLUS
3485 static
3486 symbol_type
3488 {
3489 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
3490 }
3491#else
3492 static
3493 symbol_type
3495 {
3497 }
3498#endif
3499#if 201103L <= YY_CPLUSPLUS
3500 static
3501 symbol_type
3503 {
3504 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3505 }
3506#else
3507 static
3508 symbol_type
3510 {
3512 }
3513#endif
3514#if 201103L <= YY_CPLUSPLUS
3515 static
3516 symbol_type
3518 {
3519 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3520 }
3521#else
3522 static
3523 symbol_type
3525 {
3527 }
3528#endif
3529#if 201103L <= YY_CPLUSPLUS
3530 static
3531 symbol_type
3533 {
3534 return symbol_type (token::TOKEN_TEST, std::move (l));
3535 }
3536#else
3537 static
3538 symbol_type
3540 {
3541 return symbol_type (token::TOKEN_TEST, l);
3542 }
3543#endif
3544#if 201103L <= YY_CPLUSPLUS
3545 static
3546 symbol_type
3548 {
3549 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3550 }
3551#else
3552 static
3553 symbol_type
3555 {
3557 }
3558#endif
3559#if 201103L <= YY_CPLUSPLUS
3560 static
3561 symbol_type
3563 {
3564 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3565 }
3566#else
3567 static
3568 symbol_type
3570 {
3572 }
3573#endif
3574#if 201103L <= YY_CPLUSPLUS
3575 static
3576 symbol_type
3578 {
3579 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3580 }
3581#else
3582 static
3583 symbol_type
3585 {
3587 }
3588#endif
3589#if 201103L <= YY_CPLUSPLUS
3590 static
3591 symbol_type
3593 {
3594 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3595 }
3596#else
3597 static
3598 symbol_type
3600 {
3602 }
3603#endif
3604#if 201103L <= YY_CPLUSPLUS
3605 static
3606 symbol_type
3608 {
3609 return symbol_type (token::TOKEN_PREFIXES, std::move (l));
3610 }
3611#else
3612 static
3613 symbol_type
3615 {
3617 }
3618#endif
3619#if 201103L <= YY_CPLUSPLUS
3620 static
3621 symbol_type
3623 {
3624 return symbol_type (token::TOKEN_DUID, std::move (l));
3625 }
3626#else
3627 static
3628 symbol_type
3630 {
3631 return symbol_type (token::TOKEN_DUID, l);
3632 }
3633#endif
3634#if 201103L <= YY_CPLUSPLUS
3635 static
3636 symbol_type
3638 {
3639 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3640 }
3641#else
3642 static
3643 symbol_type
3645 {
3647 }
3648#endif
3649#if 201103L <= YY_CPLUSPLUS
3650 static
3651 symbol_type
3653 {
3654 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3655 }
3656#else
3657 static
3658 symbol_type
3660 {
3662 }
3663#endif
3664#if 201103L <= YY_CPLUSPLUS
3665 static
3666 symbol_type
3668 {
3669 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3670 }
3671#else
3672 static
3673 symbol_type
3675 {
3677 }
3678#endif
3679#if 201103L <= YY_CPLUSPLUS
3680 static
3681 symbol_type
3683 {
3684 return symbol_type (token::TOKEN_RELAY, std::move (l));
3685 }
3686#else
3687 static
3688 symbol_type
3690 {
3691 return symbol_type (token::TOKEN_RELAY, l);
3692 }
3693#endif
3694#if 201103L <= YY_CPLUSPLUS
3695 static
3696 symbol_type
3698 {
3699 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3700 }
3701#else
3702 static
3703 symbol_type
3705 {
3707 }
3708#endif
3709#if 201103L <= YY_CPLUSPLUS
3710 static
3711 symbol_type
3713 {
3714 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
3715 }
3716#else
3717 static
3718 symbol_type
3720 {
3722 }
3723#endif
3724#if 201103L <= YY_CPLUSPLUS
3725 static
3726 symbol_type
3728 {
3729 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
3730 }
3731#else
3732 static
3733 symbol_type
3735 {
3737 }
3738#endif
3739#if 201103L <= YY_CPLUSPLUS
3740 static
3741 symbol_type
3743 {
3744 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
3745 }
3746#else
3747 static
3748 symbol_type
3750 {
3752 }
3753#endif
3754#if 201103L <= YY_CPLUSPLUS
3755 static
3756 symbol_type
3758 {
3759 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
3760 }
3761#else
3762 static
3763 symbol_type
3765 {
3767 }
3768#endif
3769#if 201103L <= YY_CPLUSPLUS
3770 static
3771 symbol_type
3773 {
3774 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
3775 }
3776#else
3777 static
3778 symbol_type
3780 {
3782 }
3783#endif
3784#if 201103L <= YY_CPLUSPLUS
3785 static
3786 symbol_type
3788 {
3789 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
3790 }
3791#else
3792 static
3793 symbol_type
3795 {
3797 }
3798#endif
3799#if 201103L <= YY_CPLUSPLUS
3800 static
3801 symbol_type
3803 {
3804 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
3805 }
3806#else
3807 static
3808 symbol_type
3810 {
3812 }
3813#endif
3814#if 201103L <= YY_CPLUSPLUS
3815 static
3816 symbol_type
3818 {
3819 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
3820 }
3821#else
3822 static
3823 symbol_type
3825 {
3827 }
3828#endif
3829#if 201103L <= YY_CPLUSPLUS
3830 static
3831 symbol_type
3833 {
3834 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
3835 }
3836#else
3837 static
3838 symbol_type
3840 {
3842 }
3843#endif
3844#if 201103L <= YY_CPLUSPLUS
3845 static
3846 symbol_type
3848 {
3849 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
3850 }
3851#else
3852 static
3853 symbol_type
3855 {
3857 }
3858#endif
3859#if 201103L <= YY_CPLUSPLUS
3860 static
3861 symbol_type
3863 {
3864 return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
3865 }
3866#else
3867 static
3868 symbol_type
3870 {
3872 }
3873#endif
3874#if 201103L <= YY_CPLUSPLUS
3875 static
3876 symbol_type
3878 {
3879 return symbol_type (token::TOKEN_LLT, std::move (l));
3880 }
3881#else
3882 static
3883 symbol_type
3885 {
3886 return symbol_type (token::TOKEN_LLT, l);
3887 }
3888#endif
3889#if 201103L <= YY_CPLUSPLUS
3890 static
3891 symbol_type
3893 {
3894 return symbol_type (token::TOKEN_EN, std::move (l));
3895 }
3896#else
3897 static
3898 symbol_type
3900 {
3901 return symbol_type (token::TOKEN_EN, l);
3902 }
3903#endif
3904#if 201103L <= YY_CPLUSPLUS
3905 static
3906 symbol_type
3908 {
3909 return symbol_type (token::TOKEN_LL, std::move (l));
3910 }
3911#else
3912 static
3913 symbol_type
3915 {
3916 return symbol_type (token::TOKEN_LL, l);
3917 }
3918#endif
3919#if 201103L <= YY_CPLUSPLUS
3920 static
3921 symbol_type
3923 {
3924 return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
3925 }
3926#else
3927 static
3928 symbol_type
3930 {
3932 }
3933#endif
3934#if 201103L <= YY_CPLUSPLUS
3935 static
3936 symbol_type
3938 {
3939 return symbol_type (token::TOKEN_HTYPE, std::move (l));
3940 }
3941#else
3942 static
3943 symbol_type
3945 {
3946 return symbol_type (token::TOKEN_HTYPE, l);
3947 }
3948#endif
3949#if 201103L <= YY_CPLUSPLUS
3950 static
3951 symbol_type
3953 {
3954 return symbol_type (token::TOKEN_TIME, std::move (l));
3955 }
3956#else
3957 static
3958 symbol_type
3960 {
3961 return symbol_type (token::TOKEN_TIME, l);
3962 }
3963#endif
3964#if 201103L <= YY_CPLUSPLUS
3965 static
3966 symbol_type
3968 {
3969 return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
3970 }
3971#else
3972 static
3973 symbol_type
3975 {
3977 }
3978#endif
3979#if 201103L <= YY_CPLUSPLUS
3980 static
3981 symbol_type
3983 {
3984 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
3985 }
3986#else
3987 static
3988 symbol_type
3990 {
3992 }
3993#endif
3994#if 201103L <= YY_CPLUSPLUS
3995 static
3996 symbol_type
3998 {
3999 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4000 }
4001#else
4002 static
4003 symbol_type
4005 {
4007 }
4008#endif
4009#if 201103L <= YY_CPLUSPLUS
4010 static
4011 symbol_type
4013 {
4014 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4015 }
4016#else
4017 static
4018 symbol_type
4020 {
4022 }
4023#endif
4024#if 201103L <= YY_CPLUSPLUS
4025 static
4026 symbol_type
4028 {
4029 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4030 }
4031#else
4032 static
4033 symbol_type
4035 {
4037 }
4038#endif
4039#if 201103L <= YY_CPLUSPLUS
4040 static
4041 symbol_type
4043 {
4044 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4045 }
4046#else
4047 static
4048 symbol_type
4050 {
4052 }
4053#endif
4054#if 201103L <= YY_CPLUSPLUS
4055 static
4056 symbol_type
4058 {
4059 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4060 }
4061#else
4062 static
4063 symbol_type
4065 {
4067 }
4068#endif
4069#if 201103L <= YY_CPLUSPLUS
4070 static
4071 symbol_type
4073 {
4074 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4075 }
4076#else
4077 static
4078 symbol_type
4080 {
4082 }
4083#endif
4084#if 201103L <= YY_CPLUSPLUS
4085 static
4086 symbol_type
4088 {
4089 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4090 }
4091#else
4092 static
4093 symbol_type
4095 {
4097 }
4098#endif
4099#if 201103L <= YY_CPLUSPLUS
4100 static
4101 symbol_type
4103 {
4104 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4105 }
4106#else
4107 static
4108 symbol_type
4110 {
4112 }
4113#endif
4114#if 201103L <= YY_CPLUSPLUS
4115 static
4116 symbol_type
4118 {
4119 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4120 }
4121#else
4122 static
4123 symbol_type
4125 {
4127 }
4128#endif
4129#if 201103L <= YY_CPLUSPLUS
4130 static
4131 symbol_type
4133 {
4134 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4135 }
4136#else
4137 static
4138 symbol_type
4140 {
4142 }
4143#endif
4144#if 201103L <= YY_CPLUSPLUS
4145 static
4146 symbol_type
4148 {
4149 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4150 }
4151#else
4152 static
4153 symbol_type
4155 {
4157 }
4158#endif
4159#if 201103L <= YY_CPLUSPLUS
4160 static
4161 symbol_type
4163 {
4164 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4165 }
4166#else
4167 static
4168 symbol_type
4170 {
4172 }
4173#endif
4174#if 201103L <= YY_CPLUSPLUS
4175 static
4176 symbol_type
4178 {
4179 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4180 }
4181#else
4182 static
4183 symbol_type
4185 {
4187 }
4188#endif
4189#if 201103L <= YY_CPLUSPLUS
4190 static
4191 symbol_type
4193 {
4194 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4195 }
4196#else
4197 static
4198 symbol_type
4200 {
4202 }
4203#endif
4204#if 201103L <= YY_CPLUSPLUS
4205 static
4206 symbol_type
4208 {
4209 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4210 }
4211#else
4212 static
4213 symbol_type
4215 {
4217 }
4218#endif
4219#if 201103L <= YY_CPLUSPLUS
4220 static
4221 symbol_type
4223 {
4224 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4225 }
4226#else
4227 static
4228 symbol_type
4230 {
4232 }
4233#endif
4234#if 201103L <= YY_CPLUSPLUS
4235 static
4236 symbol_type
4238 {
4239 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4240 }
4241#else
4242 static
4243 symbol_type
4245 {
4247 }
4248#endif
4249#if 201103L <= YY_CPLUSPLUS
4250 static
4251 symbol_type
4253 {
4254 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4255 }
4256#else
4257 static
4258 symbol_type
4260 {
4262 }
4263#endif
4264#if 201103L <= YY_CPLUSPLUS
4265 static
4266 symbol_type
4268 {
4269 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4270 }
4271#else
4272 static
4273 symbol_type
4275 {
4277 }
4278#endif
4279#if 201103L <= YY_CPLUSPLUS
4280 static
4281 symbol_type
4283 {
4284 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4285 }
4286#else
4287 static
4288 symbol_type
4290 {
4292 }
4293#endif
4294#if 201103L <= YY_CPLUSPLUS
4295 static
4296 symbol_type
4298 {
4299 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4300 }
4301#else
4302 static
4303 symbol_type
4305 {
4307 }
4308#endif
4309#if 201103L <= YY_CPLUSPLUS
4310 static
4311 symbol_type
4313 {
4314 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4315 }
4316#else
4317 static
4318 symbol_type
4320 {
4322 }
4323#endif
4324#if 201103L <= YY_CPLUSPLUS
4325 static
4326 symbol_type
4328 {
4329 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4330 }
4331#else
4332 static
4333 symbol_type
4335 {
4337 }
4338#endif
4339#if 201103L <= YY_CPLUSPLUS
4340 static
4341 symbol_type
4343 {
4344 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4345 }
4346#else
4347 static
4348 symbol_type
4350 {
4352 }
4353#endif
4354#if 201103L <= YY_CPLUSPLUS
4355 static
4356 symbol_type
4358 {
4359 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4360 }
4361#else
4362 static
4363 symbol_type
4365 {
4367 }
4368#endif
4369#if 201103L <= YY_CPLUSPLUS
4370 static
4371 symbol_type
4373 {
4374 return symbol_type (token::TOKEN_UDP, std::move (l));
4375 }
4376#else
4377 static
4378 symbol_type
4380 {
4381 return symbol_type (token::TOKEN_UDP, l);
4382 }
4383#endif
4384#if 201103L <= YY_CPLUSPLUS
4385 static
4386 symbol_type
4388 {
4389 return symbol_type (token::TOKEN_TCP, std::move (l));
4390 }
4391#else
4392 static
4393 symbol_type
4395 {
4396 return symbol_type (token::TOKEN_TCP, l);
4397 }
4398#endif
4399#if 201103L <= YY_CPLUSPLUS
4400 static
4401 symbol_type
4403 {
4404 return symbol_type (token::TOKEN_JSON, std::move (l));
4405 }
4406#else
4407 static
4408 symbol_type
4410 {
4411 return symbol_type (token::TOKEN_JSON, l);
4412 }
4413#endif
4414#if 201103L <= YY_CPLUSPLUS
4415 static
4416 symbol_type
4418 {
4419 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4420 }
4421#else
4422 static
4423 symbol_type
4425 {
4427 }
4428#endif
4429#if 201103L <= YY_CPLUSPLUS
4430 static
4431 symbol_type
4433 {
4434 return symbol_type (token::TOKEN_NEVER, std::move (l));
4435 }
4436#else
4437 static
4438 symbol_type
4440 {
4441 return symbol_type (token::TOKEN_NEVER, l);
4442 }
4443#endif
4444#if 201103L <= YY_CPLUSPLUS
4445 static
4446 symbol_type
4448 {
4449 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4450 }
4451#else
4452 static
4453 symbol_type
4455 {
4456 return symbol_type (token::TOKEN_ALWAYS, l);
4457 }
4458#endif
4459#if 201103L <= YY_CPLUSPLUS
4460 static
4461 symbol_type
4463 {
4464 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4465 }
4466#else
4467 static
4468 symbol_type
4470 {
4472 }
4473#endif
4474#if 201103L <= YY_CPLUSPLUS
4475 static
4476 symbol_type
4478 {
4479 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4480 }
4481#else
4482 static
4483 symbol_type
4485 {
4487 }
4488#endif
4489#if 201103L <= YY_CPLUSPLUS
4490 static
4491 symbol_type
4493 {
4494 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4495 }
4496#else
4497 static
4498 symbol_type
4500 {
4502 }
4503#endif
4504#if 201103L <= YY_CPLUSPLUS
4505 static
4506 symbol_type
4508 {
4509 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4510 }
4511#else
4512 static
4513 symbol_type
4515 {
4517 }
4518#endif
4519#if 201103L <= YY_CPLUSPLUS
4520 static
4521 symbol_type
4523 {
4524 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4525 }
4526#else
4527 static
4528 symbol_type
4530 {
4532 }
4533#endif
4534#if 201103L <= YY_CPLUSPLUS
4535 static
4536 symbol_type
4538 {
4539 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4540 }
4541#else
4542 static
4543 symbol_type
4545 {
4547 }
4548#endif
4549#if 201103L <= YY_CPLUSPLUS
4550 static
4551 symbol_type
4553 {
4554 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4555 }
4556#else
4557 static
4558 symbol_type
4560 {
4561 return symbol_type (token::TOKEN_OUTPUT, l);
4562 }
4563#endif
4564#if 201103L <= YY_CPLUSPLUS
4565 static
4566 symbol_type
4568 {
4569 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4570 }
4571#else
4572 static
4573 symbol_type
4575 {
4577 }
4578#endif
4579#if 201103L <= YY_CPLUSPLUS
4580 static
4581 symbol_type
4583 {
4584 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4585 }
4586#else
4587 static
4588 symbol_type
4590 {
4592 }
4593#endif
4594#if 201103L <= YY_CPLUSPLUS
4595 static
4596 symbol_type
4598 {
4599 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4600 }
4601#else
4602 static
4603 symbol_type
4605 {
4606 return symbol_type (token::TOKEN_FLUSH, l);
4607 }
4608#endif
4609#if 201103L <= YY_CPLUSPLUS
4610 static
4611 symbol_type
4613 {
4614 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4615 }
4616#else
4617 static
4618 symbol_type
4620 {
4622 }
4623#endif
4624#if 201103L <= YY_CPLUSPLUS
4625 static
4626 symbol_type
4628 {
4629 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4630 }
4631#else
4632 static
4633 symbol_type
4635 {
4636 return symbol_type (token::TOKEN_MAXVER, l);
4637 }
4638#endif
4639#if 201103L <= YY_CPLUSPLUS
4640 static
4641 symbol_type
4643 {
4644 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4645 }
4646#else
4647 static
4648 symbol_type
4650 {
4652 }
4653#endif
4654#if 201103L <= YY_CPLUSPLUS
4655 static
4656 symbol_type
4658 {
4659 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4660 }
4661#else
4662 static
4663 symbol_type
4665 {
4667 }
4668#endif
4669#if 201103L <= YY_CPLUSPLUS
4670 static
4671 symbol_type
4673 {
4674 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4675 }
4676#else
4677 static
4678 symbol_type
4680 {
4682 }
4683#endif
4684#if 201103L <= YY_CPLUSPLUS
4685 static
4686 symbol_type
4688 {
4689 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4690 }
4691#else
4692 static
4693 symbol_type
4695 {
4697 }
4698#endif
4699#if 201103L <= YY_CPLUSPLUS
4700 static
4701 symbol_type
4703 {
4704 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
4705 }
4706#else
4707 static
4708 symbol_type
4710 {
4712 }
4713#endif
4714#if 201103L <= YY_CPLUSPLUS
4715 static
4716 symbol_type
4718 {
4719 return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
4720 }
4721#else
4722 static
4723 symbol_type
4725 {
4727 }
4728#endif
4729#if 201103L <= YY_CPLUSPLUS
4730 static
4731 symbol_type
4733 {
4734 return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
4735 }
4736#else
4737 static
4738 symbol_type
4740 {
4742 }
4743#endif
4744#if 201103L <= YY_CPLUSPLUS
4745 static
4746 symbol_type
4748 {
4749 return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
4750 }
4751#else
4752 static
4753 symbol_type
4755 {
4757 }
4758#endif
4759#if 201103L <= YY_CPLUSPLUS
4760 static
4761 symbol_type
4763 {
4764 return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
4765 }
4766#else
4767 static
4768 symbol_type
4770 {
4772 }
4773#endif
4774#if 201103L <= YY_CPLUSPLUS
4775 static
4776 symbol_type
4778 {
4779 return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
4780 }
4781#else
4782 static
4783 symbol_type
4785 {
4787 }
4788#endif
4789#if 201103L <= YY_CPLUSPLUS
4790 static
4791 symbol_type
4793 {
4794 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
4795 }
4796#else
4797 static
4798 symbol_type
4800 {
4802 }
4803#endif
4804#if 201103L <= YY_CPLUSPLUS
4805 static
4806 symbol_type
4808 {
4809 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
4810 }
4811#else
4812 static
4813 symbol_type
4815 {
4817 }
4818#endif
4819#if 201103L <= YY_CPLUSPLUS
4820 static
4821 symbol_type
4823 {
4824 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
4825 }
4826#else
4827 static
4828 symbol_type
4830 {
4832 }
4833#endif
4834#if 201103L <= YY_CPLUSPLUS
4835 static
4836 symbol_type
4838 {
4839 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
4840 }
4841#else
4842 static
4843 symbol_type
4845 {
4847 }
4848#endif
4849#if 201103L <= YY_CPLUSPLUS
4850 static
4851 symbol_type
4853 {
4854 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
4855 }
4856#else
4857 static
4858 symbol_type
4860 {
4862 }
4863#endif
4864#if 201103L <= YY_CPLUSPLUS
4865 static
4866 symbol_type
4868 {
4869 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
4870 }
4871#else
4872 static
4873 symbol_type
4875 {
4877 }
4878#endif
4879#if 201103L <= YY_CPLUSPLUS
4880 static
4881 symbol_type
4883 {
4884 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
4885 }
4886#else
4887 static
4888 symbol_type
4890 {
4892 }
4893#endif
4894#if 201103L <= YY_CPLUSPLUS
4895 static
4896 symbol_type
4897 make_STRING (std::string v, location_type l)
4898 {
4899 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
4900 }
4901#else
4902 static
4903 symbol_type
4904 make_STRING (const std::string& v, const location_type& l)
4905 {
4906 return symbol_type (token::TOKEN_STRING, v, l);
4907 }
4908#endif
4909#if 201103L <= YY_CPLUSPLUS
4910 static
4911 symbol_type
4912 make_INTEGER (int64_t v, location_type l)
4913 {
4914 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
4915 }
4916#else
4917 static
4918 symbol_type
4919 make_INTEGER (const int64_t& v, const location_type& l)
4920 {
4921 return symbol_type (token::TOKEN_INTEGER, v, l);
4922 }
4923#endif
4924#if 201103L <= YY_CPLUSPLUS
4925 static
4926 symbol_type
4927 make_FLOAT (double v, location_type l)
4928 {
4929 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
4930 }
4931#else
4932 static
4933 symbol_type
4934 make_FLOAT (const double& v, const location_type& l)
4935 {
4936 return symbol_type (token::TOKEN_FLOAT, v, l);
4937 }
4938#endif
4939#if 201103L <= YY_CPLUSPLUS
4940 static
4941 symbol_type
4942 make_BOOLEAN (bool v, location_type l)
4943 {
4944 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
4945 }
4946#else
4947 static
4948 symbol_type
4949 make_BOOLEAN (const bool& v, const location_type& l)
4950 {
4951 return symbol_type (token::TOKEN_BOOLEAN, v, l);
4952 }
4953#endif
4954
4955
4957 {
4958 public:
4959 context (const Dhcp6Parser& yyparser, const symbol_type& yyla);
4960 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
4961 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
4962 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
4963
4967 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
4968
4969 private:
4970 const Dhcp6Parser& yyparser_;
4971 const symbol_type& yyla_;
4972 };
4973
4974 private:
4975#if YY_CPLUSPLUS < 201103L
4977 Dhcp6Parser (const Dhcp6Parser&);
4979 Dhcp6Parser& operator= (const Dhcp6Parser&);
4980#endif
4981
4982
4984 typedef short state_type;
4985
4987 int yy_syntax_error_arguments_ (const context& yyctx,
4988 symbol_kind_type yyarg[], int yyargn) const;
4989
4992 virtual std::string yysyntax_error_ (const context& yyctx) const;
4996 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
4997
5000 static bool yy_pact_value_is_default_ (int yyvalue);
5001
5004 static bool yy_table_value_is_error_ (int yyvalue);
5005
5006 static const short yypact_ninf_;
5007 static const signed char yytable_ninf_;
5008
5012 static symbol_kind_type yytranslate_ (int t);
5013
5015 static std::string yytnamerr_ (const char *yystr);
5016
5018 static const char* const yytname_[];
5019
5020
5021 // Tables.
5022 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5023 // STATE-NUM.
5024 static const short yypact_[];
5025
5026 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5027 // Performed when YYTABLE does not specify something else to do. Zero
5028 // means the default is an error.
5029 static const short yydefact_[];
5030
5031 // YYPGOTO[NTERM-NUM].
5032 static const short yypgoto_[];
5033
5034 // YYDEFGOTO[NTERM-NUM].
5035 static const short yydefgoto_[];
5036
5037 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5038 // positive, shift that token. If negative, reduce the rule whose
5039 // number is the opposite. If YYTABLE_NINF, syntax error.
5040 static const short yytable_[];
5041
5042 static const short yycheck_[];
5043
5044 // YYSTOS[STATE-NUM] -- The (internal number of the) accessing
5045 // symbol of state STATE-NUM.
5046 static const short yystos_[];
5047
5048 // YYR1[YYN] -- Symbol number of symbol that rule YYN derives.
5049 static const short yyr1_[];
5050
5051 // YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.
5052 static const signed char yyr2_[];
5053
5054
5055#if PARSER6_DEBUG
5056 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5057 static const short yyrline_[];
5059 virtual void yy_reduce_print_ (int r) const;
5061 virtual void yy_stack_print_ () const;
5062
5064 int yydebug_;
5066 std::ostream* yycdebug_;
5067
5071 template <typename Base>
5072 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5073#endif
5074
5079 template <typename Base>
5080 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5081
5082 private:
5084 struct by_state
5085 {
5087 by_state () YY_NOEXCEPT;
5088
5090 typedef state_type kind_type;
5091
5093 by_state (kind_type s) YY_NOEXCEPT;
5094
5096 by_state (const by_state& that) YY_NOEXCEPT;
5097
5099 void clear () YY_NOEXCEPT;
5100
5102 void move (by_state& that);
5103
5106 symbol_kind_type kind () const YY_NOEXCEPT;
5107
5110 enum { empty_state = 0 };
5111
5114 state_type state;
5115 };
5116
5118 struct stack_symbol_type : basic_symbol<by_state>
5119 {
5121 typedef basic_symbol<by_state> super_type;
5123 stack_symbol_type ();
5125 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5127 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5128#if YY_CPLUSPLUS < 201103L
5131 stack_symbol_type& operator= (stack_symbol_type& that);
5132
5135 stack_symbol_type& operator= (const stack_symbol_type& that);
5136#endif
5137 };
5138
5140 template <typename T, typename S = std::vector<T> >
5141 class stack
5142 {
5143 public:
5144 // Hide our reversed order.
5145 typedef typename S::iterator iterator;
5146 typedef typename S::const_iterator const_iterator;
5147 typedef typename S::size_type size_type;
5148 typedef typename std::ptrdiff_t index_type;
5149
5150 stack (size_type n = 200)
5151 : seq_ (n)
5152 {}
5153
5154#if 201103L <= YY_CPLUSPLUS
5156 stack (const stack&) = delete;
5158 stack& operator= (const stack&) = delete;
5159#endif
5160
5164 const T&
5165 operator[] (index_type i) const
5166 {
5167 return seq_[size_type (size () - 1 - i)];
5168 }
5169
5173 T&
5174 operator[] (index_type i)
5175 {
5176 return seq_[size_type (size () - 1 - i)];
5177 }
5178
5182 void
5183 push (YY_MOVE_REF (T) t)
5184 {
5185 seq_.push_back (T ());
5186 operator[] (0).move (t);
5187 }
5188
5190 void
5191 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5192 {
5193 for (; 0 < n; --n)
5194 seq_.pop_back ();
5195 }
5196
5198 void
5199 clear () YY_NOEXCEPT
5200 {
5201 seq_.clear ();
5202 }
5203
5205 index_type
5206 size () const YY_NOEXCEPT
5207 {
5208 return index_type (seq_.size ());
5209 }
5210
5212 const_iterator
5213 begin () const YY_NOEXCEPT
5214 {
5215 return seq_.begin ();
5216 }
5217
5219 const_iterator
5220 end () const YY_NOEXCEPT
5221 {
5222 return seq_.end ();
5223 }
5224
5226 class slice
5227 {
5228 public:
5229 slice (const stack& stack, index_type range)
5230 : stack_ (stack)
5231 , range_ (range)
5232 {}
5233
5234 const T&
5235 operator[] (index_type i) const
5236 {
5237 return stack_[range_ - i];
5238 }
5239
5240 private:
5241 const stack& stack_;
5242 index_type range_;
5243 };
5244
5245 private:
5246#if YY_CPLUSPLUS < 201103L
5248 stack (const stack&);
5250 stack& operator= (const stack&);
5251#endif
5253 S seq_;
5254 };
5255
5256
5258 typedef stack<stack_symbol_type> stack_type;
5259
5261 stack_type yystack_;
5262
5268 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5269
5276 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5277
5279 void yypop_ (int n = 1);
5280
5282 enum
5283 {
5284 yylast_ = 1318,
5285 yynnts_ = 439,
5286 yyfinal_ = 30
5287 };
5288
5289
5290 // User arguments.
5292
5293 };
5294
5295 inline
5297 Dhcp6Parser::yytranslate_ (int t)
5298 {
5299 // YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to
5300 // TOKEN-NUM as returned by yylex.
5301 static
5302 const unsigned char
5303 translate_table[] =
5304 {
5305 0, 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, 2, 2, 2, 2,
5313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5330 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5331 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5332 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5333 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5334 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5335 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5336 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5337 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5338 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5339 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5340 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5341 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5342 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5343 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5344 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5345 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5346 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5347 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5348 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5349 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5350 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5351 205, 206, 207, 208, 209, 210, 211, 212
5352 };
5353 // Last valid token kind.
5354 const int code_max = 467;
5355
5356 if (t <= 0)
5357 return symbol_kind::S_YYEOF;
5358 else if (t <= code_max)
5359 return YY_CAST (symbol_kind_type, translate_table[t]);
5360 else
5362 }
5363
5364 // basic_symbol.
5365 template <typename Base>
5367 : Base (that)
5368 , value ()
5369 , location (that.location)
5370 {
5371 switch (this->kind ())
5372 {
5373 case symbol_kind::S_value: // value
5374 case symbol_kind::S_map_value: // map_value
5375 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5376 case symbol_kind::S_db_type: // db_type
5377 case symbol_kind::S_on_fail_mode: // on_fail_mode
5378 case symbol_kind::S_hr_mode: // hr_mode
5379 case symbol_kind::S_duid_type: // duid_type
5380 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5381 value.copy< ElementPtr > (YY_MOVE (that.value));
5382 break;
5383
5384 case symbol_kind::S_BOOLEAN: // "boolean"
5385 value.copy< bool > (YY_MOVE (that.value));
5386 break;
5387
5388 case symbol_kind::S_FLOAT: // "floating point"
5389 value.copy< double > (YY_MOVE (that.value));
5390 break;
5391
5392 case symbol_kind::S_INTEGER: // "integer"
5393 value.copy< int64_t > (YY_MOVE (that.value));
5394 break;
5395
5396 case symbol_kind::S_STRING: // "constant string"
5397 value.copy< std::string > (YY_MOVE (that.value));
5398 break;
5399
5400 default:
5401 break;
5402 }
5403
5404 }
5405
5406
5407
5408 template <typename Base>
5411 {
5412 return this->kind ();
5413 }
5414
5415 template <typename Base>
5416 bool
5418 {
5419 return this->kind () == symbol_kind::S_YYEMPTY;
5420 }
5421
5422 template <typename Base>
5423 void
5425 {
5426 super_type::move (s);
5427 switch (this->kind ())
5428 {
5429 case symbol_kind::S_value: // value
5430 case symbol_kind::S_map_value: // map_value
5431 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
5432 case symbol_kind::S_db_type: // db_type
5433 case symbol_kind::S_on_fail_mode: // on_fail_mode
5434 case symbol_kind::S_hr_mode: // hr_mode
5435 case symbol_kind::S_duid_type: // duid_type
5436 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
5437 value.move< ElementPtr > (YY_MOVE (s.value));
5438 break;
5439
5440 case symbol_kind::S_BOOLEAN: // "boolean"
5441 value.move< bool > (YY_MOVE (s.value));
5442 break;
5443
5444 case symbol_kind::S_FLOAT: // "floating point"
5445 value.move< double > (YY_MOVE (s.value));
5446 break;
5447
5448 case symbol_kind::S_INTEGER: // "integer"
5449 value.move< int64_t > (YY_MOVE (s.value));
5450 break;
5451
5452 case symbol_kind::S_STRING: // "constant string"
5453 value.move< std::string > (YY_MOVE (s.value));
5454 break;
5455
5456 default:
5457 break;
5458 }
5459
5460 location = YY_MOVE (s.location);
5461 }
5462
5463 // by_kind.
5464 inline
5466 : kind_ (symbol_kind::S_YYEMPTY)
5467 {}
5468
5469#if 201103L <= YY_CPLUSPLUS
5470 inline
5472 : kind_ (that.kind_)
5473 {
5474 that.clear ();
5475 }
5476#endif
5477
5478 inline
5480 : kind_ (that.kind_)
5481 {}
5482
5483 inline
5485 : kind_ (yytranslate_ (t))
5486 {}
5487
5488 inline
5489 void
5491 {
5492 kind_ = symbol_kind::S_YYEMPTY;
5493 }
5494
5495 inline
5496 void
5498 {
5499 kind_ = that.kind_;
5500 that.clear ();
5501 }
5502
5503 inline
5506 {
5507 return kind_;
5508 }
5509
5510 inline
5513 {
5514 return this->kind ();
5515 }
5516
5517#line 14 "dhcp6_parser.yy"
5518} } // isc::dhcp
5519#line 5520 "dhcp6_parser.h"
5520
5521
5522
5523
5524#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:705
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)
static symbol_type make_PARKED_PACKET_LIMIT(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:708
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:701