Kea 2.7.0
dhcp6_parser.h
Go to the documentation of this file.
1// A Bison parser, made by GNU Bison 3.8.2.
2
3// Skeleton interface for Bison LALR(1) parsers in C++
4
5// Copyright (C) 2002-2015, 2018-2021 Free Software Foundation, Inc.
6
7// This program is free software: you can redistribute it and/or modify
8// it under the terms of the GNU General Public License as published by
9// the Free Software Foundation, either version 3 of the License, or
10// (at your option) any later version.
11
12// This program is distributed in the hope that it will be useful,
13// but WITHOUT ANY WARRANTY; without even the implied warranty of
14// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15// GNU General Public License for more details.
16
17// You should have received a copy of the GNU General Public License
18// along with this program. If not, see <https://www.gnu.org/licenses/>.
19
20// As a special exception, you may create a larger work that contains
21// part or all of the Bison parser skeleton and distribute that work
22// under terms of your choice, so long as that work isn't itself a
23// parser generator using the skeleton or a modified version thereof
24// as a parser skeleton. Alternatively, if you modify or redistribute
25// the parser skeleton itself, you may (at your option) remove this
26// special exception, which will cause the skeleton and the resulting
27// Bison output files to be licensed under the GNU General Public
28// License without this special exception.
29
30// This special exception was added by the Free Software Foundation in
31// version 2.2 of Bison.
32
33
39// C++ LALR(1) parser skeleton written by Akim Demaille.
40
41// DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
42// especially those whose name start with YY_ or yy_. They are
43// private implementation details that can be changed or removed.
44
45#ifndef YY_PARSER6_DHCP6_PARSER_H_INCLUDED
46# define YY_PARSER6_DHCP6_PARSER_H_INCLUDED
47// "%code requires" blocks.
48#line 17 "dhcp6_parser.yy"
49
50#include <string>
51#include <cc/data.h>
52#include <dhcp/option.h>
53#include <boost/lexical_cast.hpp>
55
56using namespace isc::dhcp;
57using namespace isc::data;
58using namespace std;
59
60#line 61 "dhcp6_parser.h"
61
62# include <cassert>
63# include <cstdlib> // std::abort
64# include <iostream>
65# include <stdexcept>
66# include <string>
67# include <vector>
68
69#if defined __cplusplus
70# define YY_CPLUSPLUS __cplusplus
71#else
72# define YY_CPLUSPLUS 199711L
73#endif
74
75// Support move semantics when possible.
76#if 201103L <= YY_CPLUSPLUS
77# define YY_MOVE std::move
78# define YY_MOVE_OR_COPY move
79# define YY_MOVE_REF(Type) Type&&
80# define YY_RVREF(Type) Type&&
81# define YY_COPY(Type) Type
82#else
83# define YY_MOVE
84# define YY_MOVE_OR_COPY copy
85# define YY_MOVE_REF(Type) Type&
86# define YY_RVREF(Type) const Type&
87# define YY_COPY(Type) const Type&
88#endif
89
90// Support noexcept when possible.
91#if 201103L <= YY_CPLUSPLUS
92# define YY_NOEXCEPT noexcept
93# define YY_NOTHROW
94#else
95# define YY_NOEXCEPT
96# define YY_NOTHROW throw ()
97#endif
98
99// Support constexpr when possible.
100#if 201703 <= YY_CPLUSPLUS
101# define YY_CONSTEXPR constexpr
102#else
103# define YY_CONSTEXPR
104#endif
105# include "location.hh"
106#include <typeinfo>
107#ifndef PARSER6__ASSERT
108# include <cassert>
109# define PARSER6__ASSERT assert
110#endif
111
112
113#ifndef YY_ATTRIBUTE_PURE
114# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
115# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
116# else
117# define YY_ATTRIBUTE_PURE
118# endif
119#endif
120
121#ifndef YY_ATTRIBUTE_UNUSED
122# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
123# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
124# else
125# define YY_ATTRIBUTE_UNUSED
126# endif
127#endif
128
129/* Suppress unused-variable warnings by "using" E. */
130#if ! defined lint || defined __GNUC__
131# define YY_USE(E) ((void) (E))
132#else
133# define YY_USE(E) /* empty */
134#endif
135
136/* Suppress an incorrect diagnostic about yylval being uninitialized. */
137#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
138# if __GNUC__ * 100 + __GNUC_MINOR__ < 407
139# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
140 _Pragma ("GCC diagnostic push") \
141 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
142# else
143# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
144 _Pragma ("GCC diagnostic push") \
145 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
146 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
147# endif
148# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
149 _Pragma ("GCC diagnostic pop")
150#else
151# define YY_INITIAL_VALUE(Value) Value
152#endif
153#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
154# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
155# define YY_IGNORE_MAYBE_UNINITIALIZED_END
156#endif
157#ifndef YY_INITIAL_VALUE
158# define YY_INITIAL_VALUE(Value) /* Nothing. */
159#endif
160
161#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
162# define YY_IGNORE_USELESS_CAST_BEGIN \
163 _Pragma ("GCC diagnostic push") \
164 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
165# define YY_IGNORE_USELESS_CAST_END \
166 _Pragma ("GCC diagnostic pop")
167#endif
168#ifndef YY_IGNORE_USELESS_CAST_BEGIN
169# define YY_IGNORE_USELESS_CAST_BEGIN
170# define YY_IGNORE_USELESS_CAST_END
171#endif
172
173# ifndef YY_CAST
174# ifdef __cplusplus
175# define YY_CAST(Type, Val) static_cast<Type> (Val)
176# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
177# else
178# define YY_CAST(Type, Val) ((Type) (Val))
179# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
180# endif
181# endif
182# ifndef YY_NULLPTR
183# if defined __cplusplus
184# if 201103L <= __cplusplus
185# define YY_NULLPTR nullptr
186# else
187# define YY_NULLPTR 0
188# endif
189# else
190# define YY_NULLPTR ((void*)0)
191# endif
192# endif
193
194/* Debug traces. */
195#ifndef PARSER6_DEBUG
196# if defined YYDEBUG
197#if YYDEBUG
198# define PARSER6_DEBUG 1
199# else
200# define PARSER6_DEBUG 0
201# endif
202# else /* ! defined YYDEBUG */
203# define PARSER6_DEBUG 1
204# endif /* ! defined YYDEBUG */
205#endif /* ! defined PARSER6_DEBUG */
206
207#line 14 "dhcp6_parser.yy"
208namespace isc { namespace dhcp {
209#line 210 "dhcp6_parser.h"
210
211
212
213
216 {
217 public:
218#ifdef PARSER6_STYPE
219# ifdef __GNUC__
220# pragma GCC message "bison: do not #define PARSER6_STYPE in C++, use %define api.value.type"
221# endif
222 typedef PARSER6_STYPE value_type;
223#else
230 {
231 public:
234
237 : yyraw_ ()
238 , yytypeid_ (YY_NULLPTR)
239 {}
240
242 template <typename T>
244 : yytypeid_ (&typeid (T))
245 {
246 PARSER6__ASSERT (sizeof (T) <= size);
247 new (yyas_<T> ()) T (YY_MOVE (t));
248 }
249
250#if 201103L <= YY_CPLUSPLUS
252 value_type (const self_type&) = delete;
254 self_type& operator= (const self_type&) = delete;
255#endif
256
259 {
260 PARSER6__ASSERT (!yytypeid_);
261 }
262
263# if 201103L <= YY_CPLUSPLUS
265 template <typename T, typename... U>
266 T&
267 emplace (U&&... u)
268 {
269 PARSER6__ASSERT (!yytypeid_);
270 PARSER6__ASSERT (sizeof (T) <= size);
271 yytypeid_ = & typeid (T);
272 return *new (yyas_<T> ()) T (std::forward <U>(u)...);
273 }
274# else
276 template <typename T>
277 T&
279 {
280 PARSER6__ASSERT (!yytypeid_);
281 PARSER6__ASSERT (sizeof (T) <= size);
282 yytypeid_ = & typeid (T);
283 return *new (yyas_<T> ()) T ();
284 }
285
287 template <typename T>
288 T&
289 emplace (const T& t)
290 {
291 PARSER6__ASSERT (!yytypeid_);
292 PARSER6__ASSERT (sizeof (T) <= size);
293 yytypeid_ = & typeid (T);
294 return *new (yyas_<T> ()) T (t);
295 }
296# endif
297
300 template <typename T>
301 T&
303 {
304 return emplace<T> ();
305 }
306
309 template <typename T>
310 T&
311 build (const T& t)
312 {
313 return emplace<T> (t);
314 }
315
317 template <typename T>
318 T&
320 {
321 PARSER6__ASSERT (yytypeid_);
322 PARSER6__ASSERT (*yytypeid_ == typeid (T));
323 PARSER6__ASSERT (sizeof (T) <= size);
324 return *yyas_<T> ();
325 }
326
328 template <typename T>
329 const T&
331 {
332 PARSER6__ASSERT (yytypeid_);
333 PARSER6__ASSERT (*yytypeid_ == typeid (T));
334 PARSER6__ASSERT (sizeof (T) <= size);
335 return *yyas_<T> ();
336 }
337
346 template <typename T>
347 void
349 {
350 PARSER6__ASSERT (yytypeid_);
351 PARSER6__ASSERT (*yytypeid_ == *that.yytypeid_);
352 std::swap (as<T> (), that.as<T> ());
353 }
354
358 template <typename T>
359 void
361 {
362# if 201103L <= YY_CPLUSPLUS
363 emplace<T> (std::move (that.as<T> ()));
364# else
365 emplace<T> ();
366 swap<T> (that);
367# endif
368 that.destroy<T> ();
369 }
370
371# if 201103L <= YY_CPLUSPLUS
373 template <typename T>
374 void
375 move (self_type&& that)
376 {
377 emplace<T> (std::move (that.as<T> ()));
378 that.destroy<T> ();
379 }
380#endif
381
383 template <typename T>
384 void
385 copy (const self_type& that)
386 {
387 emplace<T> (that.as<T> ());
388 }
389
391 template <typename T>
392 void
394 {
395 as<T> ().~T ();
396 yytypeid_ = YY_NULLPTR;
397 }
398
399 private:
400#if YY_CPLUSPLUS < 201103L
402 value_type (const self_type&);
404 self_type& operator= (const self_type&);
405#endif
406
408 template <typename T>
409 T*
410 yyas_ () YY_NOEXCEPT
411 {
412 void *yyp = yyraw_;
413 return static_cast<T*> (yyp);
414 }
415
417 template <typename T>
418 const T*
419 yyas_ () const YY_NOEXCEPT
420 {
421 const void *yyp = yyraw_;
422 return static_cast<const T*> (yyp);
423 }
424
426 union union_type
427 {
428 // value
429 // map_value
430 // ddns_replace_client_name_value
431 // ddns_conflict_resolution_mode_value
432 // db_type
433 // on_fail_mode
434 // duid_type
435 // ncr_protocol_value
436 char dummy1[sizeof (ElementPtr)];
437
438 // "boolean"
439 char dummy2[sizeof (bool)];
440
441 // "floating point"
442 char dummy3[sizeof (double)];
443
444 // "integer"
445 char dummy4[sizeof (int64_t)];
446
447 // "constant string"
448 char dummy5[sizeof (std::string)];
449 };
450
452 enum { size = sizeof (union_type) };
453
455 union
456 {
458 long double yyalign_me_;
460 char yyraw_[size];
461 };
462
464 const std::type_info *yytypeid_;
465 };
466
467#endif
470
472 typedef location location_type;
473
475 struct syntax_error : std::runtime_error
476 {
477 syntax_error (const location_type& l, const std::string& m)
478 : std::runtime_error (m)
479 , location (l)
480 {}
481
483 : std::runtime_error (s.what ())
484 , location (s.location)
485 {}
486
488
490 };
491
493 struct token
494 {
496 {
497 TOKEN_PARSER6_EMPTY = -2,
498 TOKEN_END = 0, // "end of file"
499 TOKEN_PARSER6_error = 256, // error
500 TOKEN_PARSER6_UNDEF = 257, // "invalid token"
501 TOKEN_COMMA = 258, // ","
502 TOKEN_COLON = 259, // ":"
503 TOKEN_LSQUARE_BRACKET = 260, // "["
504 TOKEN_RSQUARE_BRACKET = 261, // "]"
505 TOKEN_LCURLY_BRACKET = 262, // "{"
506 TOKEN_RCURLY_BRACKET = 263, // "}"
507 TOKEN_NULL_TYPE = 264, // "null"
508 TOKEN_DHCP6 = 265, // "Dhcp6"
509 TOKEN_DATA_DIRECTORY = 266, // "data-directory"
510 TOKEN_CONFIG_CONTROL = 267, // "config-control"
511 TOKEN_CONFIG_DATABASES = 268, // "config-databases"
512 TOKEN_CONFIG_FETCH_WAIT_TIME = 269, // "config-fetch-wait-time"
513 TOKEN_INTERFACES_CONFIG = 270, // "interfaces-config"
514 TOKEN_INTERFACES = 271, // "interfaces"
515 TOKEN_RE_DETECT = 272, // "re-detect"
516 TOKEN_SERVICE_SOCKETS_REQUIRE_ALL = 273, // "service-sockets-require-all"
517 TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME = 274, // "service-sockets-retry-wait-time"
518 TOKEN_SERVICE_SOCKETS_MAX_RETRIES = 275, // "service-sockets-max-retries"
519 TOKEN_LEASE_DATABASE = 276, // "lease-database"
520 TOKEN_HOSTS_DATABASE = 277, // "hosts-database"
521 TOKEN_HOSTS_DATABASES = 278, // "hosts-databases"
522 TOKEN_TYPE = 279, // "type"
523 TOKEN_MEMFILE = 280, // "memfile"
524 TOKEN_MYSQL = 281, // "mysql"
525 TOKEN_POSTGRESQL = 282, // "postgresql"
526 TOKEN_USER = 283, // "user"
527 TOKEN_PASSWORD = 284, // "password"
528 TOKEN_HOST = 285, // "host"
529 TOKEN_PORT = 286, // "port"
530 TOKEN_PERSIST = 287, // "persist"
531 TOKEN_LFC_INTERVAL = 288, // "lfc-interval"
532 TOKEN_READONLY = 289, // "readonly"
533 TOKEN_CONNECT_TIMEOUT = 290, // "connect-timeout"
534 TOKEN_READ_TIMEOUT = 291, // "read-timeout"
535 TOKEN_WRITE_TIMEOUT = 292, // "write-timeout"
536 TOKEN_TCP_USER_TIMEOUT = 293, // "tcp-user-timeout"
537 TOKEN_MAX_RECONNECT_TRIES = 294, // "max-reconnect-tries"
538 TOKEN_RECONNECT_WAIT_TIME = 295, // "reconnect-wait-time"
539 TOKEN_ON_FAIL = 296, // "on-fail"
540 TOKEN_STOP_RETRY_EXIT = 297, // "stop-retry-exit"
541 TOKEN_SERVE_RETRY_EXIT = 298, // "serve-retry-exit"
542 TOKEN_SERVE_RETRY_CONTINUE = 299, // "serve-retry-continue"
543 TOKEN_RETRY_ON_STARTUP = 300, // "retry-on-startup"
544 TOKEN_MAX_ROW_ERRORS = 301, // "max-row-errors"
545 TOKEN_TRUST_ANCHOR = 302, // "trust-anchor"
546 TOKEN_CERT_FILE = 303, // "cert-file"
547 TOKEN_KEY_FILE = 304, // "key-file"
548 TOKEN_CIPHER_LIST = 305, // "cipher-list"
549 TOKEN_PREFERRED_LIFETIME = 306, // "preferred-lifetime"
550 TOKEN_MIN_PREFERRED_LIFETIME = 307, // "min-preferred-lifetime"
551 TOKEN_MAX_PREFERRED_LIFETIME = 308, // "max-preferred-lifetime"
552 TOKEN_VALID_LIFETIME = 309, // "valid-lifetime"
553 TOKEN_MIN_VALID_LIFETIME = 310, // "min-valid-lifetime"
554 TOKEN_MAX_VALID_LIFETIME = 311, // "max-valid-lifetime"
555 TOKEN_RENEW_TIMER = 312, // "renew-timer"
556 TOKEN_REBIND_TIMER = 313, // "rebind-timer"
557 TOKEN_CALCULATE_TEE_TIMES = 314, // "calculate-tee-times"
558 TOKEN_T1_PERCENT = 315, // "t1-percent"
559 TOKEN_T2_PERCENT = 316, // "t2-percent"
560 TOKEN_CACHE_THRESHOLD = 317, // "cache-threshold"
561 TOKEN_CACHE_MAX_AGE = 318, // "cache-max-age"
562 TOKEN_DECLINE_PROBATION_PERIOD = 319, // "decline-probation-period"
563 TOKEN_SERVER_TAG = 320, // "server-tag"
564 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 321, // "statistic-default-sample-count"
565 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 322, // "statistic-default-sample-age"
566 TOKEN_DDNS_SEND_UPDATES = 323, // "ddns-send-updates"
567 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 324, // "ddns-override-no-update"
568 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 325, // "ddns-override-client-update"
569 TOKEN_DDNS_REPLACE_CLIENT_NAME = 326, // "ddns-replace-client-name"
570 TOKEN_DDNS_GENERATED_PREFIX = 327, // "ddns-generated-prefix"
571 TOKEN_DDNS_QUALIFYING_SUFFIX = 328, // "ddns-qualifying-suffix"
572 TOKEN_DDNS_UPDATE_ON_RENEW = 329, // "ddns-update-on-renew"
573 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 330, // "ddns-use-conflict-resolution"
574 TOKEN_DDNS_TTL_PERCENT = 331, // "ddns-ttl-percent"
575 TOKEN_STORE_EXTENDED_INFO = 332, // "store-extended-info"
576 TOKEN_SUBNET6 = 333, // "subnet6"
577 TOKEN_OPTION_DEF = 334, // "option-def"
578 TOKEN_OPTION_DATA = 335, // "option-data"
579 TOKEN_NAME = 336, // "name"
580 TOKEN_DATA = 337, // "data"
581 TOKEN_CODE = 338, // "code"
582 TOKEN_SPACE = 339, // "space"
583 TOKEN_CSV_FORMAT = 340, // "csv-format"
584 TOKEN_ALWAYS_SEND = 341, // "always-send"
585 TOKEN_NEVER_SEND = 342, // "never-send"
586 TOKEN_RECORD_TYPES = 343, // "record-types"
587 TOKEN_ENCAPSULATE = 344, // "encapsulate"
588 TOKEN_ARRAY = 345, // "array"
589 TOKEN_PARKED_PACKET_LIMIT = 346, // "parked-packet-limit"
590 TOKEN_ALLOCATOR = 347, // "allocator"
591 TOKEN_PD_ALLOCATOR = 348, // "pd-allocator"
592 TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 349, // "ddns-conflict-resolution-mode"
593 TOKEN_CHECK_WITH_DHCID = 350, // "check-with-dhcid"
594 TOKEN_NO_CHECK_WITH_DHCID = 351, // "no-check-with-dhcid"
595 TOKEN_CHECK_EXISTS_WITH_DHCID = 352, // "check-exists-with-dhcid"
596 TOKEN_NO_CHECK_WITHOUT_DHCID = 353, // "no-check-without-dhcid"
597 TOKEN_SHARED_NETWORKS = 354, // "shared-networks"
598 TOKEN_POOLS = 355, // "pools"
599 TOKEN_POOL = 356, // "pool"
600 TOKEN_PD_POOLS = 357, // "pd-pools"
601 TOKEN_PREFIX = 358, // "prefix"
602 TOKEN_PREFIX_LEN = 359, // "prefix-len"
603 TOKEN_EXCLUDED_PREFIX = 360, // "excluded-prefix"
604 TOKEN_EXCLUDED_PREFIX_LEN = 361, // "excluded-prefix-len"
605 TOKEN_DELEGATED_LEN = 362, // "delegated-len"
606 TOKEN_USER_CONTEXT = 363, // "user-context"
607 TOKEN_COMMENT = 364, // "comment"
608 TOKEN_SUBNET = 365, // "subnet"
609 TOKEN_INTERFACE = 366, // "interface"
610 TOKEN_INTERFACE_ID = 367, // "interface-id"
611 TOKEN_ID = 368, // "id"
612 TOKEN_RAPID_COMMIT = 369, // "rapid-commit"
613 TOKEN_RESERVATIONS_GLOBAL = 370, // "reservations-global"
614 TOKEN_RESERVATIONS_IN_SUBNET = 371, // "reservations-in-subnet"
615 TOKEN_RESERVATIONS_OUT_OF_POOL = 372, // "reservations-out-of-pool"
616 TOKEN_MAC_SOURCES = 373, // "mac-sources"
617 TOKEN_RELAY_SUPPLIED_OPTIONS = 374, // "relay-supplied-options"
618 TOKEN_HOST_RESERVATION_IDENTIFIERS = 375, // "host-reservation-identifiers"
619 TOKEN_SANITY_CHECKS = 376, // "sanity-checks"
620 TOKEN_LEASE_CHECKS = 377, // "lease-checks"
621 TOKEN_EXTENDED_INFO_CHECKS = 378, // "extended-info-checks"
622 TOKEN_CLIENT_CLASSES = 379, // "client-classes"
623 TOKEN_REQUIRE_CLIENT_CLASSES = 380, // "require-client-classes"
624 TOKEN_TEST = 381, // "test"
625 TOKEN_TEMPLATE_TEST = 382, // "template-test"
626 TOKEN_ONLY_IF_REQUIRED = 383, // "only-if-required"
627 TOKEN_CLIENT_CLASS = 384, // "client-class"
628 TOKEN_POOL_ID = 385, // "pool-id"
629 TOKEN_RESERVATIONS = 386, // "reservations"
630 TOKEN_IP_ADDRESSES = 387, // "ip-addresses"
631 TOKEN_PREFIXES = 388, // "prefixes"
632 TOKEN_DUID = 389, // "duid"
633 TOKEN_HW_ADDRESS = 390, // "hw-address"
634 TOKEN_HOSTNAME = 391, // "hostname"
635 TOKEN_FLEX_ID = 392, // "flex-id"
636 TOKEN_RELAY = 393, // "relay"
637 TOKEN_HOOKS_LIBRARIES = 394, // "hooks-libraries"
638 TOKEN_LIBRARY = 395, // "library"
639 TOKEN_PARAMETERS = 396, // "parameters"
640 TOKEN_EXPIRED_LEASES_PROCESSING = 397, // "expired-leases-processing"
641 TOKEN_RECLAIM_TIMER_WAIT_TIME = 398, // "reclaim-timer-wait-time"
642 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 399, // "flush-reclaimed-timer-wait-time"
643 TOKEN_HOLD_RECLAIMED_TIME = 400, // "hold-reclaimed-time"
644 TOKEN_MAX_RECLAIM_LEASES = 401, // "max-reclaim-leases"
645 TOKEN_MAX_RECLAIM_TIME = 402, // "max-reclaim-time"
646 TOKEN_UNWARNED_RECLAIM_CYCLES = 403, // "unwarned-reclaim-cycles"
647 TOKEN_SERVER_ID = 404, // "server-id"
648 TOKEN_LLT = 405, // "LLT"
649 TOKEN_EN = 406, // "EN"
650 TOKEN_LL = 407, // "LL"
651 TOKEN_IDENTIFIER = 408, // "identifier"
652 TOKEN_HTYPE = 409, // "htype"
653 TOKEN_TIME = 410, // "time"
654 TOKEN_ENTERPRISE_ID = 411, // "enterprise-id"
655 TOKEN_DHCP4O6_PORT = 412, // "dhcp4o6-port"
656 TOKEN_DHCP_MULTI_THREADING = 413, // "multi-threading"
657 TOKEN_ENABLE_MULTI_THREADING = 414, // "enable-multi-threading"
658 TOKEN_THREAD_POOL_SIZE = 415, // "thread-pool-size"
659 TOKEN_PACKET_QUEUE_SIZE = 416, // "packet-queue-size"
660 TOKEN_CONTROL_SOCKET = 417, // "control-socket"
661 TOKEN_SOCKET_TYPE = 418, // "socket-type"
662 TOKEN_SOCKET_NAME = 419, // "socket-name"
663 TOKEN_DHCP_QUEUE_CONTROL = 420, // "dhcp-queue-control"
664 TOKEN_ENABLE_QUEUE = 421, // "enable-queue"
665 TOKEN_QUEUE_TYPE = 422, // "queue-type"
666 TOKEN_CAPACITY = 423, // "capacity"
667 TOKEN_DHCP_DDNS = 424, // "dhcp-ddns"
668 TOKEN_ENABLE_UPDATES = 425, // "enable-updates"
669 TOKEN_SERVER_IP = 426, // "server-ip"
670 TOKEN_SERVER_PORT = 427, // "server-port"
671 TOKEN_SENDER_IP = 428, // "sender-ip"
672 TOKEN_SENDER_PORT = 429, // "sender-port"
673 TOKEN_MAX_QUEUE_SIZE = 430, // "max-queue-size"
674 TOKEN_NCR_PROTOCOL = 431, // "ncr-protocol"
675 TOKEN_NCR_FORMAT = 432, // "ncr-format"
676 TOKEN_UDP = 433, // "UDP"
677 TOKEN_TCP = 434, // "TCP"
678 TOKEN_JSON = 435, // "JSON"
679 TOKEN_WHEN_PRESENT = 436, // "when-present"
680 TOKEN_NEVER = 437, // "never"
681 TOKEN_ALWAYS = 438, // "always"
682 TOKEN_WHEN_NOT_PRESENT = 439, // "when-not-present"
683 TOKEN_HOSTNAME_CHAR_SET = 440, // "hostname-char-set"
684 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 441, // "hostname-char-replacement"
685 TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 442, // "early-global-reservations-lookup"
686 TOKEN_IP_RESERVATIONS_UNIQUE = 443, // "ip-reservations-unique"
687 TOKEN_RESERVATIONS_LOOKUP_FIRST = 444, // "reservations-lookup-first"
688 TOKEN_LOGGERS = 445, // "loggers"
689 TOKEN_OUTPUT_OPTIONS = 446, // "output-options"
690 TOKEN_OUTPUT = 447, // "output"
691 TOKEN_DEBUGLEVEL = 448, // "debuglevel"
692 TOKEN_SEVERITY = 449, // "severity"
693 TOKEN_FLUSH = 450, // "flush"
694 TOKEN_MAXSIZE = 451, // "maxsize"
695 TOKEN_MAXVER = 452, // "maxver"
696 TOKEN_PATTERN = 453, // "pattern"
697 TOKEN_COMPATIBILITY = 454, // "compatibility"
698 TOKEN_LENIENT_OPTION_PARSING = 455, // "lenient-option-parsing"
699 TOKEN_TOPLEVEL_JSON = 456, // TOPLEVEL_JSON
700 TOKEN_TOPLEVEL_DHCP6 = 457, // TOPLEVEL_DHCP6
701 TOKEN_SUB_DHCP6 = 458, // SUB_DHCP6
702 TOKEN_SUB_INTERFACES6 = 459, // SUB_INTERFACES6
703 TOKEN_SUB_SUBNET6 = 460, // SUB_SUBNET6
704 TOKEN_SUB_POOL6 = 461, // SUB_POOL6
705 TOKEN_SUB_PD_POOL = 462, // SUB_PD_POOL
706 TOKEN_SUB_RESERVATION = 463, // SUB_RESERVATION
707 TOKEN_SUB_OPTION_DEFS = 464, // SUB_OPTION_DEFS
708 TOKEN_SUB_OPTION_DEF = 465, // SUB_OPTION_DEF
709 TOKEN_SUB_OPTION_DATA = 466, // SUB_OPTION_DATA
710 TOKEN_SUB_HOOKS_LIBRARY = 467, // SUB_HOOKS_LIBRARY
711 TOKEN_SUB_DHCP_DDNS = 468, // SUB_DHCP_DDNS
712 TOKEN_SUB_CONFIG_CONTROL = 469, // SUB_CONFIG_CONTROL
713 TOKEN_STRING = 470, // "constant string"
714 TOKEN_INTEGER = 471, // "integer"
715 TOKEN_FLOAT = 472, // "floating point"
716 TOKEN_BOOLEAN = 473 // "boolean"
717 };
720 };
721
724
727
730 {
732 {
733 YYNTOKENS = 219,
734 S_YYEMPTY = -2,
735 S_YYEOF = 0, // "end of file"
736 S_YYerror = 1, // error
737 S_YYUNDEF = 2, // "invalid token"
738 S_COMMA = 3, // ","
739 S_COLON = 4, // ":"
740 S_LSQUARE_BRACKET = 5, // "["
741 S_RSQUARE_BRACKET = 6, // "]"
742 S_LCURLY_BRACKET = 7, // "{"
743 S_RCURLY_BRACKET = 8, // "}"
744 S_NULL_TYPE = 9, // "null"
745 S_DHCP6 = 10, // "Dhcp6"
746 S_DATA_DIRECTORY = 11, // "data-directory"
747 S_CONFIG_CONTROL = 12, // "config-control"
748 S_CONFIG_DATABASES = 13, // "config-databases"
749 S_CONFIG_FETCH_WAIT_TIME = 14, // "config-fetch-wait-time"
750 S_INTERFACES_CONFIG = 15, // "interfaces-config"
751 S_INTERFACES = 16, // "interfaces"
752 S_RE_DETECT = 17, // "re-detect"
753 S_SERVICE_SOCKETS_REQUIRE_ALL = 18, // "service-sockets-require-all"
754 S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 19, // "service-sockets-retry-wait-time"
755 S_SERVICE_SOCKETS_MAX_RETRIES = 20, // "service-sockets-max-retries"
756 S_LEASE_DATABASE = 21, // "lease-database"
757 S_HOSTS_DATABASE = 22, // "hosts-database"
758 S_HOSTS_DATABASES = 23, // "hosts-databases"
759 S_TYPE = 24, // "type"
760 S_MEMFILE = 25, // "memfile"
761 S_MYSQL = 26, // "mysql"
762 S_POSTGRESQL = 27, // "postgresql"
763 S_USER = 28, // "user"
764 S_PASSWORD = 29, // "password"
765 S_HOST = 30, // "host"
766 S_PORT = 31, // "port"
767 S_PERSIST = 32, // "persist"
768 S_LFC_INTERVAL = 33, // "lfc-interval"
769 S_READONLY = 34, // "readonly"
770 S_CONNECT_TIMEOUT = 35, // "connect-timeout"
771 S_READ_TIMEOUT = 36, // "read-timeout"
772 S_WRITE_TIMEOUT = 37, // "write-timeout"
773 S_TCP_USER_TIMEOUT = 38, // "tcp-user-timeout"
774 S_MAX_RECONNECT_TRIES = 39, // "max-reconnect-tries"
775 S_RECONNECT_WAIT_TIME = 40, // "reconnect-wait-time"
776 S_ON_FAIL = 41, // "on-fail"
777 S_STOP_RETRY_EXIT = 42, // "stop-retry-exit"
778 S_SERVE_RETRY_EXIT = 43, // "serve-retry-exit"
779 S_SERVE_RETRY_CONTINUE = 44, // "serve-retry-continue"
780 S_RETRY_ON_STARTUP = 45, // "retry-on-startup"
781 S_MAX_ROW_ERRORS = 46, // "max-row-errors"
782 S_TRUST_ANCHOR = 47, // "trust-anchor"
783 S_CERT_FILE = 48, // "cert-file"
784 S_KEY_FILE = 49, // "key-file"
785 S_CIPHER_LIST = 50, // "cipher-list"
786 S_PREFERRED_LIFETIME = 51, // "preferred-lifetime"
787 S_MIN_PREFERRED_LIFETIME = 52, // "min-preferred-lifetime"
788 S_MAX_PREFERRED_LIFETIME = 53, // "max-preferred-lifetime"
789 S_VALID_LIFETIME = 54, // "valid-lifetime"
790 S_MIN_VALID_LIFETIME = 55, // "min-valid-lifetime"
791 S_MAX_VALID_LIFETIME = 56, // "max-valid-lifetime"
792 S_RENEW_TIMER = 57, // "renew-timer"
793 S_REBIND_TIMER = 58, // "rebind-timer"
794 S_CALCULATE_TEE_TIMES = 59, // "calculate-tee-times"
795 S_T1_PERCENT = 60, // "t1-percent"
796 S_T2_PERCENT = 61, // "t2-percent"
797 S_CACHE_THRESHOLD = 62, // "cache-threshold"
798 S_CACHE_MAX_AGE = 63, // "cache-max-age"
799 S_DECLINE_PROBATION_PERIOD = 64, // "decline-probation-period"
800 S_SERVER_TAG = 65, // "server-tag"
801 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 66, // "statistic-default-sample-count"
802 S_STATISTIC_DEFAULT_SAMPLE_AGE = 67, // "statistic-default-sample-age"
803 S_DDNS_SEND_UPDATES = 68, // "ddns-send-updates"
804 S_DDNS_OVERRIDE_NO_UPDATE = 69, // "ddns-override-no-update"
805 S_DDNS_OVERRIDE_CLIENT_UPDATE = 70, // "ddns-override-client-update"
806 S_DDNS_REPLACE_CLIENT_NAME = 71, // "ddns-replace-client-name"
807 S_DDNS_GENERATED_PREFIX = 72, // "ddns-generated-prefix"
808 S_DDNS_QUALIFYING_SUFFIX = 73, // "ddns-qualifying-suffix"
809 S_DDNS_UPDATE_ON_RENEW = 74, // "ddns-update-on-renew"
810 S_DDNS_USE_CONFLICT_RESOLUTION = 75, // "ddns-use-conflict-resolution"
811 S_DDNS_TTL_PERCENT = 76, // "ddns-ttl-percent"
812 S_STORE_EXTENDED_INFO = 77, // "store-extended-info"
813 S_SUBNET6 = 78, // "subnet6"
814 S_OPTION_DEF = 79, // "option-def"
815 S_OPTION_DATA = 80, // "option-data"
816 S_NAME = 81, // "name"
817 S_DATA = 82, // "data"
818 S_CODE = 83, // "code"
819 S_SPACE = 84, // "space"
820 S_CSV_FORMAT = 85, // "csv-format"
821 S_ALWAYS_SEND = 86, // "always-send"
822 S_NEVER_SEND = 87, // "never-send"
823 S_RECORD_TYPES = 88, // "record-types"
824 S_ENCAPSULATE = 89, // "encapsulate"
825 S_ARRAY = 90, // "array"
826 S_PARKED_PACKET_LIMIT = 91, // "parked-packet-limit"
827 S_ALLOCATOR = 92, // "allocator"
828 S_PD_ALLOCATOR = 93, // "pd-allocator"
829 S_DDNS_CONFLICT_RESOLUTION_MODE = 94, // "ddns-conflict-resolution-mode"
830 S_CHECK_WITH_DHCID = 95, // "check-with-dhcid"
831 S_NO_CHECK_WITH_DHCID = 96, // "no-check-with-dhcid"
832 S_CHECK_EXISTS_WITH_DHCID = 97, // "check-exists-with-dhcid"
833 S_NO_CHECK_WITHOUT_DHCID = 98, // "no-check-without-dhcid"
834 S_SHARED_NETWORKS = 99, // "shared-networks"
835 S_POOLS = 100, // "pools"
836 S_POOL = 101, // "pool"
837 S_PD_POOLS = 102, // "pd-pools"
838 S_PREFIX = 103, // "prefix"
839 S_PREFIX_LEN = 104, // "prefix-len"
840 S_EXCLUDED_PREFIX = 105, // "excluded-prefix"
841 S_EXCLUDED_PREFIX_LEN = 106, // "excluded-prefix-len"
842 S_DELEGATED_LEN = 107, // "delegated-len"
843 S_USER_CONTEXT = 108, // "user-context"
844 S_COMMENT = 109, // "comment"
845 S_SUBNET = 110, // "subnet"
846 S_INTERFACE = 111, // "interface"
847 S_INTERFACE_ID = 112, // "interface-id"
848 S_ID = 113, // "id"
849 S_RAPID_COMMIT = 114, // "rapid-commit"
850 S_RESERVATIONS_GLOBAL = 115, // "reservations-global"
851 S_RESERVATIONS_IN_SUBNET = 116, // "reservations-in-subnet"
852 S_RESERVATIONS_OUT_OF_POOL = 117, // "reservations-out-of-pool"
853 S_MAC_SOURCES = 118, // "mac-sources"
854 S_RELAY_SUPPLIED_OPTIONS = 119, // "relay-supplied-options"
855 S_HOST_RESERVATION_IDENTIFIERS = 120, // "host-reservation-identifiers"
856 S_SANITY_CHECKS = 121, // "sanity-checks"
857 S_LEASE_CHECKS = 122, // "lease-checks"
858 S_EXTENDED_INFO_CHECKS = 123, // "extended-info-checks"
859 S_CLIENT_CLASSES = 124, // "client-classes"
860 S_REQUIRE_CLIENT_CLASSES = 125, // "require-client-classes"
861 S_TEST = 126, // "test"
862 S_TEMPLATE_TEST = 127, // "template-test"
863 S_ONLY_IF_REQUIRED = 128, // "only-if-required"
864 S_CLIENT_CLASS = 129, // "client-class"
865 S_POOL_ID = 130, // "pool-id"
866 S_RESERVATIONS = 131, // "reservations"
867 S_IP_ADDRESSES = 132, // "ip-addresses"
868 S_PREFIXES = 133, // "prefixes"
869 S_DUID = 134, // "duid"
870 S_HW_ADDRESS = 135, // "hw-address"
871 S_HOSTNAME = 136, // "hostname"
872 S_FLEX_ID = 137, // "flex-id"
873 S_RELAY = 138, // "relay"
874 S_HOOKS_LIBRARIES = 139, // "hooks-libraries"
875 S_LIBRARY = 140, // "library"
876 S_PARAMETERS = 141, // "parameters"
877 S_EXPIRED_LEASES_PROCESSING = 142, // "expired-leases-processing"
878 S_RECLAIM_TIMER_WAIT_TIME = 143, // "reclaim-timer-wait-time"
879 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 144, // "flush-reclaimed-timer-wait-time"
880 S_HOLD_RECLAIMED_TIME = 145, // "hold-reclaimed-time"
881 S_MAX_RECLAIM_LEASES = 146, // "max-reclaim-leases"
882 S_MAX_RECLAIM_TIME = 147, // "max-reclaim-time"
883 S_UNWARNED_RECLAIM_CYCLES = 148, // "unwarned-reclaim-cycles"
884 S_SERVER_ID = 149, // "server-id"
885 S_LLT = 150, // "LLT"
886 S_EN = 151, // "EN"
887 S_LL = 152, // "LL"
888 S_IDENTIFIER = 153, // "identifier"
889 S_HTYPE = 154, // "htype"
890 S_TIME = 155, // "time"
891 S_ENTERPRISE_ID = 156, // "enterprise-id"
892 S_DHCP4O6_PORT = 157, // "dhcp4o6-port"
893 S_DHCP_MULTI_THREADING = 158, // "multi-threading"
894 S_ENABLE_MULTI_THREADING = 159, // "enable-multi-threading"
895 S_THREAD_POOL_SIZE = 160, // "thread-pool-size"
896 S_PACKET_QUEUE_SIZE = 161, // "packet-queue-size"
897 S_CONTROL_SOCKET = 162, // "control-socket"
898 S_SOCKET_TYPE = 163, // "socket-type"
899 S_SOCKET_NAME = 164, // "socket-name"
900 S_DHCP_QUEUE_CONTROL = 165, // "dhcp-queue-control"
901 S_ENABLE_QUEUE = 166, // "enable-queue"
902 S_QUEUE_TYPE = 167, // "queue-type"
903 S_CAPACITY = 168, // "capacity"
904 S_DHCP_DDNS = 169, // "dhcp-ddns"
905 S_ENABLE_UPDATES = 170, // "enable-updates"
906 S_SERVER_IP = 171, // "server-ip"
907 S_SERVER_PORT = 172, // "server-port"
908 S_SENDER_IP = 173, // "sender-ip"
909 S_SENDER_PORT = 174, // "sender-port"
910 S_MAX_QUEUE_SIZE = 175, // "max-queue-size"
911 S_NCR_PROTOCOL = 176, // "ncr-protocol"
912 S_NCR_FORMAT = 177, // "ncr-format"
913 S_UDP = 178, // "UDP"
914 S_TCP = 179, // "TCP"
915 S_JSON = 180, // "JSON"
916 S_WHEN_PRESENT = 181, // "when-present"
917 S_NEVER = 182, // "never"
918 S_ALWAYS = 183, // "always"
919 S_WHEN_NOT_PRESENT = 184, // "when-not-present"
920 S_HOSTNAME_CHAR_SET = 185, // "hostname-char-set"
921 S_HOSTNAME_CHAR_REPLACEMENT = 186, // "hostname-char-replacement"
922 S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 187, // "early-global-reservations-lookup"
923 S_IP_RESERVATIONS_UNIQUE = 188, // "ip-reservations-unique"
924 S_RESERVATIONS_LOOKUP_FIRST = 189, // "reservations-lookup-first"
925 S_LOGGERS = 190, // "loggers"
926 S_OUTPUT_OPTIONS = 191, // "output-options"
927 S_OUTPUT = 192, // "output"
928 S_DEBUGLEVEL = 193, // "debuglevel"
929 S_SEVERITY = 194, // "severity"
930 S_FLUSH = 195, // "flush"
931 S_MAXSIZE = 196, // "maxsize"
932 S_MAXVER = 197, // "maxver"
933 S_PATTERN = 198, // "pattern"
934 S_COMPATIBILITY = 199, // "compatibility"
935 S_LENIENT_OPTION_PARSING = 200, // "lenient-option-parsing"
936 S_TOPLEVEL_JSON = 201, // TOPLEVEL_JSON
937 S_TOPLEVEL_DHCP6 = 202, // TOPLEVEL_DHCP6
938 S_SUB_DHCP6 = 203, // SUB_DHCP6
939 S_SUB_INTERFACES6 = 204, // SUB_INTERFACES6
940 S_SUB_SUBNET6 = 205, // SUB_SUBNET6
941 S_SUB_POOL6 = 206, // SUB_POOL6
942 S_SUB_PD_POOL = 207, // SUB_PD_POOL
943 S_SUB_RESERVATION = 208, // SUB_RESERVATION
944 S_SUB_OPTION_DEFS = 209, // SUB_OPTION_DEFS
945 S_SUB_OPTION_DEF = 210, // SUB_OPTION_DEF
946 S_SUB_OPTION_DATA = 211, // SUB_OPTION_DATA
947 S_SUB_HOOKS_LIBRARY = 212, // SUB_HOOKS_LIBRARY
948 S_SUB_DHCP_DDNS = 213, // SUB_DHCP_DDNS
949 S_SUB_CONFIG_CONTROL = 214, // SUB_CONFIG_CONTROL
950 S_STRING = 215, // "constant string"
951 S_INTEGER = 216, // "integer"
952 S_FLOAT = 217, // "floating point"
953 S_BOOLEAN = 218, // "boolean"
954 S_YYACCEPT = 219, // $accept
955 S_start = 220, // start
956 S_221_1 = 221, // $@1
957 S_222_2 = 222, // $@2
958 S_223_3 = 223, // $@3
959 S_224_4 = 224, // $@4
960 S_225_5 = 225, // $@5
961 S_226_6 = 226, // $@6
962 S_227_7 = 227, // $@7
963 S_228_8 = 228, // $@8
964 S_229_9 = 229, // $@9
965 S_230_10 = 230, // $@10
966 S_231_11 = 231, // $@11
967 S_232_12 = 232, // $@12
968 S_233_13 = 233, // $@13
969 S_234_14 = 234, // $@14
970 S_value = 235, // value
971 S_sub_json = 236, // sub_json
972 S_map2 = 237, // map2
973 S_238_15 = 238, // $@15
974 S_map_value = 239, // map_value
975 S_map_content = 240, // map_content
976 S_not_empty_map = 241, // not_empty_map
977 S_list_generic = 242, // list_generic
978 S_243_16 = 243, // $@16
979 S_list_content = 244, // list_content
980 S_not_empty_list = 245, // not_empty_list
981 S_list_strings = 246, // list_strings
982 S_247_17 = 247, // $@17
983 S_list_strings_content = 248, // list_strings_content
984 S_not_empty_list_strings = 249, // not_empty_list_strings
985 S_unknown_map_entry = 250, // unknown_map_entry
986 S_syntax_map = 251, // syntax_map
987 S_252_18 = 252, // $@18
988 S_global_object = 253, // global_object
989 S_254_19 = 254, // $@19
990 S_global_object_comma = 255, // global_object_comma
991 S_sub_dhcp6 = 256, // sub_dhcp6
992 S_257_20 = 257, // $@20
993 S_global_params = 258, // global_params
994 S_global_param = 259, // global_param
995 S_data_directory = 260, // data_directory
996 S_261_21 = 261, // $@21
997 S_preferred_lifetime = 262, // preferred_lifetime
998 S_min_preferred_lifetime = 263, // min_preferred_lifetime
999 S_max_preferred_lifetime = 264, // max_preferred_lifetime
1000 S_valid_lifetime = 265, // valid_lifetime
1001 S_min_valid_lifetime = 266, // min_valid_lifetime
1002 S_max_valid_lifetime = 267, // max_valid_lifetime
1003 S_renew_timer = 268, // renew_timer
1004 S_rebind_timer = 269, // rebind_timer
1005 S_calculate_tee_times = 270, // calculate_tee_times
1006 S_t1_percent = 271, // t1_percent
1007 S_t2_percent = 272, // t2_percent
1008 S_cache_threshold = 273, // cache_threshold
1009 S_cache_max_age = 274, // cache_max_age
1010 S_decline_probation_period = 275, // decline_probation_period
1011 S_ddns_send_updates = 276, // ddns_send_updates
1012 S_ddns_override_no_update = 277, // ddns_override_no_update
1013 S_ddns_override_client_update = 278, // ddns_override_client_update
1014 S_ddns_replace_client_name = 279, // ddns_replace_client_name
1015 S_280_22 = 280, // $@22
1016 S_ddns_replace_client_name_value = 281, // ddns_replace_client_name_value
1017 S_ddns_generated_prefix = 282, // ddns_generated_prefix
1018 S_283_23 = 283, // $@23
1019 S_ddns_qualifying_suffix = 284, // ddns_qualifying_suffix
1020 S_285_24 = 285, // $@24
1021 S_ddns_update_on_renew = 286, // ddns_update_on_renew
1022 S_ddns_use_conflict_resolution = 287, // ddns_use_conflict_resolution
1023 S_ddns_conflict_resolution_mode = 288, // ddns_conflict_resolution_mode
1024 S_289_25 = 289, // $@25
1025 S_ddns_conflict_resolution_mode_value = 290, // ddns_conflict_resolution_mode_value
1026 S_ddns_ttl_percent = 291, // ddns_ttl_percent
1027 S_hostname_char_set = 292, // hostname_char_set
1028 S_293_26 = 293, // $@26
1029 S_hostname_char_replacement = 294, // hostname_char_replacement
1030 S_295_27 = 295, // $@27
1031 S_store_extended_info = 296, // store_extended_info
1032 S_statistic_default_sample_count = 297, // statistic_default_sample_count
1033 S_statistic_default_sample_age = 298, // statistic_default_sample_age
1034 S_server_tag = 299, // server_tag
1035 S_300_28 = 300, // $@28
1036 S_parked_packet_limit = 301, // parked_packet_limit
1037 S_allocator = 302, // allocator
1038 S_303_29 = 303, // $@29
1039 S_pd_allocator = 304, // pd_allocator
1040 S_305_30 = 305, // $@30
1041 S_early_global_reservations_lookup = 306, // early_global_reservations_lookup
1042 S_ip_reservations_unique = 307, // ip_reservations_unique
1043 S_reservations_lookup_first = 308, // reservations_lookup_first
1044 S_interfaces_config = 309, // interfaces_config
1045 S_310_31 = 310, // $@31
1046 S_sub_interfaces6 = 311, // sub_interfaces6
1047 S_312_32 = 312, // $@32
1048 S_interfaces_config_params = 313, // interfaces_config_params
1049 S_interfaces_config_param = 314, // interfaces_config_param
1050 S_interfaces_list = 315, // interfaces_list
1051 S_316_33 = 316, // $@33
1052 S_re_detect = 317, // re_detect
1053 S_service_sockets_require_all = 318, // service_sockets_require_all
1054 S_service_sockets_retry_wait_time = 319, // service_sockets_retry_wait_time
1055 S_service_sockets_max_retries = 320, // service_sockets_max_retries
1056 S_lease_database = 321, // lease_database
1057 S_322_34 = 322, // $@34
1058 S_hosts_database = 323, // hosts_database
1059 S_324_35 = 324, // $@35
1060 S_hosts_databases = 325, // hosts_databases
1061 S_326_36 = 326, // $@36
1062 S_database_list = 327, // database_list
1063 S_not_empty_database_list = 328, // not_empty_database_list
1064 S_database = 329, // database
1065 S_330_37 = 330, // $@37
1066 S_database_map_params = 331, // database_map_params
1067 S_database_map_param = 332, // database_map_param
1068 S_database_type = 333, // database_type
1069 S_334_38 = 334, // $@38
1070 S_db_type = 335, // db_type
1071 S_user = 336, // user
1072 S_337_39 = 337, // $@39
1073 S_password = 338, // password
1074 S_339_40 = 339, // $@40
1075 S_host = 340, // host
1076 S_341_41 = 341, // $@41
1077 S_port = 342, // port
1078 S_name = 343, // name
1079 S_344_42 = 344, // $@42
1080 S_persist = 345, // persist
1081 S_lfc_interval = 346, // lfc_interval
1082 S_readonly = 347, // readonly
1083 S_connect_timeout = 348, // connect_timeout
1084 S_read_timeout = 349, // read_timeout
1085 S_write_timeout = 350, // write_timeout
1086 S_tcp_user_timeout = 351, // tcp_user_timeout
1087 S_reconnect_wait_time = 352, // reconnect_wait_time
1088 S_on_fail = 353, // on_fail
1089 S_354_43 = 354, // $@43
1090 S_on_fail_mode = 355, // on_fail_mode
1091 S_retry_on_startup = 356, // retry_on_startup
1092 S_max_row_errors = 357, // max_row_errors
1093 S_max_reconnect_tries = 358, // max_reconnect_tries
1094 S_trust_anchor = 359, // trust_anchor
1095 S_360_44 = 360, // $@44
1096 S_cert_file = 361, // cert_file
1097 S_362_45 = 362, // $@45
1098 S_key_file = 363, // key_file
1099 S_364_46 = 364, // $@46
1100 S_cipher_list = 365, // cipher_list
1101 S_366_47 = 366, // $@47
1102 S_sanity_checks = 367, // sanity_checks
1103 S_368_48 = 368, // $@48
1104 S_sanity_checks_params = 369, // sanity_checks_params
1105 S_sanity_checks_param = 370, // sanity_checks_param
1106 S_lease_checks = 371, // lease_checks
1107 S_372_49 = 372, // $@49
1108 S_extended_info_checks = 373, // extended_info_checks
1109 S_374_50 = 374, // $@50
1110 S_mac_sources = 375, // mac_sources
1111 S_376_51 = 376, // $@51
1112 S_mac_sources_list = 377, // mac_sources_list
1113 S_mac_sources_value = 378, // mac_sources_value
1114 S_duid_id = 379, // duid_id
1115 S_string_id = 380, // string_id
1116 S_host_reservation_identifiers = 381, // host_reservation_identifiers
1117 S_382_52 = 382, // $@52
1118 S_host_reservation_identifiers_list = 383, // host_reservation_identifiers_list
1119 S_host_reservation_identifier = 384, // host_reservation_identifier
1120 S_hw_address_id = 385, // hw_address_id
1121 S_flex_id = 386, // flex_id
1122 S_relay_supplied_options = 387, // relay_supplied_options
1123 S_388_53 = 388, // $@53
1124 S_dhcp_multi_threading = 389, // dhcp_multi_threading
1125 S_390_54 = 390, // $@54
1126 S_multi_threading_params = 391, // multi_threading_params
1127 S_multi_threading_param = 392, // multi_threading_param
1128 S_enable_multi_threading = 393, // enable_multi_threading
1129 S_thread_pool_size = 394, // thread_pool_size
1130 S_packet_queue_size = 395, // packet_queue_size
1131 S_hooks_libraries = 396, // hooks_libraries
1132 S_397_55 = 397, // $@55
1133 S_hooks_libraries_list = 398, // hooks_libraries_list
1134 S_not_empty_hooks_libraries_list = 399, // not_empty_hooks_libraries_list
1135 S_hooks_library = 400, // hooks_library
1136 S_401_56 = 401, // $@56
1137 S_sub_hooks_library = 402, // sub_hooks_library
1138 S_403_57 = 403, // $@57
1139 S_hooks_params = 404, // hooks_params
1140 S_hooks_param = 405, // hooks_param
1141 S_library = 406, // library
1142 S_407_58 = 407, // $@58
1143 S_parameters = 408, // parameters
1144 S_409_59 = 409, // $@59
1145 S_expired_leases_processing = 410, // expired_leases_processing
1146 S_411_60 = 411, // $@60
1147 S_expired_leases_params = 412, // expired_leases_params
1148 S_expired_leases_param = 413, // expired_leases_param
1149 S_reclaim_timer_wait_time = 414, // reclaim_timer_wait_time
1150 S_flush_reclaimed_timer_wait_time = 415, // flush_reclaimed_timer_wait_time
1151 S_hold_reclaimed_time = 416, // hold_reclaimed_time
1152 S_max_reclaim_leases = 417, // max_reclaim_leases
1153 S_max_reclaim_time = 418, // max_reclaim_time
1154 S_unwarned_reclaim_cycles = 419, // unwarned_reclaim_cycles
1155 S_subnet6_list = 420, // subnet6_list
1156 S_421_61 = 421, // $@61
1157 S_subnet6_list_content = 422, // subnet6_list_content
1158 S_not_empty_subnet6_list = 423, // not_empty_subnet6_list
1159 S_subnet6 = 424, // subnet6
1160 S_425_62 = 425, // $@62
1161 S_sub_subnet6 = 426, // sub_subnet6
1162 S_427_63 = 427, // $@63
1163 S_subnet6_params = 428, // subnet6_params
1164 S_subnet6_param = 429, // subnet6_param
1165 S_subnet = 430, // subnet
1166 S_431_64 = 431, // $@64
1167 S_interface = 432, // interface
1168 S_433_65 = 433, // $@65
1169 S_interface_id = 434, // interface_id
1170 S_435_66 = 435, // $@66
1171 S_client_class = 436, // client_class
1172 S_437_67 = 437, // $@67
1173 S_require_client_classes = 438, // require_client_classes
1174 S_439_68 = 439, // $@68
1175 S_reservations_global = 440, // reservations_global
1176 S_reservations_in_subnet = 441, // reservations_in_subnet
1177 S_reservations_out_of_pool = 442, // reservations_out_of_pool
1178 S_id = 443, // id
1179 S_rapid_commit = 444, // rapid_commit
1180 S_shared_networks = 445, // shared_networks
1181 S_446_69 = 446, // $@69
1182 S_shared_networks_content = 447, // shared_networks_content
1183 S_shared_networks_list = 448, // shared_networks_list
1184 S_shared_network = 449, // shared_network
1185 S_450_70 = 450, // $@70
1186 S_shared_network_params = 451, // shared_network_params
1187 S_shared_network_param = 452, // shared_network_param
1188 S_option_def_list = 453, // option_def_list
1189 S_454_71 = 454, // $@71
1190 S_sub_option_def_list = 455, // sub_option_def_list
1191 S_456_72 = 456, // $@72
1192 S_option_def_list_content = 457, // option_def_list_content
1193 S_not_empty_option_def_list = 458, // not_empty_option_def_list
1194 S_option_def_entry = 459, // option_def_entry
1195 S_460_73 = 460, // $@73
1196 S_sub_option_def = 461, // sub_option_def
1197 S_462_74 = 462, // $@74
1198 S_option_def_params = 463, // option_def_params
1199 S_not_empty_option_def_params = 464, // not_empty_option_def_params
1200 S_option_def_param = 465, // option_def_param
1201 S_option_def_name = 466, // option_def_name
1202 S_code = 467, // code
1203 S_option_def_code = 468, // option_def_code
1204 S_option_def_type = 469, // option_def_type
1205 S_470_75 = 470, // $@75
1206 S_option_def_record_types = 471, // option_def_record_types
1207 S_472_76 = 472, // $@76
1208 S_space = 473, // space
1209 S_474_77 = 474, // $@77
1210 S_option_def_space = 475, // option_def_space
1211 S_option_def_encapsulate = 476, // option_def_encapsulate
1212 S_477_78 = 477, // $@78
1213 S_option_def_array = 478, // option_def_array
1214 S_option_data_list = 479, // option_data_list
1215 S_480_79 = 480, // $@79
1216 S_option_data_list_content = 481, // option_data_list_content
1217 S_not_empty_option_data_list = 482, // not_empty_option_data_list
1218 S_option_data_entry = 483, // option_data_entry
1219 S_484_80 = 484, // $@80
1220 S_sub_option_data = 485, // sub_option_data
1221 S_486_81 = 486, // $@81
1222 S_option_data_params = 487, // option_data_params
1223 S_not_empty_option_data_params = 488, // not_empty_option_data_params
1224 S_option_data_param = 489, // option_data_param
1225 S_option_data_name = 490, // option_data_name
1226 S_option_data_data = 491, // option_data_data
1227 S_492_82 = 492, // $@82
1228 S_option_data_code = 493, // option_data_code
1229 S_option_data_space = 494, // option_data_space
1230 S_option_data_csv_format = 495, // option_data_csv_format
1231 S_option_data_always_send = 496, // option_data_always_send
1232 S_option_data_never_send = 497, // option_data_never_send
1233 S_pools_list = 498, // pools_list
1234 S_499_83 = 499, // $@83
1235 S_pools_list_content = 500, // pools_list_content
1236 S_not_empty_pools_list = 501, // not_empty_pools_list
1237 S_pool_list_entry = 502, // pool_list_entry
1238 S_503_84 = 503, // $@84
1239 S_sub_pool6 = 504, // sub_pool6
1240 S_505_85 = 505, // $@85
1241 S_pool_params = 506, // pool_params
1242 S_pool_param = 507, // pool_param
1243 S_pool_entry = 508, // pool_entry
1244 S_509_86 = 509, // $@86
1245 S_pool_id = 510, // pool_id
1246 S_user_context = 511, // user_context
1247 S_512_87 = 512, // $@87
1248 S_comment = 513, // comment
1249 S_514_88 = 514, // $@88
1250 S_pd_pools_list = 515, // pd_pools_list
1251 S_516_89 = 516, // $@89
1252 S_pd_pools_list_content = 517, // pd_pools_list_content
1253 S_not_empty_pd_pools_list = 518, // not_empty_pd_pools_list
1254 S_pd_pool_entry = 519, // pd_pool_entry
1255 S_520_90 = 520, // $@90
1256 S_sub_pd_pool = 521, // sub_pd_pool
1257 S_522_91 = 522, // $@91
1258 S_pd_pool_params = 523, // pd_pool_params
1259 S_pd_pool_param = 524, // pd_pool_param
1260 S_pd_prefix = 525, // pd_prefix
1261 S_526_92 = 526, // $@92
1262 S_pd_prefix_len = 527, // pd_prefix_len
1263 S_excluded_prefix = 528, // excluded_prefix
1264 S_529_93 = 529, // $@93
1265 S_excluded_prefix_len = 530, // excluded_prefix_len
1266 S_pd_delegated_len = 531, // pd_delegated_len
1267 S_reservations = 532, // reservations
1268 S_533_94 = 533, // $@94
1269 S_reservations_list = 534, // reservations_list
1270 S_not_empty_reservations_list = 535, // not_empty_reservations_list
1271 S_reservation = 536, // reservation
1272 S_537_95 = 537, // $@95
1273 S_sub_reservation = 538, // sub_reservation
1274 S_539_96 = 539, // $@96
1275 S_reservation_params = 540, // reservation_params
1276 S_not_empty_reservation_params = 541, // not_empty_reservation_params
1277 S_reservation_param = 542, // reservation_param
1278 S_ip_addresses = 543, // ip_addresses
1279 S_544_97 = 544, // $@97
1280 S_prefixes = 545, // prefixes
1281 S_546_98 = 546, // $@98
1282 S_duid = 547, // duid
1283 S_548_99 = 548, // $@99
1284 S_hw_address = 549, // hw_address
1285 S_550_100 = 550, // $@100
1286 S_hostname = 551, // hostname
1287 S_552_101 = 552, // $@101
1288 S_flex_id_value = 553, // flex_id_value
1289 S_554_102 = 554, // $@102
1290 S_reservation_client_classes = 555, // reservation_client_classes
1291 S_556_103 = 556, // $@103
1292 S_relay = 557, // relay
1293 S_558_104 = 558, // $@104
1294 S_relay_map = 559, // relay_map
1295 S_client_classes = 560, // client_classes
1296 S_561_105 = 561, // $@105
1297 S_client_classes_list = 562, // client_classes_list
1298 S_client_class_entry = 563, // client_class_entry
1299 S_564_106 = 564, // $@106
1300 S_client_class_params = 565, // client_class_params
1301 S_not_empty_client_class_params = 566, // not_empty_client_class_params
1302 S_client_class_param = 567, // client_class_param
1303 S_client_class_name = 568, // client_class_name
1304 S_client_class_test = 569, // client_class_test
1305 S_570_107 = 570, // $@107
1306 S_client_class_template_test = 571, // client_class_template_test
1307 S_572_108 = 572, // $@108
1308 S_only_if_required = 573, // only_if_required
1309 S_server_id = 574, // server_id
1310 S_575_109 = 575, // $@109
1311 S_server_id_params = 576, // server_id_params
1312 S_server_id_param = 577, // server_id_param
1313 S_server_id_type = 578, // server_id_type
1314 S_579_110 = 579, // $@110
1315 S_duid_type = 580, // duid_type
1316 S_htype = 581, // htype
1317 S_identifier = 582, // identifier
1318 S_583_111 = 583, // $@111
1319 S_time = 584, // time
1320 S_enterprise_id = 585, // enterprise_id
1321 S_dhcp4o6_port = 586, // dhcp4o6_port
1322 S_control_socket = 587, // control_socket
1323 S_588_112 = 588, // $@112
1324 S_control_socket_params = 589, // control_socket_params
1325 S_control_socket_param = 590, // control_socket_param
1326 S_socket_type = 591, // socket_type
1327 S_592_113 = 592, // $@113
1328 S_socket_name = 593, // socket_name
1329 S_594_114 = 594, // $@114
1330 S_dhcp_queue_control = 595, // dhcp_queue_control
1331 S_596_115 = 596, // $@115
1332 S_queue_control_params = 597, // queue_control_params
1333 S_queue_control_param = 598, // queue_control_param
1334 S_enable_queue = 599, // enable_queue
1335 S_queue_type = 600, // queue_type
1336 S_601_116 = 601, // $@116
1337 S_capacity = 602, // capacity
1338 S_arbitrary_map_entry = 603, // arbitrary_map_entry
1339 S_604_117 = 604, // $@117
1340 S_dhcp_ddns = 605, // dhcp_ddns
1341 S_606_118 = 606, // $@118
1342 S_sub_dhcp_ddns = 607, // sub_dhcp_ddns
1343 S_608_119 = 608, // $@119
1344 S_dhcp_ddns_params = 609, // dhcp_ddns_params
1345 S_dhcp_ddns_param = 610, // dhcp_ddns_param
1346 S_enable_updates = 611, // enable_updates
1347 S_server_ip = 612, // server_ip
1348 S_613_120 = 613, // $@120
1349 S_server_port = 614, // server_port
1350 S_sender_ip = 615, // sender_ip
1351 S_616_121 = 616, // $@121
1352 S_sender_port = 617, // sender_port
1353 S_max_queue_size = 618, // max_queue_size
1354 S_ncr_protocol = 619, // ncr_protocol
1355 S_620_122 = 620, // $@122
1356 S_ncr_protocol_value = 621, // ncr_protocol_value
1357 S_ncr_format = 622, // ncr_format
1358 S_623_123 = 623, // $@123
1359 S_config_control = 624, // config_control
1360 S_625_124 = 625, // $@124
1361 S_sub_config_control = 626, // sub_config_control
1362 S_627_125 = 627, // $@125
1363 S_config_control_params = 628, // config_control_params
1364 S_config_control_param = 629, // config_control_param
1365 S_config_databases = 630, // config_databases
1366 S_631_126 = 631, // $@126
1367 S_config_fetch_wait_time = 632, // config_fetch_wait_time
1368 S_loggers = 633, // loggers
1369 S_634_127 = 634, // $@127
1370 S_loggers_entries = 635, // loggers_entries
1371 S_logger_entry = 636, // logger_entry
1372 S_637_128 = 637, // $@128
1373 S_logger_params = 638, // logger_params
1374 S_logger_param = 639, // logger_param
1375 S_debuglevel = 640, // debuglevel
1376 S_severity = 641, // severity
1377 S_642_129 = 642, // $@129
1378 S_output_options_list = 643, // output_options_list
1379 S_644_130 = 644, // $@130
1380 S_output_options_list_content = 645, // output_options_list_content
1381 S_output_entry = 646, // output_entry
1382 S_647_131 = 647, // $@131
1383 S_output_params_list = 648, // output_params_list
1384 S_output_params = 649, // output_params
1385 S_output = 650, // output
1386 S_651_132 = 651, // $@132
1387 S_flush = 652, // flush
1388 S_maxsize = 653, // maxsize
1389 S_maxver = 654, // maxver
1390 S_pattern = 655, // pattern
1391 S_656_133 = 656, // $@133
1392 S_compatibility = 657, // compatibility
1393 S_658_134 = 658, // $@134
1394 S_compatibility_params = 659, // compatibility_params
1395 S_compatibility_param = 660, // compatibility_param
1396 S_lenient_option_parsing = 661 // lenient_option_parsing
1398 };
1399
1402
1405
1412 template <typename Base>
1413 struct basic_symbol : Base
1414 {
1416 typedef Base super_type;
1417
1420 : value ()
1421 , location ()
1422 {}
1423
1424#if 201103L <= YY_CPLUSPLUS
1426 basic_symbol (basic_symbol&& that)
1427 : Base (std::move (that))
1428 , value ()
1429 , location (std::move (that.location))
1430 {
1431 switch (this->kind ())
1432 {
1433 case symbol_kind::S_value: // value
1434 case symbol_kind::S_map_value: // map_value
1435 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1436 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1437 case symbol_kind::S_db_type: // db_type
1438 case symbol_kind::S_on_fail_mode: // on_fail_mode
1439 case symbol_kind::S_duid_type: // duid_type
1440 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1441 value.move< ElementPtr > (std::move (that.value));
1442 break;
1443
1444 case symbol_kind::S_BOOLEAN: // "boolean"
1445 value.move< bool > (std::move (that.value));
1446 break;
1447
1448 case symbol_kind::S_FLOAT: // "floating point"
1449 value.move< double > (std::move (that.value));
1450 break;
1451
1452 case symbol_kind::S_INTEGER: // "integer"
1453 value.move< int64_t > (std::move (that.value));
1454 break;
1455
1456 case symbol_kind::S_STRING: // "constant string"
1457 value.move< std::string > (std::move (that.value));
1458 break;
1459
1460 default:
1461 break;
1462 }
1463
1464 }
1465#endif
1466
1468 basic_symbol (const basic_symbol& that);
1469
1471#if 201103L <= YY_CPLUSPLUS
1472 basic_symbol (typename Base::kind_type t, location_type&& l)
1473 : Base (t)
1474 , location (std::move (l))
1475 {}
1476#else
1477 basic_symbol (typename Base::kind_type t, const location_type& l)
1478 : Base (t)
1479 , location (l)
1480 {}
1481#endif
1482
1483#if 201103L <= YY_CPLUSPLUS
1484 basic_symbol (typename Base::kind_type t, ElementPtr&& 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 ElementPtr& 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, bool&& 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 bool& 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, double&& 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 double& v, const location_type& l)
1519 : Base (t)
1520 , value (v)
1521 , location (l)
1522 {}
1523#endif
1524
1525#if 201103L <= YY_CPLUSPLUS
1526 basic_symbol (typename Base::kind_type t, int64_t&& v, location_type&& l)
1527 : Base (t)
1528 , value (std::move (v))
1529 , location (std::move (l))
1530 {}
1531#else
1532 basic_symbol (typename Base::kind_type t, const int64_t& v, const location_type& l)
1533 : Base (t)
1534 , value (v)
1535 , location (l)
1536 {}
1537#endif
1538
1539#if 201103L <= YY_CPLUSPLUS
1540 basic_symbol (typename Base::kind_type t, std::string&& v, location_type&& l)
1541 : Base (t)
1542 , value (std::move (v))
1543 , location (std::move (l))
1544 {}
1545#else
1546 basic_symbol (typename Base::kind_type t, const std::string& v, const location_type& l)
1547 : Base (t)
1548 , value (v)
1549 , location (l)
1550 {}
1551#endif
1552
1555 {
1556 clear ();
1557 }
1558
1559
1560
1563 {
1564 // User destructor.
1565 symbol_kind_type yykind = this->kind ();
1566 basic_symbol<Base>& yysym = *this;
1567 (void) yysym;
1568 switch (yykind)
1569 {
1570 default:
1571 break;
1572 }
1573
1574 // Value type destructor.
1575switch (yykind)
1576 {
1577 case symbol_kind::S_value: // value
1578 case symbol_kind::S_map_value: // map_value
1579 case symbol_kind::S_ddns_replace_client_name_value: // ddns_replace_client_name_value
1580 case symbol_kind::S_ddns_conflict_resolution_mode_value: // ddns_conflict_resolution_mode_value
1581 case symbol_kind::S_db_type: // db_type
1582 case symbol_kind::S_on_fail_mode: // on_fail_mode
1583 case symbol_kind::S_duid_type: // duid_type
1584 case symbol_kind::S_ncr_protocol_value: // ncr_protocol_value
1585 value.template destroy< ElementPtr > ();
1586 break;
1587
1588 case symbol_kind::S_BOOLEAN: // "boolean"
1589 value.template destroy< bool > ();
1590 break;
1591
1592 case symbol_kind::S_FLOAT: // "floating point"
1593 value.template destroy< double > ();
1594 break;
1595
1596 case symbol_kind::S_INTEGER: // "integer"
1597 value.template destroy< int64_t > ();
1598 break;
1599
1600 case symbol_kind::S_STRING: // "constant string"
1601 value.template destroy< std::string > ();
1602 break;
1603
1604 default:
1605 break;
1606 }
1607
1608 Base::clear ();
1609 }
1610
1612 std::string name () const YY_NOEXCEPT
1613 {
1614 return Dhcp6Parser::symbol_name (this->kind ());
1615 }
1616
1618 symbol_kind_type type_get () const YY_NOEXCEPT;
1619
1621 bool empty () const YY_NOEXCEPT;
1622
1624 void move (basic_symbol& s);
1625
1628
1631
1632 private:
1633#if YY_CPLUSPLUS < 201103L
1635 basic_symbol& operator= (const basic_symbol& that);
1636#endif
1637 };
1638
1640 struct by_kind
1641 {
1644
1647
1648#if 201103L <= YY_CPLUSPLUS
1650 by_kind (by_kind&& that) YY_NOEXCEPT;
1651#endif
1652
1654 by_kind (const by_kind& that) YY_NOEXCEPT;
1655
1658
1659
1660
1662 void clear () YY_NOEXCEPT;
1663
1665 void move (by_kind& that);
1666
1669 symbol_kind_type kind () const YY_NOEXCEPT;
1670
1672 symbol_kind_type type_get () const YY_NOEXCEPT;
1673
1677 };
1678
1681
1684 {
1686 typedef basic_symbol<by_kind> super_type;
1687
1690
1692#if 201103L <= YY_CPLUSPLUS
1693 symbol_type (int tok, location_type l)
1694 : super_type (token_kind_type (tok), std::move (l))
1695#else
1696 symbol_type (int tok, const location_type& l)
1697 : super_type (token_kind_type (tok), l)
1698#endif
1699 {
1700#if !defined _MSC_VER || defined __clang__
1701 PARSER6__ASSERT (tok == token::TOKEN_END
1702 || (token::TOKEN_PARSER6_error <= tok && tok <= token::TOKEN_SUB_CONFIG_CONTROL));
1703#endif
1704 }
1705#if 201103L <= YY_CPLUSPLUS
1706 symbol_type (int tok, bool v, location_type l)
1707 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1708#else
1709 symbol_type (int tok, const bool& v, const location_type& l)
1710 : super_type (token_kind_type (tok), v, l)
1711#endif
1712 {
1713#if !defined _MSC_VER || defined __clang__
1714 PARSER6__ASSERT (tok == token::TOKEN_BOOLEAN);
1715#endif
1716 }
1717#if 201103L <= YY_CPLUSPLUS
1718 symbol_type (int tok, double v, location_type l)
1719 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1720#else
1721 symbol_type (int tok, const double& v, const location_type& l)
1722 : super_type (token_kind_type (tok), v, l)
1723#endif
1724 {
1725#if !defined _MSC_VER || defined __clang__
1726 PARSER6__ASSERT (tok == token::TOKEN_FLOAT);
1727#endif
1728 }
1729#if 201103L <= YY_CPLUSPLUS
1730 symbol_type (int tok, int64_t v, location_type l)
1731 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1732#else
1733 symbol_type (int tok, const int64_t& v, const location_type& l)
1734 : super_type (token_kind_type (tok), v, l)
1735#endif
1736 {
1737#if !defined _MSC_VER || defined __clang__
1738 PARSER6__ASSERT (tok == token::TOKEN_INTEGER);
1739#endif
1740 }
1741#if 201103L <= YY_CPLUSPLUS
1742 symbol_type (int tok, std::string v, location_type l)
1743 : super_type (token_kind_type (tok), std::move (v), std::move (l))
1744#else
1745 symbol_type (int tok, const std::string& v, const location_type& l)
1746 : super_type (token_kind_type (tok), v, l)
1747#endif
1748 {
1749#if !defined _MSC_VER || defined __clang__
1750 PARSER6__ASSERT (tok == token::TOKEN_STRING);
1751#endif
1752 }
1753 };
1754
1757 virtual ~Dhcp6Parser ();
1758
1759#if 201103L <= YY_CPLUSPLUS
1761 Dhcp6Parser (const Dhcp6Parser&) = delete;
1763 Dhcp6Parser& operator= (const Dhcp6Parser&) = delete;
1764#endif
1765
1768 int operator() ();
1769
1772 virtual int parse ();
1773
1774#if PARSER6_DEBUG
1776 std::ostream& debug_stream () const YY_ATTRIBUTE_PURE;
1778 void set_debug_stream (std::ostream &);
1779
1781 typedef int debug_level_type;
1783 debug_level_type debug_level () const YY_ATTRIBUTE_PURE;
1785 void set_debug_level (debug_level_type l);
1786#endif
1787
1791 virtual void error (const location_type& loc, const std::string& msg);
1792
1794 void error (const syntax_error& err);
1795
1798 static std::string symbol_name (symbol_kind_type yysymbol);
1799
1800 // Implementation of make_symbol for each token kind.
1801#if 201103L <= YY_CPLUSPLUS
1802 static
1803 symbol_type
1804 make_END (location_type l)
1805 {
1806 return symbol_type (token::TOKEN_END, std::move (l));
1807 }
1808#else
1809 static
1810 symbol_type
1812 {
1813 return symbol_type (token::TOKEN_END, l);
1814 }
1815#endif
1816#if 201103L <= YY_CPLUSPLUS
1817 static
1818 symbol_type
1819 make_PARSER6_error (location_type l)
1820 {
1821 return symbol_type (token::TOKEN_PARSER6_error, std::move (l));
1822 }
1823#else
1824 static
1825 symbol_type
1827 {
1828 return symbol_type (token::TOKEN_PARSER6_error, l);
1829 }
1830#endif
1831#if 201103L <= YY_CPLUSPLUS
1832 static
1833 symbol_type
1834 make_PARSER6_UNDEF (location_type l)
1835 {
1836 return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l));
1837 }
1838#else
1839 static
1840 symbol_type
1842 {
1843 return symbol_type (token::TOKEN_PARSER6_UNDEF, l);
1844 }
1845#endif
1846#if 201103L <= YY_CPLUSPLUS
1847 static
1848 symbol_type
1849 make_COMMA (location_type l)
1850 {
1851 return symbol_type (token::TOKEN_COMMA, std::move (l));
1852 }
1853#else
1854 static
1855 symbol_type
1857 {
1858 return symbol_type (token::TOKEN_COMMA, l);
1859 }
1860#endif
1861#if 201103L <= YY_CPLUSPLUS
1862 static
1863 symbol_type
1864 make_COLON (location_type l)
1865 {
1866 return symbol_type (token::TOKEN_COLON, std::move (l));
1867 }
1868#else
1869 static
1870 symbol_type
1872 {
1873 return symbol_type (token::TOKEN_COLON, l);
1874 }
1875#endif
1876#if 201103L <= YY_CPLUSPLUS
1877 static
1878 symbol_type
1879 make_LSQUARE_BRACKET (location_type l)
1880 {
1881 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1882 }
1883#else
1884 static
1885 symbol_type
1887 {
1888 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1889 }
1890#endif
1891#if 201103L <= YY_CPLUSPLUS
1892 static
1893 symbol_type
1894 make_RSQUARE_BRACKET (location_type l)
1895 {
1896 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1897 }
1898#else
1899 static
1900 symbol_type
1902 {
1903 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1904 }
1905#endif
1906#if 201103L <= YY_CPLUSPLUS
1907 static
1908 symbol_type
1909 make_LCURLY_BRACKET (location_type l)
1910 {
1911 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1912 }
1913#else
1914 static
1915 symbol_type
1917 {
1918 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1919 }
1920#endif
1921#if 201103L <= YY_CPLUSPLUS
1922 static
1923 symbol_type
1924 make_RCURLY_BRACKET (location_type l)
1925 {
1926 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1927 }
1928#else
1929 static
1930 symbol_type
1932 {
1933 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1934 }
1935#endif
1936#if 201103L <= YY_CPLUSPLUS
1937 static
1938 symbol_type
1939 make_NULL_TYPE (location_type l)
1940 {
1941 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1942 }
1943#else
1944 static
1945 symbol_type
1947 {
1948 return symbol_type (token::TOKEN_NULL_TYPE, l);
1949 }
1950#endif
1951#if 201103L <= YY_CPLUSPLUS
1952 static
1953 symbol_type
1954 make_DHCP6 (location_type l)
1955 {
1956 return symbol_type (token::TOKEN_DHCP6, std::move (l));
1957 }
1958#else
1959 static
1960 symbol_type
1962 {
1963 return symbol_type (token::TOKEN_DHCP6, l);
1964 }
1965#endif
1966#if 201103L <= YY_CPLUSPLUS
1967 static
1968 symbol_type
1969 make_DATA_DIRECTORY (location_type l)
1970 {
1971 return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
1972 }
1973#else
1974 static
1975 symbol_type
1977 {
1978 return symbol_type (token::TOKEN_DATA_DIRECTORY, l);
1979 }
1980#endif
1981#if 201103L <= YY_CPLUSPLUS
1982 static
1983 symbol_type
1984 make_CONFIG_CONTROL (location_type l)
1985 {
1986 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
1987 }
1988#else
1989 static
1990 symbol_type
1992 {
1993 return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
1994 }
1995#endif
1996#if 201103L <= YY_CPLUSPLUS
1997 static
1998 symbol_type
1999 make_CONFIG_DATABASES (location_type l)
2000 {
2001 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
2002 }
2003#else
2004 static
2005 symbol_type
2007 {
2008 return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
2009 }
2010#endif
2011#if 201103L <= YY_CPLUSPLUS
2012 static
2013 symbol_type
2014 make_CONFIG_FETCH_WAIT_TIME (location_type l)
2015 {
2016 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2017 }
2018#else
2019 static
2020 symbol_type
2022 {
2023 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
2024 }
2025#endif
2026#if 201103L <= YY_CPLUSPLUS
2027 static
2028 symbol_type
2029 make_INTERFACES_CONFIG (location_type l)
2030 {
2031 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2032 }
2033#else
2034 static
2035 symbol_type
2037 {
2038 return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
2039 }
2040#endif
2041#if 201103L <= YY_CPLUSPLUS
2042 static
2043 symbol_type
2044 make_INTERFACES (location_type l)
2045 {
2046 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2047 }
2048#else
2049 static
2050 symbol_type
2052 {
2053 return symbol_type (token::TOKEN_INTERFACES, l);
2054 }
2055#endif
2056#if 201103L <= YY_CPLUSPLUS
2057 static
2058 symbol_type
2059 make_RE_DETECT (location_type l)
2060 {
2061 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2062 }
2063#else
2064 static
2065 symbol_type
2067 {
2068 return symbol_type (token::TOKEN_RE_DETECT, l);
2069 }
2070#endif
2071#if 201103L <= YY_CPLUSPLUS
2072 static
2073 symbol_type
2074 make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2075 {
2076 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2077 }
2078#else
2079 static
2080 symbol_type
2082 {
2083 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, l);
2084 }
2085#endif
2086#if 201103L <= YY_CPLUSPLUS
2087 static
2088 symbol_type
2089 make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2090 {
2091 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2092 }
2093#else
2094 static
2095 symbol_type
2097 {
2098 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, l);
2099 }
2100#endif
2101#if 201103L <= YY_CPLUSPLUS
2102 static
2103 symbol_type
2104 make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2105 {
2106 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2107 }
2108#else
2109 static
2110 symbol_type
2112 {
2113 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, l);
2114 }
2115#endif
2116#if 201103L <= YY_CPLUSPLUS
2117 static
2118 symbol_type
2119 make_LEASE_DATABASE (location_type l)
2120 {
2121 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2122 }
2123#else
2124 static
2125 symbol_type
2127 {
2128 return symbol_type (token::TOKEN_LEASE_DATABASE, l);
2129 }
2130#endif
2131#if 201103L <= YY_CPLUSPLUS
2132 static
2133 symbol_type
2134 make_HOSTS_DATABASE (location_type l)
2135 {
2136 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2137 }
2138#else
2139 static
2140 symbol_type
2142 {
2143 return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
2144 }
2145#endif
2146#if 201103L <= YY_CPLUSPLUS
2147 static
2148 symbol_type
2149 make_HOSTS_DATABASES (location_type l)
2150 {
2151 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2152 }
2153#else
2154 static
2155 symbol_type
2157 {
2158 return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
2159 }
2160#endif
2161#if 201103L <= YY_CPLUSPLUS
2162 static
2163 symbol_type
2164 make_TYPE (location_type l)
2165 {
2166 return symbol_type (token::TOKEN_TYPE, std::move (l));
2167 }
2168#else
2169 static
2170 symbol_type
2172 {
2173 return symbol_type (token::TOKEN_TYPE, l);
2174 }
2175#endif
2176#if 201103L <= YY_CPLUSPLUS
2177 static
2178 symbol_type
2179 make_MEMFILE (location_type l)
2180 {
2181 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2182 }
2183#else
2184 static
2185 symbol_type
2187 {
2188 return symbol_type (token::TOKEN_MEMFILE, l);
2189 }
2190#endif
2191#if 201103L <= YY_CPLUSPLUS
2192 static
2193 symbol_type
2194 make_MYSQL (location_type l)
2195 {
2196 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2197 }
2198#else
2199 static
2200 symbol_type
2202 {
2203 return symbol_type (token::TOKEN_MYSQL, l);
2204 }
2205#endif
2206#if 201103L <= YY_CPLUSPLUS
2207 static
2208 symbol_type
2209 make_POSTGRESQL (location_type l)
2210 {
2211 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2212 }
2213#else
2214 static
2215 symbol_type
2217 {
2218 return symbol_type (token::TOKEN_POSTGRESQL, l);
2219 }
2220#endif
2221#if 201103L <= YY_CPLUSPLUS
2222 static
2223 symbol_type
2224 make_USER (location_type l)
2225 {
2226 return symbol_type (token::TOKEN_USER, std::move (l));
2227 }
2228#else
2229 static
2230 symbol_type
2232 {
2233 return symbol_type (token::TOKEN_USER, l);
2234 }
2235#endif
2236#if 201103L <= YY_CPLUSPLUS
2237 static
2238 symbol_type
2239 make_PASSWORD (location_type l)
2240 {
2241 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2242 }
2243#else
2244 static
2245 symbol_type
2247 {
2248 return symbol_type (token::TOKEN_PASSWORD, l);
2249 }
2250#endif
2251#if 201103L <= YY_CPLUSPLUS
2252 static
2253 symbol_type
2254 make_HOST (location_type l)
2255 {
2256 return symbol_type (token::TOKEN_HOST, std::move (l));
2257 }
2258#else
2259 static
2260 symbol_type
2262 {
2263 return symbol_type (token::TOKEN_HOST, l);
2264 }
2265#endif
2266#if 201103L <= YY_CPLUSPLUS
2267 static
2268 symbol_type
2269 make_PORT (location_type l)
2270 {
2271 return symbol_type (token::TOKEN_PORT, std::move (l));
2272 }
2273#else
2274 static
2275 symbol_type
2277 {
2278 return symbol_type (token::TOKEN_PORT, l);
2279 }
2280#endif
2281#if 201103L <= YY_CPLUSPLUS
2282 static
2283 symbol_type
2284 make_PERSIST (location_type l)
2285 {
2286 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2287 }
2288#else
2289 static
2290 symbol_type
2292 {
2293 return symbol_type (token::TOKEN_PERSIST, l);
2294 }
2295#endif
2296#if 201103L <= YY_CPLUSPLUS
2297 static
2298 symbol_type
2299 make_LFC_INTERVAL (location_type l)
2300 {
2301 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2302 }
2303#else
2304 static
2305 symbol_type
2307 {
2308 return symbol_type (token::TOKEN_LFC_INTERVAL, l);
2309 }
2310#endif
2311#if 201103L <= YY_CPLUSPLUS
2312 static
2313 symbol_type
2314 make_READONLY (location_type l)
2315 {
2316 return symbol_type (token::TOKEN_READONLY, std::move (l));
2317 }
2318#else
2319 static
2320 symbol_type
2322 {
2323 return symbol_type (token::TOKEN_READONLY, l);
2324 }
2325#endif
2326#if 201103L <= YY_CPLUSPLUS
2327 static
2328 symbol_type
2329 make_CONNECT_TIMEOUT (location_type l)
2330 {
2331 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2332 }
2333#else
2334 static
2335 symbol_type
2337 {
2338 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
2339 }
2340#endif
2341#if 201103L <= YY_CPLUSPLUS
2342 static
2343 symbol_type
2344 make_READ_TIMEOUT (location_type l)
2345 {
2346 return symbol_type (token::TOKEN_READ_TIMEOUT, std::move (l));
2347 }
2348#else
2349 static
2350 symbol_type
2352 {
2353 return symbol_type (token::TOKEN_READ_TIMEOUT, l);
2354 }
2355#endif
2356#if 201103L <= YY_CPLUSPLUS
2357 static
2358 symbol_type
2359 make_WRITE_TIMEOUT (location_type l)
2360 {
2361 return symbol_type (token::TOKEN_WRITE_TIMEOUT, std::move (l));
2362 }
2363#else
2364 static
2365 symbol_type
2367 {
2368 return symbol_type (token::TOKEN_WRITE_TIMEOUT, l);
2369 }
2370#endif
2371#if 201103L <= YY_CPLUSPLUS
2372 static
2373 symbol_type
2374 make_TCP_USER_TIMEOUT (location_type l)
2375 {
2376 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, std::move (l));
2377 }
2378#else
2379 static
2380 symbol_type
2382 {
2383 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, l);
2384 }
2385#endif
2386#if 201103L <= YY_CPLUSPLUS
2387 static
2388 symbol_type
2389 make_MAX_RECONNECT_TRIES (location_type l)
2390 {
2391 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2392 }
2393#else
2394 static
2395 symbol_type
2397 {
2398 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
2399 }
2400#endif
2401#if 201103L <= YY_CPLUSPLUS
2402 static
2403 symbol_type
2404 make_RECONNECT_WAIT_TIME (location_type l)
2405 {
2406 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2407 }
2408#else
2409 static
2410 symbol_type
2412 {
2413 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
2414 }
2415#endif
2416#if 201103L <= YY_CPLUSPLUS
2417 static
2418 symbol_type
2419 make_ON_FAIL (location_type l)
2420 {
2421 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2422 }
2423#else
2424 static
2425 symbol_type
2427 {
2428 return symbol_type (token::TOKEN_ON_FAIL, l);
2429 }
2430#endif
2431#if 201103L <= YY_CPLUSPLUS
2432 static
2433 symbol_type
2434 make_STOP_RETRY_EXIT (location_type l)
2435 {
2436 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2437 }
2438#else
2439 static
2440 symbol_type
2442 {
2443 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, l);
2444 }
2445#endif
2446#if 201103L <= YY_CPLUSPLUS
2447 static
2448 symbol_type
2449 make_SERVE_RETRY_EXIT (location_type l)
2450 {
2451 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2452 }
2453#else
2454 static
2455 symbol_type
2457 {
2458 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, l);
2459 }
2460#endif
2461#if 201103L <= YY_CPLUSPLUS
2462 static
2463 symbol_type
2464 make_SERVE_RETRY_CONTINUE (location_type l)
2465 {
2466 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2467 }
2468#else
2469 static
2470 symbol_type
2472 {
2473 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, l);
2474 }
2475#endif
2476#if 201103L <= YY_CPLUSPLUS
2477 static
2478 symbol_type
2479 make_RETRY_ON_STARTUP (location_type l)
2480 {
2481 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, std::move (l));
2482 }
2483#else
2484 static
2485 symbol_type
2487 {
2488 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, l);
2489 }
2490#endif
2491#if 201103L <= YY_CPLUSPLUS
2492 static
2493 symbol_type
2494 make_MAX_ROW_ERRORS (location_type l)
2495 {
2496 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2497 }
2498#else
2499 static
2500 symbol_type
2502 {
2503 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
2504 }
2505#endif
2506#if 201103L <= YY_CPLUSPLUS
2507 static
2508 symbol_type
2509 make_TRUST_ANCHOR (location_type l)
2510 {
2511 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2512 }
2513#else
2514 static
2515 symbol_type
2517 {
2518 return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
2519 }
2520#endif
2521#if 201103L <= YY_CPLUSPLUS
2522 static
2523 symbol_type
2524 make_CERT_FILE (location_type l)
2525 {
2526 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2527 }
2528#else
2529 static
2530 symbol_type
2532 {
2533 return symbol_type (token::TOKEN_CERT_FILE, l);
2534 }
2535#endif
2536#if 201103L <= YY_CPLUSPLUS
2537 static
2538 symbol_type
2539 make_KEY_FILE (location_type l)
2540 {
2541 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2542 }
2543#else
2544 static
2545 symbol_type
2547 {
2548 return symbol_type (token::TOKEN_KEY_FILE, l);
2549 }
2550#endif
2551#if 201103L <= YY_CPLUSPLUS
2552 static
2553 symbol_type
2554 make_CIPHER_LIST (location_type l)
2555 {
2556 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2557 }
2558#else
2559 static
2560 symbol_type
2562 {
2563 return symbol_type (token::TOKEN_CIPHER_LIST, l);
2564 }
2565#endif
2566#if 201103L <= YY_CPLUSPLUS
2567 static
2568 symbol_type
2569 make_PREFERRED_LIFETIME (location_type l)
2570 {
2571 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
2572 }
2573#else
2574 static
2575 symbol_type
2577 {
2578 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, l);
2579 }
2580#endif
2581#if 201103L <= YY_CPLUSPLUS
2582 static
2583 symbol_type
2584 make_MIN_PREFERRED_LIFETIME (location_type l)
2585 {
2586 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
2587 }
2588#else
2589 static
2590 symbol_type
2592 {
2593 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, l);
2594 }
2595#endif
2596#if 201103L <= YY_CPLUSPLUS
2597 static
2598 symbol_type
2599 make_MAX_PREFERRED_LIFETIME (location_type l)
2600 {
2601 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
2602 }
2603#else
2604 static
2605 symbol_type
2607 {
2608 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, l);
2609 }
2610#endif
2611#if 201103L <= YY_CPLUSPLUS
2612 static
2613 symbol_type
2614 make_VALID_LIFETIME (location_type l)
2615 {
2616 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2617 }
2618#else
2619 static
2620 symbol_type
2622 {
2623 return symbol_type (token::TOKEN_VALID_LIFETIME, l);
2624 }
2625#endif
2626#if 201103L <= YY_CPLUSPLUS
2627 static
2628 symbol_type
2629 make_MIN_VALID_LIFETIME (location_type l)
2630 {
2631 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2632 }
2633#else
2634 static
2635 symbol_type
2637 {
2638 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
2639 }
2640#endif
2641#if 201103L <= YY_CPLUSPLUS
2642 static
2643 symbol_type
2644 make_MAX_VALID_LIFETIME (location_type l)
2645 {
2646 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2647 }
2648#else
2649 static
2650 symbol_type
2652 {
2653 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
2654 }
2655#endif
2656#if 201103L <= YY_CPLUSPLUS
2657 static
2658 symbol_type
2659 make_RENEW_TIMER (location_type l)
2660 {
2661 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2662 }
2663#else
2664 static
2665 symbol_type
2667 {
2668 return symbol_type (token::TOKEN_RENEW_TIMER, l);
2669 }
2670#endif
2671#if 201103L <= YY_CPLUSPLUS
2672 static
2673 symbol_type
2674 make_REBIND_TIMER (location_type l)
2675 {
2676 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2677 }
2678#else
2679 static
2680 symbol_type
2682 {
2683 return symbol_type (token::TOKEN_REBIND_TIMER, l);
2684 }
2685#endif
2686#if 201103L <= YY_CPLUSPLUS
2687 static
2688 symbol_type
2689 make_CALCULATE_TEE_TIMES (location_type l)
2690 {
2691 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2692 }
2693#else
2694 static
2695 symbol_type
2697 {
2698 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
2699 }
2700#endif
2701#if 201103L <= YY_CPLUSPLUS
2702 static
2703 symbol_type
2704 make_T1_PERCENT (location_type l)
2705 {
2706 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2707 }
2708#else
2709 static
2710 symbol_type
2712 {
2713 return symbol_type (token::TOKEN_T1_PERCENT, l);
2714 }
2715#endif
2716#if 201103L <= YY_CPLUSPLUS
2717 static
2718 symbol_type
2719 make_T2_PERCENT (location_type l)
2720 {
2721 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2722 }
2723#else
2724 static
2725 symbol_type
2727 {
2728 return symbol_type (token::TOKEN_T2_PERCENT, l);
2729 }
2730#endif
2731#if 201103L <= YY_CPLUSPLUS
2732 static
2733 symbol_type
2734 make_CACHE_THRESHOLD (location_type l)
2735 {
2736 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2737 }
2738#else
2739 static
2740 symbol_type
2742 {
2743 return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
2744 }
2745#endif
2746#if 201103L <= YY_CPLUSPLUS
2747 static
2748 symbol_type
2749 make_CACHE_MAX_AGE (location_type l)
2750 {
2751 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2752 }
2753#else
2754 static
2755 symbol_type
2757 {
2758 return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
2759 }
2760#endif
2761#if 201103L <= YY_CPLUSPLUS
2762 static
2763 symbol_type
2764 make_DECLINE_PROBATION_PERIOD (location_type l)
2765 {
2766 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2767 }
2768#else
2769 static
2770 symbol_type
2772 {
2773 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
2774 }
2775#endif
2776#if 201103L <= YY_CPLUSPLUS
2777 static
2778 symbol_type
2779 make_SERVER_TAG (location_type l)
2780 {
2781 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2782 }
2783#else
2784 static
2785 symbol_type
2787 {
2788 return symbol_type (token::TOKEN_SERVER_TAG, l);
2789 }
2790#endif
2791#if 201103L <= YY_CPLUSPLUS
2792 static
2793 symbol_type
2794 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
2795 {
2796 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2797 }
2798#else
2799 static
2800 symbol_type
2802 {
2803 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
2804 }
2805#endif
2806#if 201103L <= YY_CPLUSPLUS
2807 static
2808 symbol_type
2809 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
2810 {
2811 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2812 }
2813#else
2814 static
2815 symbol_type
2817 {
2818 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
2819 }
2820#endif
2821#if 201103L <= YY_CPLUSPLUS
2822 static
2823 symbol_type
2824 make_DDNS_SEND_UPDATES (location_type l)
2825 {
2826 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2827 }
2828#else
2829 static
2830 symbol_type
2832 {
2833 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
2834 }
2835#endif
2836#if 201103L <= YY_CPLUSPLUS
2837 static
2838 symbol_type
2839 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
2840 {
2841 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2842 }
2843#else
2844 static
2845 symbol_type
2847 {
2848 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
2849 }
2850#endif
2851#if 201103L <= YY_CPLUSPLUS
2852 static
2853 symbol_type
2854 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
2855 {
2856 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2857 }
2858#else
2859 static
2860 symbol_type
2862 {
2863 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
2864 }
2865#endif
2866#if 201103L <= YY_CPLUSPLUS
2867 static
2868 symbol_type
2869 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
2870 {
2871 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2872 }
2873#else
2874 static
2875 symbol_type
2877 {
2878 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
2879 }
2880#endif
2881#if 201103L <= YY_CPLUSPLUS
2882 static
2883 symbol_type
2884 make_DDNS_GENERATED_PREFIX (location_type l)
2885 {
2886 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2887 }
2888#else
2889 static
2890 symbol_type
2892 {
2893 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
2894 }
2895#endif
2896#if 201103L <= YY_CPLUSPLUS
2897 static
2898 symbol_type
2899 make_DDNS_QUALIFYING_SUFFIX (location_type l)
2900 {
2901 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2902 }
2903#else
2904 static
2905 symbol_type
2907 {
2908 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
2909 }
2910#endif
2911#if 201103L <= YY_CPLUSPLUS
2912 static
2913 symbol_type
2914 make_DDNS_UPDATE_ON_RENEW (location_type l)
2915 {
2916 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2917 }
2918#else
2919 static
2920 symbol_type
2922 {
2923 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
2924 }
2925#endif
2926#if 201103L <= YY_CPLUSPLUS
2927 static
2928 symbol_type
2929 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
2930 {
2931 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2932 }
2933#else
2934 static
2935 symbol_type
2937 {
2938 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
2939 }
2940#endif
2941#if 201103L <= YY_CPLUSPLUS
2942 static
2943 symbol_type
2944 make_DDNS_TTL_PERCENT (location_type l)
2945 {
2946 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, std::move (l));
2947 }
2948#else
2949 static
2950 symbol_type
2952 {
2953 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, l);
2954 }
2955#endif
2956#if 201103L <= YY_CPLUSPLUS
2957 static
2958 symbol_type
2959 make_STORE_EXTENDED_INFO (location_type l)
2960 {
2961 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
2962 }
2963#else
2964 static
2965 symbol_type
2967 {
2968 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
2969 }
2970#endif
2971#if 201103L <= YY_CPLUSPLUS
2972 static
2973 symbol_type
2974 make_SUBNET6 (location_type l)
2975 {
2976 return symbol_type (token::TOKEN_SUBNET6, std::move (l));
2977 }
2978#else
2979 static
2980 symbol_type
2982 {
2983 return symbol_type (token::TOKEN_SUBNET6, l);
2984 }
2985#endif
2986#if 201103L <= YY_CPLUSPLUS
2987 static
2988 symbol_type
2989 make_OPTION_DEF (location_type l)
2990 {
2991 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
2992 }
2993#else
2994 static
2995 symbol_type
2997 {
2998 return symbol_type (token::TOKEN_OPTION_DEF, l);
2999 }
3000#endif
3001#if 201103L <= YY_CPLUSPLUS
3002 static
3003 symbol_type
3004 make_OPTION_DATA (location_type l)
3005 {
3006 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
3007 }
3008#else
3009 static
3010 symbol_type
3012 {
3013 return symbol_type (token::TOKEN_OPTION_DATA, l);
3014 }
3015#endif
3016#if 201103L <= YY_CPLUSPLUS
3017 static
3018 symbol_type
3019 make_NAME (location_type l)
3020 {
3021 return symbol_type (token::TOKEN_NAME, std::move (l));
3022 }
3023#else
3024 static
3025 symbol_type
3027 {
3028 return symbol_type (token::TOKEN_NAME, l);
3029 }
3030#endif
3031#if 201103L <= YY_CPLUSPLUS
3032 static
3033 symbol_type
3034 make_DATA (location_type l)
3035 {
3036 return symbol_type (token::TOKEN_DATA, std::move (l));
3037 }
3038#else
3039 static
3040 symbol_type
3042 {
3043 return symbol_type (token::TOKEN_DATA, l);
3044 }
3045#endif
3046#if 201103L <= YY_CPLUSPLUS
3047 static
3048 symbol_type
3049 make_CODE (location_type l)
3050 {
3051 return symbol_type (token::TOKEN_CODE, std::move (l));
3052 }
3053#else
3054 static
3055 symbol_type
3057 {
3058 return symbol_type (token::TOKEN_CODE, l);
3059 }
3060#endif
3061#if 201103L <= YY_CPLUSPLUS
3062 static
3063 symbol_type
3064 make_SPACE (location_type l)
3065 {
3066 return symbol_type (token::TOKEN_SPACE, std::move (l));
3067 }
3068#else
3069 static
3070 symbol_type
3072 {
3073 return symbol_type (token::TOKEN_SPACE, l);
3074 }
3075#endif
3076#if 201103L <= YY_CPLUSPLUS
3077 static
3078 symbol_type
3079 make_CSV_FORMAT (location_type l)
3080 {
3081 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3082 }
3083#else
3084 static
3085 symbol_type
3087 {
3088 return symbol_type (token::TOKEN_CSV_FORMAT, l);
3089 }
3090#endif
3091#if 201103L <= YY_CPLUSPLUS
3092 static
3093 symbol_type
3094 make_ALWAYS_SEND (location_type l)
3095 {
3096 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3097 }
3098#else
3099 static
3100 symbol_type
3102 {
3103 return symbol_type (token::TOKEN_ALWAYS_SEND, l);
3104 }
3105#endif
3106#if 201103L <= YY_CPLUSPLUS
3107 static
3108 symbol_type
3109 make_NEVER_SEND (location_type l)
3110 {
3111 return symbol_type (token::TOKEN_NEVER_SEND, std::move (l));
3112 }
3113#else
3114 static
3115 symbol_type
3117 {
3118 return symbol_type (token::TOKEN_NEVER_SEND, l);
3119 }
3120#endif
3121#if 201103L <= YY_CPLUSPLUS
3122 static
3123 symbol_type
3124 make_RECORD_TYPES (location_type l)
3125 {
3126 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3127 }
3128#else
3129 static
3130 symbol_type
3132 {
3133 return symbol_type (token::TOKEN_RECORD_TYPES, l);
3134 }
3135#endif
3136#if 201103L <= YY_CPLUSPLUS
3137 static
3138 symbol_type
3139 make_ENCAPSULATE (location_type l)
3140 {
3141 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3142 }
3143#else
3144 static
3145 symbol_type
3147 {
3148 return symbol_type (token::TOKEN_ENCAPSULATE, l);
3149 }
3150#endif
3151#if 201103L <= YY_CPLUSPLUS
3152 static
3153 symbol_type
3154 make_ARRAY (location_type l)
3155 {
3156 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3157 }
3158#else
3159 static
3160 symbol_type
3162 {
3163 return symbol_type (token::TOKEN_ARRAY, l);
3164 }
3165#endif
3166#if 201103L <= YY_CPLUSPLUS
3167 static
3168 symbol_type
3169 make_PARKED_PACKET_LIMIT (location_type l)
3170 {
3171 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3172 }
3173#else
3174 static
3175 symbol_type
3177 {
3178 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, l);
3179 }
3180#endif
3181#if 201103L <= YY_CPLUSPLUS
3182 static
3183 symbol_type
3184 make_ALLOCATOR (location_type l)
3185 {
3186 return symbol_type (token::TOKEN_ALLOCATOR, std::move (l));
3187 }
3188#else
3189 static
3190 symbol_type
3192 {
3193 return symbol_type (token::TOKEN_ALLOCATOR, l);
3194 }
3195#endif
3196#if 201103L <= YY_CPLUSPLUS
3197 static
3198 symbol_type
3199 make_PD_ALLOCATOR (location_type l)
3200 {
3201 return symbol_type (token::TOKEN_PD_ALLOCATOR, std::move (l));
3202 }
3203#else
3204 static
3205 symbol_type
3207 {
3208 return symbol_type (token::TOKEN_PD_ALLOCATOR, l);
3209 }
3210#endif
3211#if 201103L <= YY_CPLUSPLUS
3212 static
3213 symbol_type
3214 make_DDNS_CONFLICT_RESOLUTION_MODE (location_type l)
3215 {
3216 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, std::move (l));
3217 }
3218#else
3219 static
3220 symbol_type
3222 {
3223 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, l);
3224 }
3225#endif
3226#if 201103L <= YY_CPLUSPLUS
3227 static
3228 symbol_type
3229 make_CHECK_WITH_DHCID (location_type l)
3230 {
3231 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, std::move (l));
3232 }
3233#else
3234 static
3235 symbol_type
3237 {
3238 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, l);
3239 }
3240#endif
3241#if 201103L <= YY_CPLUSPLUS
3242 static
3243 symbol_type
3244 make_NO_CHECK_WITH_DHCID (location_type l)
3245 {
3246 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, std::move (l));
3247 }
3248#else
3249 static
3250 symbol_type
3252 {
3253 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, l);
3254 }
3255#endif
3256#if 201103L <= YY_CPLUSPLUS
3257 static
3258 symbol_type
3259 make_CHECK_EXISTS_WITH_DHCID (location_type l)
3260 {
3261 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, std::move (l));
3262 }
3263#else
3264 static
3265 symbol_type
3267 {
3268 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, l);
3269 }
3270#endif
3271#if 201103L <= YY_CPLUSPLUS
3272 static
3273 symbol_type
3274 make_NO_CHECK_WITHOUT_DHCID (location_type l)
3275 {
3276 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, std::move (l));
3277 }
3278#else
3279 static
3280 symbol_type
3282 {
3283 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, l);
3284 }
3285#endif
3286#if 201103L <= YY_CPLUSPLUS
3287 static
3288 symbol_type
3289 make_SHARED_NETWORKS (location_type l)
3290 {
3291 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3292 }
3293#else
3294 static
3295 symbol_type
3297 {
3298 return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
3299 }
3300#endif
3301#if 201103L <= YY_CPLUSPLUS
3302 static
3303 symbol_type
3304 make_POOLS (location_type l)
3305 {
3306 return symbol_type (token::TOKEN_POOLS, std::move (l));
3307 }
3308#else
3309 static
3310 symbol_type
3312 {
3313 return symbol_type (token::TOKEN_POOLS, l);
3314 }
3315#endif
3316#if 201103L <= YY_CPLUSPLUS
3317 static
3318 symbol_type
3319 make_POOL (location_type l)
3320 {
3321 return symbol_type (token::TOKEN_POOL, std::move (l));
3322 }
3323#else
3324 static
3325 symbol_type
3327 {
3328 return symbol_type (token::TOKEN_POOL, l);
3329 }
3330#endif
3331#if 201103L <= YY_CPLUSPLUS
3332 static
3333 symbol_type
3334 make_PD_POOLS (location_type l)
3335 {
3336 return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
3337 }
3338#else
3339 static
3340 symbol_type
3342 {
3343 return symbol_type (token::TOKEN_PD_POOLS, l);
3344 }
3345#endif
3346#if 201103L <= YY_CPLUSPLUS
3347 static
3348 symbol_type
3349 make_PREFIX (location_type l)
3350 {
3351 return symbol_type (token::TOKEN_PREFIX, std::move (l));
3352 }
3353#else
3354 static
3355 symbol_type
3357 {
3358 return symbol_type (token::TOKEN_PREFIX, l);
3359 }
3360#endif
3361#if 201103L <= YY_CPLUSPLUS
3362 static
3363 symbol_type
3364 make_PREFIX_LEN (location_type l)
3365 {
3366 return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
3367 }
3368#else
3369 static
3370 symbol_type
3372 {
3373 return symbol_type (token::TOKEN_PREFIX_LEN, l);
3374 }
3375#endif
3376#if 201103L <= YY_CPLUSPLUS
3377 static
3378 symbol_type
3379 make_EXCLUDED_PREFIX (location_type l)
3380 {
3381 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
3382 }
3383#else
3384 static
3385 symbol_type
3387 {
3388 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l);
3389 }
3390#endif
3391#if 201103L <= YY_CPLUSPLUS
3392 static
3393 symbol_type
3394 make_EXCLUDED_PREFIX_LEN (location_type l)
3395 {
3396 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
3397 }
3398#else
3399 static
3400 symbol_type
3402 {
3403 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, l);
3404 }
3405#endif
3406#if 201103L <= YY_CPLUSPLUS
3407 static
3408 symbol_type
3409 make_DELEGATED_LEN (location_type l)
3410 {
3411 return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
3412 }
3413#else
3414 static
3415 symbol_type
3417 {
3418 return symbol_type (token::TOKEN_DELEGATED_LEN, l);
3419 }
3420#endif
3421#if 201103L <= YY_CPLUSPLUS
3422 static
3423 symbol_type
3424 make_USER_CONTEXT (location_type l)
3425 {
3426 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3427 }
3428#else
3429 static
3430 symbol_type
3432 {
3433 return symbol_type (token::TOKEN_USER_CONTEXT, l);
3434 }
3435#endif
3436#if 201103L <= YY_CPLUSPLUS
3437 static
3438 symbol_type
3439 make_COMMENT (location_type l)
3440 {
3441 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3442 }
3443#else
3444 static
3445 symbol_type
3447 {
3448 return symbol_type (token::TOKEN_COMMENT, l);
3449 }
3450#endif
3451#if 201103L <= YY_CPLUSPLUS
3452 static
3453 symbol_type
3454 make_SUBNET (location_type l)
3455 {
3456 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3457 }
3458#else
3459 static
3460 symbol_type
3462 {
3463 return symbol_type (token::TOKEN_SUBNET, l);
3464 }
3465#endif
3466#if 201103L <= YY_CPLUSPLUS
3467 static
3468 symbol_type
3469 make_INTERFACE (location_type l)
3470 {
3471 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3472 }
3473#else
3474 static
3475 symbol_type
3477 {
3478 return symbol_type (token::TOKEN_INTERFACE, l);
3479 }
3480#endif
3481#if 201103L <= YY_CPLUSPLUS
3482 static
3483 symbol_type
3484 make_INTERFACE_ID (location_type l)
3485 {
3486 return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
3487 }
3488#else
3489 static
3490 symbol_type
3492 {
3493 return symbol_type (token::TOKEN_INTERFACE_ID, l);
3494 }
3495#endif
3496#if 201103L <= YY_CPLUSPLUS
3497 static
3498 symbol_type
3499 make_ID (location_type l)
3500 {
3501 return symbol_type (token::TOKEN_ID, std::move (l));
3502 }
3503#else
3504 static
3505 symbol_type
3507 {
3508 return symbol_type (token::TOKEN_ID, l);
3509 }
3510#endif
3511#if 201103L <= YY_CPLUSPLUS
3512 static
3513 symbol_type
3514 make_RAPID_COMMIT (location_type l)
3515 {
3516 return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
3517 }
3518#else
3519 static
3520 symbol_type
3522 {
3523 return symbol_type (token::TOKEN_RAPID_COMMIT, l);
3524 }
3525#endif
3526#if 201103L <= YY_CPLUSPLUS
3527 static
3528 symbol_type
3529 make_RESERVATIONS_GLOBAL (location_type l)
3530 {
3531 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3532 }
3533#else
3534 static
3535 symbol_type
3537 {
3538 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l);
3539 }
3540#endif
3541#if 201103L <= YY_CPLUSPLUS
3542 static
3543 symbol_type
3544 make_RESERVATIONS_IN_SUBNET (location_type l)
3545 {
3546 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3547 }
3548#else
3549 static
3550 symbol_type
3552 {
3553 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l);
3554 }
3555#endif
3556#if 201103L <= YY_CPLUSPLUS
3557 static
3558 symbol_type
3559 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3560 {
3561 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3562 }
3563#else
3564 static
3565 symbol_type
3567 {
3568 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l);
3569 }
3570#endif
3571#if 201103L <= YY_CPLUSPLUS
3572 static
3573 symbol_type
3574 make_MAC_SOURCES (location_type l)
3575 {
3576 return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
3577 }
3578#else
3579 static
3580 symbol_type
3582 {
3583 return symbol_type (token::TOKEN_MAC_SOURCES, l);
3584 }
3585#endif
3586#if 201103L <= YY_CPLUSPLUS
3587 static
3588 symbol_type
3589 make_RELAY_SUPPLIED_OPTIONS (location_type l)
3590 {
3591 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
3592 }
3593#else
3594 static
3595 symbol_type
3597 {
3598 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l);
3599 }
3600#endif
3601#if 201103L <= YY_CPLUSPLUS
3602 static
3603 symbol_type
3604 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3605 {
3606 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3607 }
3608#else
3609 static
3610 symbol_type
3612 {
3613 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
3614 }
3615#endif
3616#if 201103L <= YY_CPLUSPLUS
3617 static
3618 symbol_type
3619 make_SANITY_CHECKS (location_type l)
3620 {
3621 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
3622 }
3623#else
3624 static
3625 symbol_type
3627 {
3628 return symbol_type (token::TOKEN_SANITY_CHECKS, l);
3629 }
3630#endif
3631#if 201103L <= YY_CPLUSPLUS
3632 static
3633 symbol_type
3634 make_LEASE_CHECKS (location_type l)
3635 {
3636 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
3637 }
3638#else
3639 static
3640 symbol_type
3642 {
3643 return symbol_type (token::TOKEN_LEASE_CHECKS, l);
3644 }
3645#endif
3646#if 201103L <= YY_CPLUSPLUS
3647 static
3648 symbol_type
3649 make_EXTENDED_INFO_CHECKS (location_type l)
3650 {
3651 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, std::move (l));
3652 }
3653#else
3654 static
3655 symbol_type
3657 {
3658 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, l);
3659 }
3660#endif
3661#if 201103L <= YY_CPLUSPLUS
3662 static
3663 symbol_type
3664 make_CLIENT_CLASSES (location_type l)
3665 {
3666 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3667 }
3668#else
3669 static
3670 symbol_type
3672 {
3673 return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
3674 }
3675#endif
3676#if 201103L <= YY_CPLUSPLUS
3677 static
3678 symbol_type
3679 make_REQUIRE_CLIENT_CLASSES (location_type l)
3680 {
3681 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3682 }
3683#else
3684 static
3685 symbol_type
3687 {
3688 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
3689 }
3690#endif
3691#if 201103L <= YY_CPLUSPLUS
3692 static
3693 symbol_type
3694 make_TEST (location_type l)
3695 {
3696 return symbol_type (token::TOKEN_TEST, std::move (l));
3697 }
3698#else
3699 static
3700 symbol_type
3702 {
3703 return symbol_type (token::TOKEN_TEST, l);
3704 }
3705#endif
3706#if 201103L <= YY_CPLUSPLUS
3707 static
3708 symbol_type
3709 make_TEMPLATE_TEST (location_type l)
3710 {
3711 return symbol_type (token::TOKEN_TEMPLATE_TEST, std::move (l));
3712 }
3713#else
3714 static
3715 symbol_type
3717 {
3718 return symbol_type (token::TOKEN_TEMPLATE_TEST, l);
3719 }
3720#endif
3721#if 201103L <= YY_CPLUSPLUS
3722 static
3723 symbol_type
3724 make_ONLY_IF_REQUIRED (location_type l)
3725 {
3726 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3727 }
3728#else
3729 static
3730 symbol_type
3732 {
3733 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
3734 }
3735#endif
3736#if 201103L <= YY_CPLUSPLUS
3737 static
3738 symbol_type
3739 make_CLIENT_CLASS (location_type l)
3740 {
3741 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3742 }
3743#else
3744 static
3745 symbol_type
3747 {
3748 return symbol_type (token::TOKEN_CLIENT_CLASS, l);
3749 }
3750#endif
3751#if 201103L <= YY_CPLUSPLUS
3752 static
3753 symbol_type
3754 make_POOL_ID (location_type l)
3755 {
3756 return symbol_type (token::TOKEN_POOL_ID, std::move (l));
3757 }
3758#else
3759 static
3760 symbol_type
3762 {
3763 return symbol_type (token::TOKEN_POOL_ID, l);
3764 }
3765#endif
3766#if 201103L <= YY_CPLUSPLUS
3767 static
3768 symbol_type
3769 make_RESERVATIONS (location_type l)
3770 {
3771 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3772 }
3773#else
3774 static
3775 symbol_type
3777 {
3778 return symbol_type (token::TOKEN_RESERVATIONS, l);
3779 }
3780#endif
3781#if 201103L <= YY_CPLUSPLUS
3782 static
3783 symbol_type
3784 make_IP_ADDRESSES (location_type l)
3785 {
3786 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3787 }
3788#else
3789 static
3790 symbol_type
3792 {
3793 return symbol_type (token::TOKEN_IP_ADDRESSES, l);
3794 }
3795#endif
3796#if 201103L <= YY_CPLUSPLUS
3797 static
3798 symbol_type
3799 make_PREFIXES (location_type l)
3800 {
3801 return symbol_type (token::TOKEN_PREFIXES, std::move (l));
3802 }
3803#else
3804 static
3805 symbol_type
3807 {
3808 return symbol_type (token::TOKEN_PREFIXES, l);
3809 }
3810#endif
3811#if 201103L <= YY_CPLUSPLUS
3812 static
3813 symbol_type
3814 make_DUID (location_type l)
3815 {
3816 return symbol_type (token::TOKEN_DUID, std::move (l));
3817 }
3818#else
3819 static
3820 symbol_type
3822 {
3823 return symbol_type (token::TOKEN_DUID, l);
3824 }
3825#endif
3826#if 201103L <= YY_CPLUSPLUS
3827 static
3828 symbol_type
3829 make_HW_ADDRESS (location_type l)
3830 {
3831 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3832 }
3833#else
3834 static
3835 symbol_type
3837 {
3838 return symbol_type (token::TOKEN_HW_ADDRESS, l);
3839 }
3840#endif
3841#if 201103L <= YY_CPLUSPLUS
3842 static
3843 symbol_type
3844 make_HOSTNAME (location_type l)
3845 {
3846 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3847 }
3848#else
3849 static
3850 symbol_type
3852 {
3853 return symbol_type (token::TOKEN_HOSTNAME, l);
3854 }
3855#endif
3856#if 201103L <= YY_CPLUSPLUS
3857 static
3858 symbol_type
3859 make_FLEX_ID (location_type l)
3860 {
3861 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3862 }
3863#else
3864 static
3865 symbol_type
3867 {
3868 return symbol_type (token::TOKEN_FLEX_ID, l);
3869 }
3870#endif
3871#if 201103L <= YY_CPLUSPLUS
3872 static
3873 symbol_type
3874 make_RELAY (location_type l)
3875 {
3876 return symbol_type (token::TOKEN_RELAY, std::move (l));
3877 }
3878#else
3879 static
3880 symbol_type
3882 {
3883 return symbol_type (token::TOKEN_RELAY, l);
3884 }
3885#endif
3886#if 201103L <= YY_CPLUSPLUS
3887 static
3888 symbol_type
3889 make_HOOKS_LIBRARIES (location_type l)
3890 {
3891 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
3892 }
3893#else
3894 static
3895 symbol_type
3897 {
3898 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
3899 }
3900#endif
3901#if 201103L <= YY_CPLUSPLUS
3902 static
3903 symbol_type
3904 make_LIBRARY (location_type l)
3905 {
3906 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
3907 }
3908#else
3909 static
3910 symbol_type
3912 {
3913 return symbol_type (token::TOKEN_LIBRARY, l);
3914 }
3915#endif
3916#if 201103L <= YY_CPLUSPLUS
3917 static
3918 symbol_type
3919 make_PARAMETERS (location_type l)
3920 {
3921 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
3922 }
3923#else
3924 static
3925 symbol_type
3927 {
3928 return symbol_type (token::TOKEN_PARAMETERS, l);
3929 }
3930#endif
3931#if 201103L <= YY_CPLUSPLUS
3932 static
3933 symbol_type
3934 make_EXPIRED_LEASES_PROCESSING (location_type l)
3935 {
3936 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
3937 }
3938#else
3939 static
3940 symbol_type
3942 {
3943 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
3944 }
3945#endif
3946#if 201103L <= YY_CPLUSPLUS
3947 static
3948 symbol_type
3949 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
3950 {
3951 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
3952 }
3953#else
3954 static
3955 symbol_type
3957 {
3958 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
3959 }
3960#endif
3961#if 201103L <= YY_CPLUSPLUS
3962 static
3963 symbol_type
3964 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
3965 {
3966 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
3967 }
3968#else
3969 static
3970 symbol_type
3972 {
3973 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
3974 }
3975#endif
3976#if 201103L <= YY_CPLUSPLUS
3977 static
3978 symbol_type
3979 make_HOLD_RECLAIMED_TIME (location_type l)
3980 {
3981 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
3982 }
3983#else
3984 static
3985 symbol_type
3987 {
3988 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
3989 }
3990#endif
3991#if 201103L <= YY_CPLUSPLUS
3992 static
3993 symbol_type
3994 make_MAX_RECLAIM_LEASES (location_type l)
3995 {
3996 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
3997 }
3998#else
3999 static
4000 symbol_type
4002 {
4003 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
4004 }
4005#endif
4006#if 201103L <= YY_CPLUSPLUS
4007 static
4008 symbol_type
4009 make_MAX_RECLAIM_TIME (location_type l)
4010 {
4011 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
4012 }
4013#else
4014 static
4015 symbol_type
4017 {
4018 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
4019 }
4020#endif
4021#if 201103L <= YY_CPLUSPLUS
4022 static
4023 symbol_type
4024 make_UNWARNED_RECLAIM_CYCLES (location_type l)
4025 {
4026 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
4027 }
4028#else
4029 static
4030 symbol_type
4032 {
4033 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
4034 }
4035#endif
4036#if 201103L <= YY_CPLUSPLUS
4037 static
4038 symbol_type
4039 make_SERVER_ID (location_type l)
4040 {
4041 return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
4042 }
4043#else
4044 static
4045 symbol_type
4047 {
4048 return symbol_type (token::TOKEN_SERVER_ID, l);
4049 }
4050#endif
4051#if 201103L <= YY_CPLUSPLUS
4052 static
4053 symbol_type
4054 make_LLT (location_type l)
4055 {
4056 return symbol_type (token::TOKEN_LLT, std::move (l));
4057 }
4058#else
4059 static
4060 symbol_type
4062 {
4063 return symbol_type (token::TOKEN_LLT, l);
4064 }
4065#endif
4066#if 201103L <= YY_CPLUSPLUS
4067 static
4068 symbol_type
4069 make_EN (location_type l)
4070 {
4071 return symbol_type (token::TOKEN_EN, std::move (l));
4072 }
4073#else
4074 static
4075 symbol_type
4077 {
4078 return symbol_type (token::TOKEN_EN, l);
4079 }
4080#endif
4081#if 201103L <= YY_CPLUSPLUS
4082 static
4083 symbol_type
4084 make_LL (location_type l)
4085 {
4086 return symbol_type (token::TOKEN_LL, std::move (l));
4087 }
4088#else
4089 static
4090 symbol_type
4092 {
4093 return symbol_type (token::TOKEN_LL, l);
4094 }
4095#endif
4096#if 201103L <= YY_CPLUSPLUS
4097 static
4098 symbol_type
4099 make_IDENTIFIER (location_type l)
4100 {
4101 return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
4102 }
4103#else
4104 static
4105 symbol_type
4107 {
4108 return symbol_type (token::TOKEN_IDENTIFIER, l);
4109 }
4110#endif
4111#if 201103L <= YY_CPLUSPLUS
4112 static
4113 symbol_type
4114 make_HTYPE (location_type l)
4115 {
4116 return symbol_type (token::TOKEN_HTYPE, std::move (l));
4117 }
4118#else
4119 static
4120 symbol_type
4122 {
4123 return symbol_type (token::TOKEN_HTYPE, l);
4124 }
4125#endif
4126#if 201103L <= YY_CPLUSPLUS
4127 static
4128 symbol_type
4129 make_TIME (location_type l)
4130 {
4131 return symbol_type (token::TOKEN_TIME, std::move (l));
4132 }
4133#else
4134 static
4135 symbol_type
4137 {
4138 return symbol_type (token::TOKEN_TIME, l);
4139 }
4140#endif
4141#if 201103L <= YY_CPLUSPLUS
4142 static
4143 symbol_type
4144 make_ENTERPRISE_ID (location_type l)
4145 {
4146 return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
4147 }
4148#else
4149 static
4150 symbol_type
4152 {
4153 return symbol_type (token::TOKEN_ENTERPRISE_ID, l);
4154 }
4155#endif
4156#if 201103L <= YY_CPLUSPLUS
4157 static
4158 symbol_type
4159 make_DHCP4O6_PORT (location_type l)
4160 {
4161 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4162 }
4163#else
4164 static
4165 symbol_type
4167 {
4168 return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
4169 }
4170#endif
4171#if 201103L <= YY_CPLUSPLUS
4172 static
4173 symbol_type
4174 make_DHCP_MULTI_THREADING (location_type l)
4175 {
4176 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4177 }
4178#else
4179 static
4180 symbol_type
4182 {
4183 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
4184 }
4185#endif
4186#if 201103L <= YY_CPLUSPLUS
4187 static
4188 symbol_type
4189 make_ENABLE_MULTI_THREADING (location_type l)
4190 {
4191 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4192 }
4193#else
4194 static
4195 symbol_type
4197 {
4198 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
4199 }
4200#endif
4201#if 201103L <= YY_CPLUSPLUS
4202 static
4203 symbol_type
4204 make_THREAD_POOL_SIZE (location_type l)
4205 {
4206 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4207 }
4208#else
4209 static
4210 symbol_type
4212 {
4213 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
4214 }
4215#endif
4216#if 201103L <= YY_CPLUSPLUS
4217 static
4218 symbol_type
4219 make_PACKET_QUEUE_SIZE (location_type l)
4220 {
4221 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4222 }
4223#else
4224 static
4225 symbol_type
4227 {
4228 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
4229 }
4230#endif
4231#if 201103L <= YY_CPLUSPLUS
4232 static
4233 symbol_type
4234 make_CONTROL_SOCKET (location_type l)
4235 {
4236 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4237 }
4238#else
4239 static
4240 symbol_type
4242 {
4243 return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
4244 }
4245#endif
4246#if 201103L <= YY_CPLUSPLUS
4247 static
4248 symbol_type
4249 make_SOCKET_TYPE (location_type l)
4250 {
4251 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4252 }
4253#else
4254 static
4255 symbol_type
4257 {
4258 return symbol_type (token::TOKEN_SOCKET_TYPE, l);
4259 }
4260#endif
4261#if 201103L <= YY_CPLUSPLUS
4262 static
4263 symbol_type
4264 make_SOCKET_NAME (location_type l)
4265 {
4266 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4267 }
4268#else
4269 static
4270 symbol_type
4272 {
4273 return symbol_type (token::TOKEN_SOCKET_NAME, l);
4274 }
4275#endif
4276#if 201103L <= YY_CPLUSPLUS
4277 static
4278 symbol_type
4279 make_DHCP_QUEUE_CONTROL (location_type l)
4280 {
4281 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4282 }
4283#else
4284 static
4285 symbol_type
4287 {
4288 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
4289 }
4290#endif
4291#if 201103L <= YY_CPLUSPLUS
4292 static
4293 symbol_type
4294 make_ENABLE_QUEUE (location_type l)
4295 {
4296 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4297 }
4298#else
4299 static
4300 symbol_type
4302 {
4303 return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
4304 }
4305#endif
4306#if 201103L <= YY_CPLUSPLUS
4307 static
4308 symbol_type
4309 make_QUEUE_TYPE (location_type l)
4310 {
4311 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4312 }
4313#else
4314 static
4315 symbol_type
4317 {
4318 return symbol_type (token::TOKEN_QUEUE_TYPE, l);
4319 }
4320#endif
4321#if 201103L <= YY_CPLUSPLUS
4322 static
4323 symbol_type
4324 make_CAPACITY (location_type l)
4325 {
4326 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4327 }
4328#else
4329 static
4330 symbol_type
4332 {
4333 return symbol_type (token::TOKEN_CAPACITY, l);
4334 }
4335#endif
4336#if 201103L <= YY_CPLUSPLUS
4337 static
4338 symbol_type
4339 make_DHCP_DDNS (location_type l)
4340 {
4341 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4342 }
4343#else
4344 static
4345 symbol_type
4347 {
4348 return symbol_type (token::TOKEN_DHCP_DDNS, l);
4349 }
4350#endif
4351#if 201103L <= YY_CPLUSPLUS
4352 static
4353 symbol_type
4354 make_ENABLE_UPDATES (location_type l)
4355 {
4356 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4357 }
4358#else
4359 static
4360 symbol_type
4362 {
4363 return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
4364 }
4365#endif
4366#if 201103L <= YY_CPLUSPLUS
4367 static
4368 symbol_type
4369 make_SERVER_IP (location_type l)
4370 {
4371 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4372 }
4373#else
4374 static
4375 symbol_type
4377 {
4378 return symbol_type (token::TOKEN_SERVER_IP, l);
4379 }
4380#endif
4381#if 201103L <= YY_CPLUSPLUS
4382 static
4383 symbol_type
4384 make_SERVER_PORT (location_type l)
4385 {
4386 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4387 }
4388#else
4389 static
4390 symbol_type
4392 {
4393 return symbol_type (token::TOKEN_SERVER_PORT, l);
4394 }
4395#endif
4396#if 201103L <= YY_CPLUSPLUS
4397 static
4398 symbol_type
4399 make_SENDER_IP (location_type l)
4400 {
4401 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4402 }
4403#else
4404 static
4405 symbol_type
4407 {
4408 return symbol_type (token::TOKEN_SENDER_IP, l);
4409 }
4410#endif
4411#if 201103L <= YY_CPLUSPLUS
4412 static
4413 symbol_type
4414 make_SENDER_PORT (location_type l)
4415 {
4416 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4417 }
4418#else
4419 static
4420 symbol_type
4422 {
4423 return symbol_type (token::TOKEN_SENDER_PORT, l);
4424 }
4425#endif
4426#if 201103L <= YY_CPLUSPLUS
4427 static
4428 symbol_type
4429 make_MAX_QUEUE_SIZE (location_type l)
4430 {
4431 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4432 }
4433#else
4434 static
4435 symbol_type
4437 {
4438 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
4439 }
4440#endif
4441#if 201103L <= YY_CPLUSPLUS
4442 static
4443 symbol_type
4444 make_NCR_PROTOCOL (location_type l)
4445 {
4446 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4447 }
4448#else
4449 static
4450 symbol_type
4452 {
4453 return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
4454 }
4455#endif
4456#if 201103L <= YY_CPLUSPLUS
4457 static
4458 symbol_type
4459 make_NCR_FORMAT (location_type l)
4460 {
4461 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4462 }
4463#else
4464 static
4465 symbol_type
4467 {
4468 return symbol_type (token::TOKEN_NCR_FORMAT, l);
4469 }
4470#endif
4471#if 201103L <= YY_CPLUSPLUS
4472 static
4473 symbol_type
4474 make_UDP (location_type l)
4475 {
4476 return symbol_type (token::TOKEN_UDP, std::move (l));
4477 }
4478#else
4479 static
4480 symbol_type
4482 {
4483 return symbol_type (token::TOKEN_UDP, l);
4484 }
4485#endif
4486#if 201103L <= YY_CPLUSPLUS
4487 static
4488 symbol_type
4489 make_TCP (location_type l)
4490 {
4491 return symbol_type (token::TOKEN_TCP, std::move (l));
4492 }
4493#else
4494 static
4495 symbol_type
4497 {
4498 return symbol_type (token::TOKEN_TCP, l);
4499 }
4500#endif
4501#if 201103L <= YY_CPLUSPLUS
4502 static
4503 symbol_type
4504 make_JSON (location_type l)
4505 {
4506 return symbol_type (token::TOKEN_JSON, std::move (l));
4507 }
4508#else
4509 static
4510 symbol_type
4512 {
4513 return symbol_type (token::TOKEN_JSON, l);
4514 }
4515#endif
4516#if 201103L <= YY_CPLUSPLUS
4517 static
4518 symbol_type
4519 make_WHEN_PRESENT (location_type l)
4520 {
4521 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4522 }
4523#else
4524 static
4525 symbol_type
4527 {
4528 return symbol_type (token::TOKEN_WHEN_PRESENT, l);
4529 }
4530#endif
4531#if 201103L <= YY_CPLUSPLUS
4532 static
4533 symbol_type
4534 make_NEVER (location_type l)
4535 {
4536 return symbol_type (token::TOKEN_NEVER, std::move (l));
4537 }
4538#else
4539 static
4540 symbol_type
4542 {
4543 return symbol_type (token::TOKEN_NEVER, l);
4544 }
4545#endif
4546#if 201103L <= YY_CPLUSPLUS
4547 static
4548 symbol_type
4549 make_ALWAYS (location_type l)
4550 {
4551 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4552 }
4553#else
4554 static
4555 symbol_type
4557 {
4558 return symbol_type (token::TOKEN_ALWAYS, l);
4559 }
4560#endif
4561#if 201103L <= YY_CPLUSPLUS
4562 static
4563 symbol_type
4564 make_WHEN_NOT_PRESENT (location_type l)
4565 {
4566 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4567 }
4568#else
4569 static
4570 symbol_type
4572 {
4573 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
4574 }
4575#endif
4576#if 201103L <= YY_CPLUSPLUS
4577 static
4578 symbol_type
4579 make_HOSTNAME_CHAR_SET (location_type l)
4580 {
4581 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4582 }
4583#else
4584 static
4585 symbol_type
4587 {
4588 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
4589 }
4590#endif
4591#if 201103L <= YY_CPLUSPLUS
4592 static
4593 symbol_type
4594 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4595 {
4596 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4597 }
4598#else
4599 static
4600 symbol_type
4602 {
4603 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
4604 }
4605#endif
4606#if 201103L <= YY_CPLUSPLUS
4607 static
4608 symbol_type
4609 make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
4610 {
4611 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
4612 }
4613#else
4614 static
4615 symbol_type
4617 {
4618 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, l);
4619 }
4620#endif
4621#if 201103L <= YY_CPLUSPLUS
4622 static
4623 symbol_type
4624 make_IP_RESERVATIONS_UNIQUE (location_type l)
4625 {
4626 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4627 }
4628#else
4629 static
4630 symbol_type
4632 {
4633 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
4634 }
4635#endif
4636#if 201103L <= YY_CPLUSPLUS
4637 static
4638 symbol_type
4639 make_RESERVATIONS_LOOKUP_FIRST (location_type l)
4640 {
4641 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
4642 }
4643#else
4644 static
4645 symbol_type
4647 {
4648 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, l);
4649 }
4650#endif
4651#if 201103L <= YY_CPLUSPLUS
4652 static
4653 symbol_type
4654 make_LOGGERS (location_type l)
4655 {
4656 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4657 }
4658#else
4659 static
4660 symbol_type
4662 {
4663 return symbol_type (token::TOKEN_LOGGERS, l);
4664 }
4665#endif
4666#if 201103L <= YY_CPLUSPLUS
4667 static
4668 symbol_type
4669 make_OUTPUT_OPTIONS (location_type l)
4670 {
4671 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4672 }
4673#else
4674 static
4675 symbol_type
4677 {
4678 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
4679 }
4680#endif
4681#if 201103L <= YY_CPLUSPLUS
4682 static
4683 symbol_type
4684 make_OUTPUT (location_type l)
4685 {
4686 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4687 }
4688#else
4689 static
4690 symbol_type
4692 {
4693 return symbol_type (token::TOKEN_OUTPUT, l);
4694 }
4695#endif
4696#if 201103L <= YY_CPLUSPLUS
4697 static
4698 symbol_type
4699 make_DEBUGLEVEL (location_type l)
4700 {
4701 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4702 }
4703#else
4704 static
4705 symbol_type
4707 {
4708 return symbol_type (token::TOKEN_DEBUGLEVEL, l);
4709 }
4710#endif
4711#if 201103L <= YY_CPLUSPLUS
4712 static
4713 symbol_type
4714 make_SEVERITY (location_type l)
4715 {
4716 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4717 }
4718#else
4719 static
4720 symbol_type
4722 {
4723 return symbol_type (token::TOKEN_SEVERITY, l);
4724 }
4725#endif
4726#if 201103L <= YY_CPLUSPLUS
4727 static
4728 symbol_type
4729 make_FLUSH (location_type l)
4730 {
4731 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4732 }
4733#else
4734 static
4735 symbol_type
4737 {
4738 return symbol_type (token::TOKEN_FLUSH, l);
4739 }
4740#endif
4741#if 201103L <= YY_CPLUSPLUS
4742 static
4743 symbol_type
4744 make_MAXSIZE (location_type l)
4745 {
4746 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4747 }
4748#else
4749 static
4750 symbol_type
4752 {
4753 return symbol_type (token::TOKEN_MAXSIZE, l);
4754 }
4755#endif
4756#if 201103L <= YY_CPLUSPLUS
4757 static
4758 symbol_type
4759 make_MAXVER (location_type l)
4760 {
4761 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4762 }
4763#else
4764 static
4765 symbol_type
4767 {
4768 return symbol_type (token::TOKEN_MAXVER, l);
4769 }
4770#endif
4771#if 201103L <= YY_CPLUSPLUS
4772 static
4773 symbol_type
4774 make_PATTERN (location_type l)
4775 {
4776 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4777 }
4778#else
4779 static
4780 symbol_type
4782 {
4783 return symbol_type (token::TOKEN_PATTERN, l);
4784 }
4785#endif
4786#if 201103L <= YY_CPLUSPLUS
4787 static
4788 symbol_type
4789 make_COMPATIBILITY (location_type l)
4790 {
4791 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4792 }
4793#else
4794 static
4795 symbol_type
4797 {
4798 return symbol_type (token::TOKEN_COMPATIBILITY, l);
4799 }
4800#endif
4801#if 201103L <= YY_CPLUSPLUS
4802 static
4803 symbol_type
4804 make_LENIENT_OPTION_PARSING (location_type l)
4805 {
4806 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4807 }
4808#else
4809 static
4810 symbol_type
4812 {
4813 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, l);
4814 }
4815#endif
4816#if 201103L <= YY_CPLUSPLUS
4817 static
4818 symbol_type
4819 make_TOPLEVEL_JSON (location_type l)
4820 {
4821 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4822 }
4823#else
4824 static
4825 symbol_type
4827 {
4828 return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
4829 }
4830#endif
4831#if 201103L <= YY_CPLUSPLUS
4832 static
4833 symbol_type
4834 make_TOPLEVEL_DHCP6 (location_type l)
4835 {
4836 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
4837 }
4838#else
4839 static
4840 symbol_type
4842 {
4843 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, l);
4844 }
4845#endif
4846#if 201103L <= YY_CPLUSPLUS
4847 static
4848 symbol_type
4849 make_SUB_DHCP6 (location_type l)
4850 {
4851 return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
4852 }
4853#else
4854 static
4855 symbol_type
4857 {
4858 return symbol_type (token::TOKEN_SUB_DHCP6, l);
4859 }
4860#endif
4861#if 201103L <= YY_CPLUSPLUS
4862 static
4863 symbol_type
4864 make_SUB_INTERFACES6 (location_type l)
4865 {
4866 return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
4867 }
4868#else
4869 static
4870 symbol_type
4872 {
4873 return symbol_type (token::TOKEN_SUB_INTERFACES6, l);
4874 }
4875#endif
4876#if 201103L <= YY_CPLUSPLUS
4877 static
4878 symbol_type
4879 make_SUB_SUBNET6 (location_type l)
4880 {
4881 return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
4882 }
4883#else
4884 static
4885 symbol_type
4887 {
4888 return symbol_type (token::TOKEN_SUB_SUBNET6, l);
4889 }
4890#endif
4891#if 201103L <= YY_CPLUSPLUS
4892 static
4893 symbol_type
4894 make_SUB_POOL6 (location_type l)
4895 {
4896 return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
4897 }
4898#else
4899 static
4900 symbol_type
4902 {
4903 return symbol_type (token::TOKEN_SUB_POOL6, l);
4904 }
4905#endif
4906#if 201103L <= YY_CPLUSPLUS
4907 static
4908 symbol_type
4909 make_SUB_PD_POOL (location_type l)
4910 {
4911 return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
4912 }
4913#else
4914 static
4915 symbol_type
4917 {
4918 return symbol_type (token::TOKEN_SUB_PD_POOL, l);
4919 }
4920#endif
4921#if 201103L <= YY_CPLUSPLUS
4922 static
4923 symbol_type
4924 make_SUB_RESERVATION (location_type l)
4925 {
4926 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
4927 }
4928#else
4929 static
4930 symbol_type
4932 {
4933 return symbol_type (token::TOKEN_SUB_RESERVATION, l);
4934 }
4935#endif
4936#if 201103L <= YY_CPLUSPLUS
4937 static
4938 symbol_type
4939 make_SUB_OPTION_DEFS (location_type l)
4940 {
4941 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
4942 }
4943#else
4944 static
4945 symbol_type
4947 {
4948 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
4949 }
4950#endif
4951#if 201103L <= YY_CPLUSPLUS
4952 static
4953 symbol_type
4954 make_SUB_OPTION_DEF (location_type l)
4955 {
4956 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
4957 }
4958#else
4959 static
4960 symbol_type
4962 {
4963 return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
4964 }
4965#endif
4966#if 201103L <= YY_CPLUSPLUS
4967 static
4968 symbol_type
4969 make_SUB_OPTION_DATA (location_type l)
4970 {
4971 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
4972 }
4973#else
4974 static
4975 symbol_type
4977 {
4978 return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
4979 }
4980#endif
4981#if 201103L <= YY_CPLUSPLUS
4982 static
4983 symbol_type
4984 make_SUB_HOOKS_LIBRARY (location_type l)
4985 {
4986 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
4987 }
4988#else
4989 static
4990 symbol_type
4992 {
4993 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
4994 }
4995#endif
4996#if 201103L <= YY_CPLUSPLUS
4997 static
4998 symbol_type
4999 make_SUB_DHCP_DDNS (location_type l)
5000 {
5001 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
5002 }
5003#else
5004 static
5005 symbol_type
5007 {
5008 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
5009 }
5010#endif
5011#if 201103L <= YY_CPLUSPLUS
5012 static
5013 symbol_type
5014 make_SUB_CONFIG_CONTROL (location_type l)
5015 {
5016 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
5017 }
5018#else
5019 static
5020 symbol_type
5022 {
5023 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
5024 }
5025#endif
5026#if 201103L <= YY_CPLUSPLUS
5027 static
5028 symbol_type
5029 make_STRING (std::string v, location_type l)
5030 {
5031 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
5032 }
5033#else
5034 static
5035 symbol_type
5036 make_STRING (const std::string& v, const location_type& l)
5037 {
5038 return symbol_type (token::TOKEN_STRING, v, l);
5039 }
5040#endif
5041#if 201103L <= YY_CPLUSPLUS
5042 static
5043 symbol_type
5044 make_INTEGER (int64_t v, location_type l)
5045 {
5046 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
5047 }
5048#else
5049 static
5050 symbol_type
5051 make_INTEGER (const int64_t& v, const location_type& l)
5052 {
5053 return symbol_type (token::TOKEN_INTEGER, v, l);
5054 }
5055#endif
5056#if 201103L <= YY_CPLUSPLUS
5057 static
5058 symbol_type
5059 make_FLOAT (double v, location_type l)
5060 {
5061 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
5062 }
5063#else
5064 static
5065 symbol_type
5066 make_FLOAT (const double& v, const location_type& l)
5067 {
5068 return symbol_type (token::TOKEN_FLOAT, v, l);
5069 }
5070#endif
5071#if 201103L <= YY_CPLUSPLUS
5072 static
5073 symbol_type
5074 make_BOOLEAN (bool v, location_type l)
5075 {
5076 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
5077 }
5078#else
5079 static
5080 symbol_type
5081 make_BOOLEAN (const bool& v, const location_type& l)
5082 {
5083 return symbol_type (token::TOKEN_BOOLEAN, v, l);
5084 }
5085#endif
5086
5087
5089 {
5090 public:
5091 context (const Dhcp6Parser& yyparser, const symbol_type& yyla);
5092 const symbol_type& lookahead () const YY_NOEXCEPT { return yyla_; }
5093 symbol_kind_type token () const YY_NOEXCEPT { return yyla_.kind (); }
5094 const location_type& location () const YY_NOEXCEPT { return yyla_.location; }
5095
5099 int expected_tokens (symbol_kind_type yyarg[], int yyargn) const;
5100
5101 private:
5102 const Dhcp6Parser& yyparser_;
5103 const symbol_type& yyla_;
5104 };
5105
5106 private:
5107#if YY_CPLUSPLUS < 201103L
5109 Dhcp6Parser (const Dhcp6Parser&);
5111 Dhcp6Parser& operator= (const Dhcp6Parser&);
5112#endif
5113
5114
5116 typedef short state_type;
5117
5119 int yy_syntax_error_arguments_ (const context& yyctx,
5120 symbol_kind_type yyarg[], int yyargn) const;
5121
5124 virtual std::string yysyntax_error_ (const context& yyctx) const;
5128 static state_type yy_lr_goto_state_ (state_type yystate, int yysym);
5129
5132 static bool yy_pact_value_is_default_ (int yyvalue) YY_NOEXCEPT;
5133
5136 static bool yy_table_value_is_error_ (int yyvalue) YY_NOEXCEPT;
5137
5138 static const short yypact_ninf_;
5139 static const signed char yytable_ninf_;
5140
5144 static symbol_kind_type yytranslate_ (int t) YY_NOEXCEPT;
5145
5147 static std::string yytnamerr_ (const char *yystr);
5148
5150 static const char* const yytname_[];
5151
5152
5153 // Tables.
5154 // YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
5155 // STATE-NUM.
5156 static const short yypact_[];
5157
5158 // YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
5159 // Performed when YYTABLE does not specify something else to do. Zero
5160 // means the default is an error.
5161 static const short yydefact_[];
5162
5163 // YYPGOTO[NTERM-NUM].
5164 static const short yypgoto_[];
5165
5166 // YYDEFGOTO[NTERM-NUM].
5167 static const short yydefgoto_[];
5168
5169 // YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
5170 // positive, shift that token. If negative, reduce the rule whose
5171 // number is the opposite. If YYTABLE_NINF, syntax error.
5172 static const short yytable_[];
5173
5174 static const short yycheck_[];
5175
5176 // YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
5177 // state STATE-NUM.
5178 static const short yystos_[];
5179
5180 // YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.
5181 static const short yyr1_[];
5182
5183 // YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.
5184 static const signed char yyr2_[];
5185
5186
5187#if PARSER6_DEBUG
5188 // YYRLINE[YYN] -- Source line where rule number YYN was defined.
5189 static const short yyrline_[];
5191 virtual void yy_reduce_print_ (int r) const;
5193 virtual void yy_stack_print_ () const;
5194
5196 int yydebug_;
5198 std::ostream* yycdebug_;
5199
5203 template <typename Base>
5204 void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
5205#endif
5206
5211 template <typename Base>
5212 void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
5213
5214 private:
5216 struct by_state
5217 {
5219 by_state () YY_NOEXCEPT;
5220
5222 typedef state_type kind_type;
5223
5225 by_state (kind_type s) YY_NOEXCEPT;
5226
5228 by_state (const by_state& that) YY_NOEXCEPT;
5229
5231 void clear () YY_NOEXCEPT;
5232
5234 void move (by_state& that);
5235
5238 symbol_kind_type kind () const YY_NOEXCEPT;
5239
5242 enum { empty_state = 0 };
5243
5246 state_type state;
5247 };
5248
5250 struct stack_symbol_type : basic_symbol<by_state>
5251 {
5253 typedef basic_symbol<by_state> super_type;
5255 stack_symbol_type ();
5257 stack_symbol_type (YY_RVREF (stack_symbol_type) that);
5259 stack_symbol_type (state_type s, YY_MOVE_REF (symbol_type) sym);
5260#if YY_CPLUSPLUS < 201103L
5263 stack_symbol_type& operator= (stack_symbol_type& that);
5264
5267 stack_symbol_type& operator= (const stack_symbol_type& that);
5268#endif
5269 };
5270
5272 template <typename T, typename S = std::vector<T> >
5273 class stack
5274 {
5275 public:
5276 // Hide our reversed order.
5277 typedef typename S::iterator iterator;
5278 typedef typename S::const_iterator const_iterator;
5279 typedef typename S::size_type size_type;
5280 typedef typename std::ptrdiff_t index_type;
5281
5282 stack (size_type n = 200) YY_NOEXCEPT
5283 : seq_ (n)
5284 {}
5285
5286#if 201103L <= YY_CPLUSPLUS
5288 stack (const stack&) = delete;
5290 stack& operator= (const stack&) = delete;
5291#endif
5292
5296 const T&
5297 operator[] (index_type i) const
5298 {
5299 return seq_[size_type (size () - 1 - i)];
5300 }
5301
5305 T&
5306 operator[] (index_type i)
5307 {
5308 return seq_[size_type (size () - 1 - i)];
5309 }
5310
5314 void
5315 push (YY_MOVE_REF (T) t)
5316 {
5317 seq_.push_back (T ());
5318 operator[] (0).move (t);
5319 }
5320
5322 void
5323 pop (std::ptrdiff_t n = 1) YY_NOEXCEPT
5324 {
5325 for (; 0 < n; --n)
5326 seq_.pop_back ();
5327 }
5328
5330 void
5331 clear () YY_NOEXCEPT
5332 {
5333 seq_.clear ();
5334 }
5335
5337 index_type
5338 size () const YY_NOEXCEPT
5339 {
5340 return index_type (seq_.size ());
5341 }
5342
5344 const_iterator
5345 begin () const YY_NOEXCEPT
5346 {
5347 return seq_.begin ();
5348 }
5349
5351 const_iterator
5352 end () const YY_NOEXCEPT
5353 {
5354 return seq_.end ();
5355 }
5356
5358 class slice
5359 {
5360 public:
5361 slice (const stack& stack, index_type range) YY_NOEXCEPT
5362 : stack_ (stack)
5363 , range_ (range)
5364 {}
5365
5366 const T&
5367 operator[] (index_type i) const
5368 {
5369 return stack_[range_ - i];
5370 }
5371
5372 private:
5373 const stack& stack_;
5374 index_type range_;
5375 };
5376
5377 private:
5378#if YY_CPLUSPLUS < 201103L
5380 stack (const stack&);
5382 stack& operator= (const stack&);
5383#endif
5385 S seq_;
5386 };
5387
5388
5390 typedef stack<stack_symbol_type> stack_type;
5391
5393 stack_type yystack_;
5394
5400 void yypush_ (const char* m, YY_MOVE_REF (stack_symbol_type) sym);
5401
5408 void yypush_ (const char* m, state_type s, YY_MOVE_REF (symbol_type) sym);
5409
5411 void yypop_ (int n = 1) YY_NOEXCEPT;
5412
5414 enum
5415 {
5416 yylast_ = 1347,
5417 yynnts_ = 443,
5418 yyfinal_ = 30
5419 };
5420
5421
5422 // User arguments.
5424
5425 };
5426
5427