45#ifndef YY_PARSER6_DHCP6_PARSER_H_INCLUDED
46# define YY_PARSER6_DHCP6_PARSER_H_INCLUDED
48#line 17 "dhcp6_parser.yy"
53#include <boost/lexical_cast.hpp>
60#line 61 "dhcp6_parser.h"
69#if defined __cplusplus
70# define YY_CPLUSPLUS __cplusplus
72# define YY_CPLUSPLUS 199711L
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
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&
91#if 201103L <= YY_CPLUSPLUS
92# define YY_NOEXCEPT noexcept
96# define YY_NOTHROW throw ()
100#if 201703 <= YY_CPLUSPLUS
101# define YY_CONSTEXPR constexpr
105# include "location.hh"
107#ifndef PARSER6__ASSERT
109# define PARSER6__ASSERT assert
113#ifndef YY_ATTRIBUTE_PURE
114# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
115# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
117# define YY_ATTRIBUTE_PURE
121#ifndef YY_ATTRIBUTE_UNUSED
122# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
123# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
125# define YY_ATTRIBUTE_UNUSED
130#if ! defined lint || defined __GNUC__
131# define YY_USE(E) ((void) (E))
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\"")
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\"")
148# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
149 _Pragma ("GCC diagnostic pop")
151# define YY_INITIAL_VALUE(Value) Value
153#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
154# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
155# define YY_IGNORE_MAYBE_UNINITIALIZED_END
157#ifndef YY_INITIAL_VALUE
158# define YY_INITIAL_VALUE(Value)
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")
168#ifndef YY_IGNORE_USELESS_CAST_BEGIN
169# define YY_IGNORE_USELESS_CAST_BEGIN
170# define YY_IGNORE_USELESS_CAST_END
175# define YY_CAST(Type, Val) static_cast<Type> (Val)
176# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
178# define YY_CAST(Type, Val) ((Type) (Val))
179# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
183# if defined __cplusplus
184# if 201103L <= __cplusplus
185# define YY_NULLPTR nullptr
190# define YY_NULLPTR ((void*)0)
198# define PARSER6_DEBUG 1
200# define PARSER6_DEBUG 0
203# define PARSER6_DEBUG 1
207#line 14 "dhcp6_parser.yy"
208namespace isc {
namespace dhcp {
209#line 210 "dhcp6_parser.h"
220# pragma GCC message "bison: do not #define PARSER6_STYPE in C++, use %define api.value.type"
238 , yytypeid_ (YY_NULLPTR)
242 template <
typename T>
244 : yytypeid_ (&typeid (T))
247 new (yyas_<T> ()) T (
YY_MOVE (t));
250#if 201103L <= YY_CPLUSPLUS
263# if 201103L <= YY_CPLUSPLUS
265 template <
typename T,
typename... U>
271 yytypeid_ = &
typeid (T);
272 return *
new (yyas_<T> ()) T (std::forward <U>(u)...);
276 template <
typename T>
282 yytypeid_ = &
typeid (T);
283 return *
new (yyas_<T> ()) T ();
287 template <
typename T>
293 yytypeid_ = &
typeid (T);
294 return *
new (yyas_<T> ()) T (t);
300 template <
typename T>
304 return emplace<T> ();
309 template <
typename T>
313 return emplace<T> (t);
317 template <
typename T>
328 template <
typename T>
346 template <
typename T>
352 std::swap (as<T> (), that.as<T> ());
358 template <
typename T>
362# if 201103L <= YY_CPLUSPLUS
363 emplace<T> (std::move (that.
as<T> ()));
371# if 201103L <= YY_CPLUSPLUS
373 template <
typename T>
377 emplace<T> (std::move (that.as<T> ()));
383 template <
typename T>
387 emplace<T> (that.
as<T> ());
391 template <
typename T>
396 yytypeid_ = YY_NULLPTR;
400#if YY_CPLUSPLUS < 201103L
408 template <
typename T>
413 return static_cast<T*
> (yyp);
417 template <
typename T>
422 return static_cast<const T*
> (yyp);
440 char dummy2[
sizeof (bool)];
443 char dummy3[
sizeof (double)];
446 char dummy4[
sizeof (int64_t)];
449 char dummy5[
sizeof (std::string)];
453 enum { size =
sizeof (union_type) };
465 const std::type_info *yytypeid_;
479 : std::runtime_error (m)
484 : std::runtime_error (s.what ())
498 TOKEN_PARSER6_EMPTY = -2,
500 TOKEN_PARSER6_error = 256,
501 TOKEN_PARSER6_UNDEF = 257,
504 TOKEN_LSQUARE_BRACKET = 260,
505 TOKEN_RSQUARE_BRACKET = 261,
506 TOKEN_LCURLY_BRACKET = 262,
507 TOKEN_RCURLY_BRACKET = 263,
508 TOKEN_NULL_TYPE = 264,
510 TOKEN_DATA_DIRECTORY = 266,
511 TOKEN_CONFIG_CONTROL = 267,
512 TOKEN_CONFIG_DATABASES = 268,
513 TOKEN_CONFIG_FETCH_WAIT_TIME = 269,
514 TOKEN_INTERFACES_CONFIG = 270,
515 TOKEN_INTERFACES = 271,
516 TOKEN_RE_DETECT = 272,
517 TOKEN_SERVICE_SOCKETS_REQUIRE_ALL = 273,
518 TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME = 274,
519 TOKEN_SERVICE_SOCKETS_MAX_RETRIES = 275,
520 TOKEN_LEASE_DATABASE = 276,
521 TOKEN_HOSTS_DATABASE = 277,
522 TOKEN_HOSTS_DATABASES = 278,
526 TOKEN_POSTGRESQL = 282,
528 TOKEN_PASSWORD = 284,
532 TOKEN_LFC_INTERVAL = 288,
533 TOKEN_READONLY = 289,
534 TOKEN_CONNECT_TIMEOUT = 290,
535 TOKEN_READ_TIMEOUT = 291,
536 TOKEN_WRITE_TIMEOUT = 292,
537 TOKEN_TCP_USER_TIMEOUT = 293,
538 TOKEN_MAX_RECONNECT_TRIES = 294,
539 TOKEN_RECONNECT_WAIT_TIME = 295,
541 TOKEN_STOP_RETRY_EXIT = 297,
542 TOKEN_SERVE_RETRY_EXIT = 298,
543 TOKEN_SERVE_RETRY_CONTINUE = 299,
544 TOKEN_RETRY_ON_STARTUP = 300,
545 TOKEN_MAX_ROW_ERRORS = 301,
546 TOKEN_TRUST_ANCHOR = 302,
547 TOKEN_CERT_FILE = 303,
548 TOKEN_KEY_FILE = 304,
549 TOKEN_CIPHER_LIST = 305,
550 TOKEN_PREFERRED_LIFETIME = 306,
551 TOKEN_MIN_PREFERRED_LIFETIME = 307,
552 TOKEN_MAX_PREFERRED_LIFETIME = 308,
553 TOKEN_VALID_LIFETIME = 309,
554 TOKEN_MIN_VALID_LIFETIME = 310,
555 TOKEN_MAX_VALID_LIFETIME = 311,
556 TOKEN_RENEW_TIMER = 312,
557 TOKEN_REBIND_TIMER = 313,
558 TOKEN_CALCULATE_TEE_TIMES = 314,
559 TOKEN_T1_PERCENT = 315,
560 TOKEN_T2_PERCENT = 316,
561 TOKEN_CACHE_THRESHOLD = 317,
562 TOKEN_CACHE_MAX_AGE = 318,
563 TOKEN_DECLINE_PROBATION_PERIOD = 319,
564 TOKEN_SERVER_TAG = 320,
565 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 321,
566 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 322,
567 TOKEN_DDNS_SEND_UPDATES = 323,
568 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 324,
569 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 325,
570 TOKEN_DDNS_REPLACE_CLIENT_NAME = 326,
571 TOKEN_DDNS_GENERATED_PREFIX = 327,
572 TOKEN_DDNS_QUALIFYING_SUFFIX = 328,
573 TOKEN_DDNS_UPDATE_ON_RENEW = 329,
574 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 330,
575 TOKEN_DDNS_TTL_PERCENT = 331,
576 TOKEN_STORE_EXTENDED_INFO = 332,
578 TOKEN_OPTION_DEF = 334,
579 TOKEN_OPTION_DATA = 335,
584 TOKEN_CSV_FORMAT = 340,
585 TOKEN_ALWAYS_SEND = 341,
586 TOKEN_NEVER_SEND = 342,
587 TOKEN_RECORD_TYPES = 343,
588 TOKEN_ENCAPSULATE = 344,
590 TOKEN_PARKED_PACKET_LIMIT = 346,
591 TOKEN_ALLOCATOR = 347,
592 TOKEN_PD_ALLOCATOR = 348,
593 TOKEN_DDNS_CONFLICT_RESOLUTION_MODE = 349,
594 TOKEN_CHECK_WITH_DHCID = 350,
595 TOKEN_NO_CHECK_WITH_DHCID = 351,
596 TOKEN_CHECK_EXISTS_WITH_DHCID = 352,
597 TOKEN_NO_CHECK_WITHOUT_DHCID = 353,
598 TOKEN_SHARED_NETWORKS = 354,
601 TOKEN_PD_POOLS = 357,
603 TOKEN_PREFIX_LEN = 359,
604 TOKEN_EXCLUDED_PREFIX = 360,
605 TOKEN_EXCLUDED_PREFIX_LEN = 361,
606 TOKEN_DELEGATED_LEN = 362,
607 TOKEN_USER_CONTEXT = 363,
610 TOKEN_INTERFACE = 366,
611 TOKEN_INTERFACE_ID = 367,
613 TOKEN_RAPID_COMMIT = 369,
614 TOKEN_RESERVATION_MODE = 370,
615 TOKEN_DISABLED = 371,
616 TOKEN_OUT_OF_POOL = 372,
619 TOKEN_RESERVATIONS_GLOBAL = 375,
620 TOKEN_RESERVATIONS_IN_SUBNET = 376,
621 TOKEN_RESERVATIONS_OUT_OF_POOL = 377,
622 TOKEN_MAC_SOURCES = 378,
623 TOKEN_RELAY_SUPPLIED_OPTIONS = 379,
624 TOKEN_HOST_RESERVATION_IDENTIFIERS = 380,
625 TOKEN_SANITY_CHECKS = 381,
626 TOKEN_LEASE_CHECKS = 382,
627 TOKEN_EXTENDED_INFO_CHECKS = 383,
628 TOKEN_CLIENT_CLASSES = 384,
629 TOKEN_REQUIRE_CLIENT_CLASSES = 385,
631 TOKEN_TEMPLATE_TEST = 387,
632 TOKEN_ONLY_IF_REQUIRED = 388,
633 TOKEN_CLIENT_CLASS = 389,
635 TOKEN_RESERVATIONS = 391,
636 TOKEN_IP_ADDRESSES = 392,
637 TOKEN_PREFIXES = 393,
639 TOKEN_HW_ADDRESS = 395,
640 TOKEN_HOSTNAME = 396,
643 TOKEN_IP_ADDRESS = 399,
644 TOKEN_HOOKS_LIBRARIES = 400,
646 TOKEN_PARAMETERS = 402,
647 TOKEN_EXPIRED_LEASES_PROCESSING = 403,
648 TOKEN_RECLAIM_TIMER_WAIT_TIME = 404,
649 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 405,
650 TOKEN_HOLD_RECLAIMED_TIME = 406,
651 TOKEN_MAX_RECLAIM_LEASES = 407,
652 TOKEN_MAX_RECLAIM_TIME = 408,
653 TOKEN_UNWARNED_RECLAIM_CYCLES = 409,
654 TOKEN_SERVER_ID = 410,
658 TOKEN_IDENTIFIER = 414,
661 TOKEN_ENTERPRISE_ID = 417,
662 TOKEN_DHCP4O6_PORT = 418,
663 TOKEN_DHCP_MULTI_THREADING = 419,
664 TOKEN_ENABLE_MULTI_THREADING = 420,
665 TOKEN_THREAD_POOL_SIZE = 421,
666 TOKEN_PACKET_QUEUE_SIZE = 422,
667 TOKEN_CONTROL_SOCKET = 423,
668 TOKEN_SOCKET_TYPE = 424,
669 TOKEN_SOCKET_NAME = 425,
670 TOKEN_DHCP_QUEUE_CONTROL = 426,
671 TOKEN_ENABLE_QUEUE = 427,
672 TOKEN_QUEUE_TYPE = 428,
673 TOKEN_CAPACITY = 429,
674 TOKEN_DHCP_DDNS = 430,
675 TOKEN_ENABLE_UPDATES = 431,
676 TOKEN_QUALIFYING_SUFFIX = 432,
677 TOKEN_SERVER_IP = 433,
678 TOKEN_SERVER_PORT = 434,
679 TOKEN_SENDER_IP = 435,
680 TOKEN_SENDER_PORT = 436,
681 TOKEN_MAX_QUEUE_SIZE = 437,
682 TOKEN_NCR_PROTOCOL = 438,
683 TOKEN_NCR_FORMAT = 439,
684 TOKEN_OVERRIDE_NO_UPDATE = 440,
685 TOKEN_OVERRIDE_CLIENT_UPDATE = 441,
686 TOKEN_REPLACE_CLIENT_NAME = 442,
687 TOKEN_GENERATED_PREFIX = 443,
691 TOKEN_WHEN_PRESENT = 447,
694 TOKEN_WHEN_NOT_PRESENT = 450,
695 TOKEN_HOSTNAME_CHAR_SET = 451,
696 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 452,
697 TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 453,
698 TOKEN_IP_RESERVATIONS_UNIQUE = 454,
699 TOKEN_RESERVATIONS_LOOKUP_FIRST = 455,
701 TOKEN_OUTPUT_OPTIONS = 457,
703 TOKEN_DEBUGLEVEL = 459,
704 TOKEN_SEVERITY = 460,
709 TOKEN_COMPATIBILITY = 465,
710 TOKEN_LENIENT_OPTION_PARSING = 466,
711 TOKEN_TOPLEVEL_JSON = 467,
712 TOKEN_TOPLEVEL_DHCP6 = 468,
713 TOKEN_SUB_DHCP6 = 469,
714 TOKEN_SUB_INTERFACES6 = 470,
715 TOKEN_SUB_SUBNET6 = 471,
716 TOKEN_SUB_POOL6 = 472,
717 TOKEN_SUB_PD_POOL = 473,
718 TOKEN_SUB_RESERVATION = 474,
719 TOKEN_SUB_OPTION_DEFS = 475,
720 TOKEN_SUB_OPTION_DEF = 476,
721 TOKEN_SUB_OPTION_DATA = 477,
722 TOKEN_SUB_HOOKS_LIBRARY = 478,
723 TOKEN_SUB_DHCP_DDNS = 479,
724 TOKEN_SUB_CONFIG_CONTROL = 480,
752 S_LSQUARE_BRACKET = 5,
753 S_RSQUARE_BRACKET = 6,
754 S_LCURLY_BRACKET = 7,
755 S_RCURLY_BRACKET = 8,
758 S_DATA_DIRECTORY = 11,
759 S_CONFIG_CONTROL = 12,
760 S_CONFIG_DATABASES = 13,
761 S_CONFIG_FETCH_WAIT_TIME = 14,
762 S_INTERFACES_CONFIG = 15,
765 S_SERVICE_SOCKETS_REQUIRE_ALL = 18,
766 S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 19,
767 S_SERVICE_SOCKETS_MAX_RETRIES = 20,
768 S_LEASE_DATABASE = 21,
769 S_HOSTS_DATABASE = 22,
770 S_HOSTS_DATABASES = 23,
782 S_CONNECT_TIMEOUT = 35,
784 S_WRITE_TIMEOUT = 37,
785 S_TCP_USER_TIMEOUT = 38,
786 S_MAX_RECONNECT_TRIES = 39,
787 S_RECONNECT_WAIT_TIME = 40,
789 S_STOP_RETRY_EXIT = 42,
790 S_SERVE_RETRY_EXIT = 43,
791 S_SERVE_RETRY_CONTINUE = 44,
792 S_RETRY_ON_STARTUP = 45,
793 S_MAX_ROW_ERRORS = 46,
798 S_PREFERRED_LIFETIME = 51,
799 S_MIN_PREFERRED_LIFETIME = 52,
800 S_MAX_PREFERRED_LIFETIME = 53,
801 S_VALID_LIFETIME = 54,
802 S_MIN_VALID_LIFETIME = 55,
803 S_MAX_VALID_LIFETIME = 56,
806 S_CALCULATE_TEE_TIMES = 59,
809 S_CACHE_THRESHOLD = 62,
810 S_CACHE_MAX_AGE = 63,
811 S_DECLINE_PROBATION_PERIOD = 64,
813 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 66,
814 S_STATISTIC_DEFAULT_SAMPLE_AGE = 67,
815 S_DDNS_SEND_UPDATES = 68,
816 S_DDNS_OVERRIDE_NO_UPDATE = 69,
817 S_DDNS_OVERRIDE_CLIENT_UPDATE = 70,
818 S_DDNS_REPLACE_CLIENT_NAME = 71,
819 S_DDNS_GENERATED_PREFIX = 72,
820 S_DDNS_QUALIFYING_SUFFIX = 73,
821 S_DDNS_UPDATE_ON_RENEW = 74,
822 S_DDNS_USE_CONFLICT_RESOLUTION = 75,
823 S_DDNS_TTL_PERCENT = 76,
824 S_STORE_EXTENDED_INFO = 77,
838 S_PARKED_PACKET_LIMIT = 91,
841 S_DDNS_CONFLICT_RESOLUTION_MODE = 94,
842 S_CHECK_WITH_DHCID = 95,
843 S_NO_CHECK_WITH_DHCID = 96,
844 S_CHECK_EXISTS_WITH_DHCID = 97,
845 S_NO_CHECK_WITHOUT_DHCID = 98,
846 S_SHARED_NETWORKS = 99,
852 S_EXCLUDED_PREFIX = 105,
853 S_EXCLUDED_PREFIX_LEN = 106,
854 S_DELEGATED_LEN = 107,
855 S_USER_CONTEXT = 108,
859 S_INTERFACE_ID = 112,
861 S_RAPID_COMMIT = 114,
862 S_RESERVATION_MODE = 115,
867 S_RESERVATIONS_GLOBAL = 120,
868 S_RESERVATIONS_IN_SUBNET = 121,
869 S_RESERVATIONS_OUT_OF_POOL = 122,
871 S_RELAY_SUPPLIED_OPTIONS = 124,
872 S_HOST_RESERVATION_IDENTIFIERS = 125,
873 S_SANITY_CHECKS = 126,
874 S_LEASE_CHECKS = 127,
875 S_EXTENDED_INFO_CHECKS = 128,
876 S_CLIENT_CLASSES = 129,
877 S_REQUIRE_CLIENT_CLASSES = 130,
879 S_TEMPLATE_TEST = 132,
880 S_ONLY_IF_REQUIRED = 133,
881 S_CLIENT_CLASS = 134,
883 S_RESERVATIONS = 136,
884 S_IP_ADDRESSES = 137,
892 S_HOOKS_LIBRARIES = 145,
895 S_EXPIRED_LEASES_PROCESSING = 148,
896 S_RECLAIM_TIMER_WAIT_TIME = 149,
897 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 150,
898 S_HOLD_RECLAIMED_TIME = 151,
899 S_MAX_RECLAIM_LEASES = 152,
900 S_MAX_RECLAIM_TIME = 153,
901 S_UNWARNED_RECLAIM_CYCLES = 154,
909 S_ENTERPRISE_ID = 162,
910 S_DHCP4O6_PORT = 163,
911 S_DHCP_MULTI_THREADING = 164,
912 S_ENABLE_MULTI_THREADING = 165,
913 S_THREAD_POOL_SIZE = 166,
914 S_PACKET_QUEUE_SIZE = 167,
915 S_CONTROL_SOCKET = 168,
918 S_DHCP_QUEUE_CONTROL = 171,
919 S_ENABLE_QUEUE = 172,
923 S_ENABLE_UPDATES = 176,
924 S_QUALIFYING_SUFFIX = 177,
929 S_MAX_QUEUE_SIZE = 182,
930 S_NCR_PROTOCOL = 183,
932 S_OVERRIDE_NO_UPDATE = 185,
933 S_OVERRIDE_CLIENT_UPDATE = 186,
934 S_REPLACE_CLIENT_NAME = 187,
935 S_GENERATED_PREFIX = 188,
939 S_WHEN_PRESENT = 192,
942 S_WHEN_NOT_PRESENT = 195,
943 S_HOSTNAME_CHAR_SET = 196,
944 S_HOSTNAME_CHAR_REPLACEMENT = 197,
945 S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 198,
946 S_IP_RESERVATIONS_UNIQUE = 199,
947 S_RESERVATIONS_LOOKUP_FIRST = 200,
949 S_OUTPUT_OPTIONS = 202,
957 S_COMPATIBILITY = 210,
958 S_LENIENT_OPTION_PARSING = 211,
959 S_TOPLEVEL_JSON = 212,
960 S_TOPLEVEL_DHCP6 = 213,
962 S_SUB_INTERFACES6 = 215,
966 S_SUB_RESERVATION = 219,
967 S_SUB_OPTION_DEFS = 220,
968 S_SUB_OPTION_DEF = 221,
969 S_SUB_OPTION_DATA = 222,
970 S_SUB_HOOKS_LIBRARY = 223,
971 S_SUB_DHCP_DDNS = 224,
972 S_SUB_CONFIG_CONTROL = 225,
999 S_not_empty_map = 252,
1000 S_list_generic = 253,
1002 S_list_content = 255,
1003 S_not_empty_list = 256,
1004 S_list_strings = 257,
1006 S_list_strings_content = 259,
1007 S_not_empty_list_strings = 260,
1008 S_unknown_map_entry = 261,
1011 S_global_object = 264,
1013 S_global_object_comma = 266,
1016 S_global_params = 269,
1017 S_global_param = 270,
1018 S_data_directory = 271,
1020 S_preferred_lifetime = 273,
1021 S_min_preferred_lifetime = 274,
1022 S_max_preferred_lifetime = 275,
1023 S_valid_lifetime = 276,
1024 S_min_valid_lifetime = 277,
1025 S_max_valid_lifetime = 278,
1026 S_renew_timer = 279,
1027 S_rebind_timer = 280,
1028 S_calculate_tee_times = 281,
1031 S_cache_threshold = 284,
1032 S_cache_max_age = 285,
1033 S_decline_probation_period = 286,
1034 S_ddns_send_updates = 287,
1035 S_ddns_override_no_update = 288,
1036 S_ddns_override_client_update = 289,
1037 S_ddns_replace_client_name = 290,
1039 S_ddns_replace_client_name_value = 292,
1040 S_ddns_generated_prefix = 293,
1042 S_ddns_qualifying_suffix = 295,
1044 S_ddns_update_on_renew = 297,
1045 S_ddns_use_conflict_resolution = 298,
1046 S_ddns_conflict_resolution_mode = 299,
1048 S_ddns_conflict_resolution_mode_value = 301,
1049 S_ddns_ttl_percent = 302,
1050 S_hostname_char_set = 303,
1052 S_hostname_char_replacement = 305,
1054 S_store_extended_info = 307,
1055 S_statistic_default_sample_count = 308,
1056 S_statistic_default_sample_age = 309,
1059 S_parked_packet_limit = 312,
1062 S_pd_allocator = 315,
1064 S_early_global_reservations_lookup = 317,
1065 S_ip_reservations_unique = 318,
1066 S_reservations_lookup_first = 319,
1067 S_interfaces_config = 320,
1069 S_sub_interfaces6 = 322,
1071 S_interfaces_config_params = 324,
1072 S_interfaces_config_param = 325,
1073 S_interfaces_list = 326,
1076 S_service_sockets_require_all = 329,
1077 S_service_sockets_retry_wait_time = 330,
1078 S_service_sockets_max_retries = 331,
1079 S_lease_database = 332,
1081 S_hosts_database = 334,
1083 S_hosts_databases = 336,
1085 S_database_list = 338,
1086 S_not_empty_database_list = 339,
1089 S_database_map_params = 342,
1090 S_database_map_param = 343,
1091 S_database_type = 344,
1104 S_lfc_interval = 357,
1106 S_connect_timeout = 359,
1107 S_read_timeout = 360,
1108 S_write_timeout = 361,
1109 S_tcp_user_timeout = 362,
1110 S_reconnect_wait_time = 363,
1113 S_on_fail_mode = 366,
1114 S_retry_on_startup = 367,
1115 S_max_row_errors = 368,
1116 S_max_reconnect_tries = 369,
1117 S_trust_anchor = 370,
1123 S_cipher_list = 376,
1125 S_sanity_checks = 378,
1127 S_sanity_checks_params = 380,
1128 S_sanity_checks_param = 381,
1129 S_lease_checks = 382,
1131 S_extended_info_checks = 384,
1133 S_mac_sources = 386,
1135 S_mac_sources_list = 388,
1136 S_mac_sources_value = 389,
1139 S_host_reservation_identifiers = 392,
1141 S_host_reservation_identifiers_list = 394,
1142 S_host_reservation_identifier = 395,
1143 S_hw_address_id = 396,
1145 S_relay_supplied_options = 398,
1147 S_dhcp_multi_threading = 400,
1149 S_multi_threading_params = 402,
1150 S_multi_threading_param = 403,
1151 S_enable_multi_threading = 404,
1152 S_thread_pool_size = 405,
1153 S_packet_queue_size = 406,
1154 S_hooks_libraries = 407,
1156 S_hooks_libraries_list = 409,
1157 S_not_empty_hooks_libraries_list = 410,
1158 S_hooks_library = 411,
1160 S_sub_hooks_library = 413,
1162 S_hooks_params = 415,
1163 S_hooks_param = 416,
1168 S_expired_leases_processing = 421,
1170 S_expired_leases_params = 423,
1171 S_expired_leases_param = 424,
1172 S_reclaim_timer_wait_time = 425,
1173 S_flush_reclaimed_timer_wait_time = 426,
1174 S_hold_reclaimed_time = 427,
1175 S_max_reclaim_leases = 428,
1176 S_max_reclaim_time = 429,
1177 S_unwarned_reclaim_cycles = 430,
1178 S_subnet6_list = 431,
1180 S_subnet6_list_content = 433,
1181 S_not_empty_subnet6_list = 434,
1184 S_sub_subnet6 = 437,
1186 S_subnet6_params = 439,
1187 S_subnet6_param = 440,
1192 S_interface_id = 445,
1194 S_client_class = 447,
1196 S_require_client_classes = 449,
1198 S_reservations_global = 451,
1199 S_reservations_in_subnet = 452,
1200 S_reservations_out_of_pool = 453,
1201 S_reservation_mode = 454,
1205 S_rapid_commit = 458,
1206 S_shared_networks = 459,
1208 S_shared_networks_content = 461,
1209 S_shared_networks_list = 462,
1210 S_shared_network = 463,
1212 S_shared_network_params = 465,
1213 S_shared_network_param = 466,
1214 S_option_def_list = 467,
1216 S_sub_option_def_list = 469,
1218 S_option_def_list_content = 471,
1219 S_not_empty_option_def_list = 472,
1220 S_option_def_entry = 473,
1222 S_sub_option_def = 475,
1224 S_option_def_params = 477,
1225 S_not_empty_option_def_params = 478,
1226 S_option_def_param = 479,
1227 S_option_def_name = 480,
1229 S_option_def_code = 482,
1230 S_option_def_type = 483,
1232 S_option_def_record_types = 485,
1236 S_option_def_space = 489,
1237 S_option_def_encapsulate = 490,
1239 S_option_def_array = 492,
1240 S_option_data_list = 493,
1242 S_option_data_list_content = 495,
1243 S_not_empty_option_data_list = 496,
1244 S_option_data_entry = 497,
1246 S_sub_option_data = 499,
1248 S_option_data_params = 501,
1249 S_not_empty_option_data_params = 502,
1250 S_option_data_param = 503,
1251 S_option_data_name = 504,
1252 S_option_data_data = 505,
1254 S_option_data_code = 507,
1255 S_option_data_space = 508,
1256 S_option_data_csv_format = 509,
1257 S_option_data_always_send = 510,
1258 S_option_data_never_send = 511,
1261 S_pools_list_content = 514,
1262 S_not_empty_pools_list = 515,
1263 S_pool_list_entry = 516,
1267 S_pool_params = 520,
1272 S_user_context = 525,
1276 S_pd_pools_list = 529,
1278 S_pd_pools_list_content = 531,
1279 S_not_empty_pd_pools_list = 532,
1280 S_pd_pool_entry = 533,
1282 S_sub_pd_pool = 535,
1284 S_pd_pool_params = 537,
1285 S_pd_pool_param = 538,
1288 S_pd_prefix_len = 541,
1289 S_excluded_prefix = 542,
1291 S_excluded_prefix_len = 544,
1292 S_pd_delegated_len = 545,
1293 S_reservations = 546,
1295 S_reservations_list = 548,
1296 S_not_empty_reservations_list = 549,
1297 S_reservation = 550,
1299 S_sub_reservation = 552,
1301 S_reservation_params = 554,
1302 S_not_empty_reservation_params = 555,
1303 S_reservation_param = 556,
1304 S_ip_addresses = 557,
1314 S_flex_id_value = 567,
1316 S_reservation_client_classes = 569,
1323 S_client_classes = 576,
1325 S_client_classes_list = 578,
1326 S_client_class_entry = 579,
1328 S_client_class_params = 581,
1329 S_not_empty_client_class_params = 582,
1330 S_client_class_param = 583,
1331 S_client_class_name = 584,
1332 S_client_class_test = 585,
1334 S_client_class_template_test = 587,
1336 S_only_if_required = 589,
1339 S_server_id_params = 592,
1340 S_server_id_param = 593,
1341 S_server_id_type = 594,
1348 S_enterprise_id = 601,
1349 S_dhcp4o6_port = 602,
1350 S_control_socket = 603,
1352 S_control_socket_params = 605,
1353 S_control_socket_param = 606,
1354 S_socket_type = 607,
1356 S_socket_name = 609,
1358 S_dhcp_queue_control = 611,
1360 S_queue_control_params = 613,
1361 S_queue_control_param = 614,
1362 S_enable_queue = 615,
1366 S_arbitrary_map_entry = 619,
1370 S_sub_dhcp_ddns = 623,
1372 S_dhcp_ddns_params = 625,
1373 S_dhcp_ddns_param = 626,
1374 S_enable_updates = 627,
1375 S_dep_qualifying_suffix = 628,
1379 S_server_port = 632,
1382 S_sender_port = 635,
1383 S_max_queue_size = 636,
1384 S_ncr_protocol = 637,
1386 S_ncr_protocol_value = 639,
1389 S_dep_override_no_update = 642,
1390 S_dep_override_client_update = 643,
1391 S_dep_replace_client_name = 644,
1393 S_dep_generated_prefix = 646,
1395 S_dep_hostname_char_set = 648,
1397 S_dep_hostname_char_replacement = 650,
1399 S_config_control = 652,
1401 S_sub_config_control = 654,
1403 S_config_control_params = 656,
1404 S_config_control_param = 657,
1405 S_config_databases = 658,
1407 S_config_fetch_wait_time = 660,
1410 S_loggers_entries = 663,
1411 S_logger_entry = 664,
1413 S_logger_params = 666,
1414 S_logger_param = 667,
1418 S_output_options_list = 671,
1420 S_output_options_list_content = 673,
1421 S_output_entry = 674,
1423 S_output_params_list = 676,
1424 S_output_params = 677,
1432 S_compatibility = 685,
1434 S_compatibility_params = 687,
1435 S_compatibility_param = 688,
1436 S_lenient_option_parsing = 689
1452 template <
typename Base>
1464#if 201103L <= YY_CPLUSPLUS
1467 : Base (std::move (that))
1469 , location (std::move (that.location))
1471 switch (this->kind ())
1473 case symbol_kind::S_value:
1474 case symbol_kind::S_map_value:
1475 case symbol_kind::S_ddns_replace_client_name_value:
1476 case symbol_kind::S_ddns_conflict_resolution_mode_value:
1477 case symbol_kind::S_db_type:
1478 case symbol_kind::S_on_fail_mode:
1479 case symbol_kind::S_hr_mode:
1480 case symbol_kind::S_duid_type:
1481 case symbol_kind::S_ncr_protocol_value:
1482 value.move<
ElementPtr > (std::move (that.value));
1485 case symbol_kind::S_BOOLEAN:
1486 value.move<
bool > (std::move (that.value));
1489 case symbol_kind::S_FLOAT:
1490 value.move<
double > (std::move (that.value));
1493 case symbol_kind::S_INTEGER:
1494 value.move< int64_t > (std::move (that.value));
1497 case symbol_kind::S_STRING:
1498 value.move< std::string > (std::move (that.value));
1509 basic_symbol (
const basic_symbol& that);
1512#if 201103L <= YY_CPLUSPLUS
1513 basic_symbol (
typename Base::kind_type t, location_type&& l)
1515 , location (std::move (l))
1524#if 201103L <= YY_CPLUSPLUS
1527 , value (std::move (v))
1528 , location (std::move (l))
1538#if 201103L <= YY_CPLUSPLUS
1541 , value (std::move (v))
1542 , location (std::move (l))
1552#if 201103L <= YY_CPLUSPLUS
1555 , value (std::move (v))
1556 , location (std::move (l))
1566#if 201103L <= YY_CPLUSPLUS
1569 , value (std::move (v))
1570 , location (std::move (l))
1580#if 201103L <= YY_CPLUSPLUS
1583 , value (std::move (v))
1584 , location (std::move (l))
1618 case symbol_kind::S_value:
1619 case symbol_kind::S_map_value:
1620 case symbol_kind::S_ddns_replace_client_name_value:
1621 case symbol_kind::S_ddns_conflict_resolution_mode_value:
1622 case symbol_kind::S_db_type:
1623 case symbol_kind::S_on_fail_mode:
1624 case symbol_kind::S_hr_mode:
1625 case symbol_kind::S_duid_type:
1626 case symbol_kind::S_ncr_protocol_value:
1627 value.template destroy< ElementPtr > ();
1630 case symbol_kind::S_BOOLEAN:
1631 value.template destroy< bool > ();
1634 case symbol_kind::S_FLOAT:
1635 value.template destroy< double > ();
1638 case symbol_kind::S_INTEGER:
1639 value.template destroy< int64_t > ();
1642 case symbol_kind::S_STRING:
1643 value.template destroy< std::string > ();
1675#if YY_CPLUSPLUS < 201103L
1690#if 201103L <= YY_CPLUSPLUS
1734#if 201103L <= YY_CPLUSPLUS
1742#if !defined _MSC_VER || defined __clang__
1744 || (token::TOKEN_PARSER6_error <= tok && tok <= token::TOKEN_SUB_CONFIG_CONTROL));
1747#if 201103L <= YY_CPLUSPLUS
1755#if !defined _MSC_VER || defined __clang__
1759#if 201103L <= YY_CPLUSPLUS
1767#if !defined _MSC_VER || defined __clang__
1771#if 201103L <= YY_CPLUSPLUS
1779#if !defined _MSC_VER || defined __clang__
1783#if 201103L <= YY_CPLUSPLUS
1791#if !defined _MSC_VER || defined __clang__
1801#if 201103L <= YY_CPLUSPLUS
1814 virtual int parse ();
1820 void set_debug_stream (std::ostream &);
1823 typedef
int debug_level_type;
1827 void set_debug_level (debug_level_type l);
1833 virtual void error (
const location_type& loc,
const std::string& msg);
1836 void error (
const syntax_error& err);
1840 static std::string symbol_name (symbol_kind_type yysymbol);
1843#if 201103L <= YY_CPLUSPLUS
1846 make_END (location_type l)
1848 return symbol_type (token::TOKEN_END, std::move (l));
1858#if 201103L <= YY_CPLUSPLUS
1861 make_PARSER6_error (location_type l)
1863 return symbol_type (token::TOKEN_PARSER6_error, std::move (l));
1870 return symbol_type (token::TOKEN_PARSER6_error, l);
1873#if 201103L <= YY_CPLUSPLUS
1876 make_PARSER6_UNDEF (location_type l)
1878 return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l));
1885 return symbol_type (token::TOKEN_PARSER6_UNDEF, l);
1888#if 201103L <= YY_CPLUSPLUS
1891 make_COMMA (location_type l)
1893 return symbol_type (token::TOKEN_COMMA, std::move (l));
1903#if 201103L <= YY_CPLUSPLUS
1906 make_COLON (location_type l)
1908 return symbol_type (token::TOKEN_COLON, std::move (l));
1918#if 201103L <= YY_CPLUSPLUS
1921 make_LSQUARE_BRACKET (location_type l)
1923 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1930 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1933#if 201103L <= YY_CPLUSPLUS
1936 make_RSQUARE_BRACKET (location_type l)
1938 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1945 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1948#if 201103L <= YY_CPLUSPLUS
1951 make_LCURLY_BRACKET (location_type l)
1953 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1960 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1963#if 201103L <= YY_CPLUSPLUS
1966 make_RCURLY_BRACKET (location_type l)
1968 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1975 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1978#if 201103L <= YY_CPLUSPLUS
1981 make_NULL_TYPE (location_type l)
1983 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1993#if 201103L <= YY_CPLUSPLUS
1996 make_DHCP6 (location_type l)
1998 return symbol_type (token::TOKEN_DHCP6, std::move (l));
2008#if 201103L <= YY_CPLUSPLUS
2011 make_DATA_DIRECTORY (location_type l)
2013 return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
2020 return symbol_type (token::TOKEN_DATA_DIRECTORY, l);
2023#if 201103L <= YY_CPLUSPLUS
2026 make_CONFIG_CONTROL (location_type l)
2028 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
2035 return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
2038#if 201103L <= YY_CPLUSPLUS
2041 make_CONFIG_DATABASES (location_type l)
2043 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
2050 return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
2053#if 201103L <= YY_CPLUSPLUS
2056 make_CONFIG_FETCH_WAIT_TIME (location_type l)
2058 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2065 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
2068#if 201103L <= YY_CPLUSPLUS
2071 make_INTERFACES_CONFIG (location_type l)
2073 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2080 return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
2083#if 201103L <= YY_CPLUSPLUS
2086 make_INTERFACES (location_type l)
2088 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2098#if 201103L <= YY_CPLUSPLUS
2101 make_RE_DETECT (location_type l)
2103 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2113#if 201103L <= YY_CPLUSPLUS
2116 make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2118 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2125 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, l);
2128#if 201103L <= YY_CPLUSPLUS
2131 make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2133 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2140 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, l);
2143#if 201103L <= YY_CPLUSPLUS
2146 make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2148 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2155 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, l);
2158#if 201103L <= YY_CPLUSPLUS
2161 make_LEASE_DATABASE (location_type l)
2163 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2170 return symbol_type (token::TOKEN_LEASE_DATABASE, l);
2173#if 201103L <= YY_CPLUSPLUS
2176 make_HOSTS_DATABASE (location_type l)
2178 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2185 return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
2188#if 201103L <= YY_CPLUSPLUS
2191 make_HOSTS_DATABASES (location_type l)
2193 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2200 return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
2203#if 201103L <= YY_CPLUSPLUS
2206 make_TYPE (location_type l)
2208 return symbol_type (token::TOKEN_TYPE, std::move (l));
2218#if 201103L <= YY_CPLUSPLUS
2221 make_MEMFILE (location_type l)
2223 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2233#if 201103L <= YY_CPLUSPLUS
2236 make_MYSQL (location_type l)
2238 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2248#if 201103L <= YY_CPLUSPLUS
2251 make_POSTGRESQL (location_type l)
2253 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2263#if 201103L <= YY_CPLUSPLUS
2266 make_USER (location_type l)
2268 return symbol_type (token::TOKEN_USER, std::move (l));
2278#if 201103L <= YY_CPLUSPLUS
2281 make_PASSWORD (location_type l)
2283 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2293#if 201103L <= YY_CPLUSPLUS
2296 make_HOST (location_type l)
2298 return symbol_type (token::TOKEN_HOST, std::move (l));
2308#if 201103L <= YY_CPLUSPLUS
2311 make_PORT (location_type l)
2313 return symbol_type (token::TOKEN_PORT, std::move (l));
2323#if 201103L <= YY_CPLUSPLUS
2326 make_PERSIST (location_type l)
2328 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2338#if 201103L <= YY_CPLUSPLUS
2341 make_LFC_INTERVAL (location_type l)
2343 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2350 return symbol_type (token::TOKEN_LFC_INTERVAL, l);
2353#if 201103L <= YY_CPLUSPLUS
2356 make_READONLY (location_type l)
2358 return symbol_type (token::TOKEN_READONLY, std::move (l));
2368#if 201103L <= YY_CPLUSPLUS
2371 make_CONNECT_TIMEOUT (location_type l)
2373 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2380 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
2383#if 201103L <= YY_CPLUSPLUS
2386 make_READ_TIMEOUT (location_type l)
2388 return symbol_type (token::TOKEN_READ_TIMEOUT, std::move (l));
2395 return symbol_type (token::TOKEN_READ_TIMEOUT, l);
2398#if 201103L <= YY_CPLUSPLUS
2401 make_WRITE_TIMEOUT (location_type l)
2403 return symbol_type (token::TOKEN_WRITE_TIMEOUT, std::move (l));
2410 return symbol_type (token::TOKEN_WRITE_TIMEOUT, l);
2413#if 201103L <= YY_CPLUSPLUS
2416 make_TCP_USER_TIMEOUT (location_type l)
2418 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, std::move (l));
2425 return symbol_type (token::TOKEN_TCP_USER_TIMEOUT, l);
2428#if 201103L <= YY_CPLUSPLUS
2431 make_MAX_RECONNECT_TRIES (location_type l)
2433 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2440 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
2443#if 201103L <= YY_CPLUSPLUS
2446 make_RECONNECT_WAIT_TIME (location_type l)
2448 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2455 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
2458#if 201103L <= YY_CPLUSPLUS
2461 make_ON_FAIL (location_type l)
2463 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2473#if 201103L <= YY_CPLUSPLUS
2476 make_STOP_RETRY_EXIT (location_type l)
2478 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2485 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, l);
2488#if 201103L <= YY_CPLUSPLUS
2491 make_SERVE_RETRY_EXIT (location_type l)
2493 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2500 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, l);
2503#if 201103L <= YY_CPLUSPLUS
2506 make_SERVE_RETRY_CONTINUE (location_type l)
2508 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2515 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, l);
2518#if 201103L <= YY_CPLUSPLUS
2521 make_RETRY_ON_STARTUP (location_type l)
2523 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, std::move (l));
2530 return symbol_type (token::TOKEN_RETRY_ON_STARTUP, l);
2533#if 201103L <= YY_CPLUSPLUS
2536 make_MAX_ROW_ERRORS (location_type l)
2538 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2545 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
2548#if 201103L <= YY_CPLUSPLUS
2551 make_TRUST_ANCHOR (location_type l)
2553 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2560 return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
2563#if 201103L <= YY_CPLUSPLUS
2566 make_CERT_FILE (location_type l)
2568 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2578#if 201103L <= YY_CPLUSPLUS
2581 make_KEY_FILE (location_type l)
2583 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2593#if 201103L <= YY_CPLUSPLUS
2596 make_CIPHER_LIST (location_type l)
2598 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2608#if 201103L <= YY_CPLUSPLUS
2611 make_PREFERRED_LIFETIME (location_type l)
2613 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
2620 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, l);
2623#if 201103L <= YY_CPLUSPLUS
2626 make_MIN_PREFERRED_LIFETIME (location_type l)
2628 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
2635 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, l);
2638#if 201103L <= YY_CPLUSPLUS
2641 make_MAX_PREFERRED_LIFETIME (location_type l)
2643 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
2650 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, l);
2653#if 201103L <= YY_CPLUSPLUS
2656 make_VALID_LIFETIME (location_type l)
2658 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2665 return symbol_type (token::TOKEN_VALID_LIFETIME, l);
2668#if 201103L <= YY_CPLUSPLUS
2671 make_MIN_VALID_LIFETIME (location_type l)
2673 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2680 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
2683#if 201103L <= YY_CPLUSPLUS
2686 make_MAX_VALID_LIFETIME (location_type l)
2688 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2695 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
2698#if 201103L <= YY_CPLUSPLUS
2701 make_RENEW_TIMER (location_type l)
2703 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2713#if 201103L <= YY_CPLUSPLUS
2716 make_REBIND_TIMER (location_type l)
2718 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2725 return symbol_type (token::TOKEN_REBIND_TIMER, l);
2728#if 201103L <= YY_CPLUSPLUS
2731 make_CALCULATE_TEE_TIMES (location_type l)
2733 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2740 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
2743#if 201103L <= YY_CPLUSPLUS
2746 make_T1_PERCENT (location_type l)
2748 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2758#if 201103L <= YY_CPLUSPLUS
2761 make_T2_PERCENT (location_type l)
2763 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2773#if 201103L <= YY_CPLUSPLUS
2776 make_CACHE_THRESHOLD (location_type l)
2778 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2785 return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
2788#if 201103L <= YY_CPLUSPLUS
2791 make_CACHE_MAX_AGE (location_type l)
2793 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2800 return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
2803#if 201103L <= YY_CPLUSPLUS
2806 make_DECLINE_PROBATION_PERIOD (location_type l)
2808 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2815 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
2818#if 201103L <= YY_CPLUSPLUS
2821 make_SERVER_TAG (location_type l)
2823 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2833#if 201103L <= YY_CPLUSPLUS
2836 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
2838 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2845 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
2848#if 201103L <= YY_CPLUSPLUS
2851 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
2853 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2860 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
2863#if 201103L <= YY_CPLUSPLUS
2866 make_DDNS_SEND_UPDATES (location_type l)
2868 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2875 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
2878#if 201103L <= YY_CPLUSPLUS
2881 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
2883 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2890 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
2893#if 201103L <= YY_CPLUSPLUS
2896 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
2898 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2905 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
2908#if 201103L <= YY_CPLUSPLUS
2911 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
2913 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2920 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
2923#if 201103L <= YY_CPLUSPLUS
2926 make_DDNS_GENERATED_PREFIX (location_type l)
2928 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2935 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
2938#if 201103L <= YY_CPLUSPLUS
2941 make_DDNS_QUALIFYING_SUFFIX (location_type l)
2943 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2950 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
2953#if 201103L <= YY_CPLUSPLUS
2956 make_DDNS_UPDATE_ON_RENEW (location_type l)
2958 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2965 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
2968#if 201103L <= YY_CPLUSPLUS
2971 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
2973 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2980 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
2983#if 201103L <= YY_CPLUSPLUS
2986 make_DDNS_TTL_PERCENT (location_type l)
2988 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, std::move (l));
2995 return symbol_type (token::TOKEN_DDNS_TTL_PERCENT, l);
2998#if 201103L <= YY_CPLUSPLUS
3001 make_STORE_EXTENDED_INFO (location_type l)
3003 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
3010 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
3013#if 201103L <= YY_CPLUSPLUS
3016 make_SUBNET6 (location_type l)
3018 return symbol_type (token::TOKEN_SUBNET6, std::move (l));
3028#if 201103L <= YY_CPLUSPLUS
3031 make_OPTION_DEF (location_type l)
3033 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
3043#if 201103L <= YY_CPLUSPLUS
3046 make_OPTION_DATA (location_type l)
3048 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
3058#if 201103L <= YY_CPLUSPLUS
3061 make_NAME (location_type l)
3063 return symbol_type (token::TOKEN_NAME, std::move (l));
3073#if 201103L <= YY_CPLUSPLUS
3076 make_DATA (location_type l)
3078 return symbol_type (token::TOKEN_DATA, std::move (l));
3088#if 201103L <= YY_CPLUSPLUS
3091 make_CODE (location_type l)
3093 return symbol_type (token::TOKEN_CODE, std::move (l));
3103#if 201103L <= YY_CPLUSPLUS
3106 make_SPACE (location_type l)
3108 return symbol_type (token::TOKEN_SPACE, std::move (l));
3118#if 201103L <= YY_CPLUSPLUS
3121 make_CSV_FORMAT (location_type l)
3123 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3133#if 201103L <= YY_CPLUSPLUS
3136 make_ALWAYS_SEND (location_type l)
3138 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3148#if 201103L <= YY_CPLUSPLUS
3151 make_NEVER_SEND (location_type l)
3153 return symbol_type (token::TOKEN_NEVER_SEND, std::move (l));
3163#if 201103L <= YY_CPLUSPLUS
3166 make_RECORD_TYPES (location_type l)
3168 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3175 return symbol_type (token::TOKEN_RECORD_TYPES, l);
3178#if 201103L <= YY_CPLUSPLUS
3181 make_ENCAPSULATE (location_type l)
3183 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3193#if 201103L <= YY_CPLUSPLUS
3196 make_ARRAY (location_type l)
3198 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3208#if 201103L <= YY_CPLUSPLUS
3211 make_PARKED_PACKET_LIMIT (location_type l)
3213 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3220 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, l);
3223#if 201103L <= YY_CPLUSPLUS
3226 make_ALLOCATOR (location_type l)
3228 return symbol_type (token::TOKEN_ALLOCATOR, std::move (l));
3238#if 201103L <= YY_CPLUSPLUS
3241 make_PD_ALLOCATOR (location_type l)
3243 return symbol_type (token::TOKEN_PD_ALLOCATOR, std::move (l));
3250 return symbol_type (token::TOKEN_PD_ALLOCATOR, l);
3253#if 201103L <= YY_CPLUSPLUS
3256 make_DDNS_CONFLICT_RESOLUTION_MODE (location_type l)
3258 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, std::move (l));
3265 return symbol_type (token::TOKEN_DDNS_CONFLICT_RESOLUTION_MODE, l);
3268#if 201103L <= YY_CPLUSPLUS
3271 make_CHECK_WITH_DHCID (location_type l)
3273 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, std::move (l));
3280 return symbol_type (token::TOKEN_CHECK_WITH_DHCID, l);
3283#if 201103L <= YY_CPLUSPLUS
3286 make_NO_CHECK_WITH_DHCID (location_type l)
3288 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, std::move (l));
3295 return symbol_type (token::TOKEN_NO_CHECK_WITH_DHCID, l);
3298#if 201103L <= YY_CPLUSPLUS
3301 make_CHECK_EXISTS_WITH_DHCID (location_type l)
3303 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, std::move (l));
3310 return symbol_type (token::TOKEN_CHECK_EXISTS_WITH_DHCID, l);
3313#if 201103L <= YY_CPLUSPLUS
3316 make_NO_CHECK_WITHOUT_DHCID (location_type l)
3318 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, std::move (l));
3325 return symbol_type (token::TOKEN_NO_CHECK_WITHOUT_DHCID, l);
3328#if 201103L <= YY_CPLUSPLUS
3331 make_SHARED_NETWORKS (location_type l)
3333 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3340 return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
3343#if 201103L <= YY_CPLUSPLUS
3346 make_POOLS (location_type l)
3348 return symbol_type (token::TOKEN_POOLS, std::move (l));
3358#if 201103L <= YY_CPLUSPLUS
3361 make_POOL (location_type l)
3363 return symbol_type (token::TOKEN_POOL, std::move (l));
3373#if 201103L <= YY_CPLUSPLUS
3376 make_PD_POOLS (location_type l)
3378 return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
3388#if 201103L <= YY_CPLUSPLUS
3391 make_PREFIX (location_type l)
3393 return symbol_type (token::TOKEN_PREFIX, std::move (l));
3403#if 201103L <= YY_CPLUSPLUS
3406 make_PREFIX_LEN (location_type l)
3408 return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
3418#if 201103L <= YY_CPLUSPLUS
3421 make_EXCLUDED_PREFIX (location_type l)
3423 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
3430 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l);
3433#if 201103L <= YY_CPLUSPLUS
3436 make_EXCLUDED_PREFIX_LEN (location_type l)
3438 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
3445 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, l);
3448#if 201103L <= YY_CPLUSPLUS
3451 make_DELEGATED_LEN (location_type l)
3453 return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
3460 return symbol_type (token::TOKEN_DELEGATED_LEN, l);
3463#if 201103L <= YY_CPLUSPLUS
3466 make_USER_CONTEXT (location_type l)
3468 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3475 return symbol_type (token::TOKEN_USER_CONTEXT, l);
3478#if 201103L <= YY_CPLUSPLUS
3481 make_COMMENT (location_type l)
3483 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3493#if 201103L <= YY_CPLUSPLUS
3496 make_SUBNET (location_type l)
3498 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3508#if 201103L <= YY_CPLUSPLUS
3511 make_INTERFACE (location_type l)
3513 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3523#if 201103L <= YY_CPLUSPLUS
3526 make_INTERFACE_ID (location_type l)
3528 return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
3535 return symbol_type (token::TOKEN_INTERFACE_ID, l);
3538#if 201103L <= YY_CPLUSPLUS
3541 make_ID (location_type l)
3543 return symbol_type (token::TOKEN_ID, std::move (l));
3553#if 201103L <= YY_CPLUSPLUS
3556 make_RAPID_COMMIT (location_type l)
3558 return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
3565 return symbol_type (token::TOKEN_RAPID_COMMIT, l);
3568#if 201103L <= YY_CPLUSPLUS
3571 make_RESERVATION_MODE (location_type l)
3573 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3580 return symbol_type (token::TOKEN_RESERVATION_MODE, l);
3583#if 201103L <= YY_CPLUSPLUS
3586 make_DISABLED (location_type l)
3588 return symbol_type (token::TOKEN_DISABLED, std::move (l));
3598#if 201103L <= YY_CPLUSPLUS
3601 make_OUT_OF_POOL (location_type l)
3603 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3613#if 201103L <= YY_CPLUSPLUS
3616 make_GLOBAL (location_type l)
3618 return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3628#if 201103L <= YY_CPLUSPLUS
3631 make_ALL (location_type l)
3633 return symbol_type (token::TOKEN_ALL, std::move (l));
3643#if 201103L <= YY_CPLUSPLUS
3646 make_RESERVATIONS_GLOBAL (location_type l)
3648 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3655 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l);
3658#if 201103L <= YY_CPLUSPLUS
3661 make_RESERVATIONS_IN_SUBNET (location_type l)
3663 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3670 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l);
3673#if 201103L <= YY_CPLUSPLUS
3676 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3678 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3685 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l);
3688#if 201103L <= YY_CPLUSPLUS
3691 make_MAC_SOURCES (location_type l)
3693 return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
3703#if 201103L <= YY_CPLUSPLUS
3706 make_RELAY_SUPPLIED_OPTIONS (location_type l)
3708 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
3715 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l);
3718#if 201103L <= YY_CPLUSPLUS
3721 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3723 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3730 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
3733#if 201103L <= YY_CPLUSPLUS
3736 make_SANITY_CHECKS (location_type l)
3738 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
3745 return symbol_type (token::TOKEN_SANITY_CHECKS, l);
3748#if 201103L <= YY_CPLUSPLUS
3751 make_LEASE_CHECKS (location_type l)
3753 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
3760 return symbol_type (token::TOKEN_LEASE_CHECKS, l);
3763#if 201103L <= YY_CPLUSPLUS
3766 make_EXTENDED_INFO_CHECKS (location_type l)
3768 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, std::move (l));
3775 return symbol_type (token::TOKEN_EXTENDED_INFO_CHECKS, l);
3778#if 201103L <= YY_CPLUSPLUS
3781 make_CLIENT_CLASSES (location_type l)
3783 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3790 return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
3793#if 201103L <= YY_CPLUSPLUS
3796 make_REQUIRE_CLIENT_CLASSES (location_type l)
3798 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3805 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
3808#if 201103L <= YY_CPLUSPLUS
3811 make_TEST (location_type l)
3813 return symbol_type (token::TOKEN_TEST, std::move (l));
3823#if 201103L <= YY_CPLUSPLUS
3826 make_TEMPLATE_TEST (location_type l)
3828 return symbol_type (token::TOKEN_TEMPLATE_TEST, std::move (l));
3835 return symbol_type (token::TOKEN_TEMPLATE_TEST, l);
3838#if 201103L <= YY_CPLUSPLUS
3841 make_ONLY_IF_REQUIRED (location_type l)
3843 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3850 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
3853#if 201103L <= YY_CPLUSPLUS
3856 make_CLIENT_CLASS (location_type l)
3858 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3865 return symbol_type (token::TOKEN_CLIENT_CLASS, l);
3868#if 201103L <= YY_CPLUSPLUS
3871 make_POOL_ID (location_type l)
3873 return symbol_type (token::TOKEN_POOL_ID, std::move (l));
3883#if 201103L <= YY_CPLUSPLUS
3886 make_RESERVATIONS (location_type l)
3888 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3895 return symbol_type (token::TOKEN_RESERVATIONS, l);
3898#if 201103L <= YY_CPLUSPLUS
3901 make_IP_ADDRESSES (location_type l)
3903 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3910 return symbol_type (token::TOKEN_IP_ADDRESSES, l);
3913#if 201103L <= YY_CPLUSPLUS
3916 make_PREFIXES (location_type l)
3918 return symbol_type (token::TOKEN_PREFIXES, std::move (l));
3928#if 201103L <= YY_CPLUSPLUS
3931 make_DUID (location_type l)
3933 return symbol_type (token::TOKEN_DUID, std::move (l));
3943#if 201103L <= YY_CPLUSPLUS
3946 make_HW_ADDRESS (location_type l)
3948 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3958#if 201103L <= YY_CPLUSPLUS
3961 make_HOSTNAME (location_type l)
3963 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3973#if 201103L <= YY_CPLUSPLUS
3976 make_FLEX_ID (location_type l)
3978 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3988#if 201103L <= YY_CPLUSPLUS
3991 make_RELAY (location_type l)
3993 return symbol_type (token::TOKEN_RELAY, std::move (l));
4003#if 201103L <= YY_CPLUSPLUS
4006 make_IP_ADDRESS (location_type l)
4008 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
4018#if 201103L <= YY_CPLUSPLUS
4021 make_HOOKS_LIBRARIES (location_type l)
4023 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
4030 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
4033#if 201103L <= YY_CPLUSPLUS
4036 make_LIBRARY (location_type l)
4038 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
4048#if 201103L <= YY_CPLUSPLUS
4051 make_PARAMETERS (location_type l)
4053 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
4063#if 201103L <= YY_CPLUSPLUS
4066 make_EXPIRED_LEASES_PROCESSING (location_type l)
4068 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
4075 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
4078#if 201103L <= YY_CPLUSPLUS
4081 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
4083 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
4090 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
4093#if 201103L <= YY_CPLUSPLUS
4096 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
4098 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
4105 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
4108#if 201103L <= YY_CPLUSPLUS
4111 make_HOLD_RECLAIMED_TIME (location_type l)
4113 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
4120 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
4123#if 201103L <= YY_CPLUSPLUS
4126 make_MAX_RECLAIM_LEASES (location_type l)
4128 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
4135 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
4138#if 201103L <= YY_CPLUSPLUS
4141 make_MAX_RECLAIM_TIME (location_type l)
4143 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
4150 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
4153#if 201103L <= YY_CPLUSPLUS
4156 make_UNWARNED_RECLAIM_CYCLES (location_type l)
4158 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
4165 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
4168#if 201103L <= YY_CPLUSPLUS
4171 make_SERVER_ID (location_type l)
4173 return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
4183#if 201103L <= YY_CPLUSPLUS
4186 make_LLT (location_type l)
4188 return symbol_type (token::TOKEN_LLT, std::move (l));
4198#if 201103L <= YY_CPLUSPLUS
4201 make_EN (location_type l)
4203 return symbol_type (token::TOKEN_EN, std::move (l));
4213#if 201103L <= YY_CPLUSPLUS
4216 make_LL (location_type l)
4218 return symbol_type (token::TOKEN_LL, std::move (l));
4228#if 201103L <= YY_CPLUSPLUS
4231 make_IDENTIFIER (location_type l)
4233 return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
4243#if 201103L <= YY_CPLUSPLUS
4246 make_HTYPE (location_type l)
4248 return symbol_type (token::TOKEN_HTYPE, std::move (l));
4258#if 201103L <= YY_CPLUSPLUS
4261 make_TIME (location_type l)
4263 return symbol_type (token::TOKEN_TIME, std::move (l));
4273#if 201103L <= YY_CPLUSPLUS
4276 make_ENTERPRISE_ID (location_type l)
4278 return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
4285 return symbol_type (token::TOKEN_ENTERPRISE_ID, l);
4288#if 201103L <= YY_CPLUSPLUS
4291 make_DHCP4O6_PORT (location_type l)
4293 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4300 return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
4303#if 201103L <= YY_CPLUSPLUS
4306 make_DHCP_MULTI_THREADING (location_type l)
4308 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4315 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
4318#if 201103L <= YY_CPLUSPLUS
4321 make_ENABLE_MULTI_THREADING (location_type l)
4323 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4330 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
4333#if 201103L <= YY_CPLUSPLUS
4336 make_THREAD_POOL_SIZE (location_type l)
4338 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4345 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
4348#if 201103L <= YY_CPLUSPLUS
4351 make_PACKET_QUEUE_SIZE (location_type l)
4353 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4360 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
4363#if 201103L <= YY_CPLUSPLUS
4366 make_CONTROL_SOCKET (location_type l)
4368 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4375 return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
4378#if 201103L <= YY_CPLUSPLUS
4381 make_SOCKET_TYPE (location_type l)
4383 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4393#if 201103L <= YY_CPLUSPLUS
4396 make_SOCKET_NAME (location_type l)
4398 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4408#if 201103L <= YY_CPLUSPLUS
4411 make_DHCP_QUEUE_CONTROL (location_type l)
4413 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4420 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
4423#if 201103L <= YY_CPLUSPLUS
4426 make_ENABLE_QUEUE (location_type l)
4428 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4435 return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
4438#if 201103L <= YY_CPLUSPLUS
4441 make_QUEUE_TYPE (location_type l)
4443 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4453#if 201103L <= YY_CPLUSPLUS
4456 make_CAPACITY (location_type l)
4458 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4468#if 201103L <= YY_CPLUSPLUS
4471 make_DHCP_DDNS (location_type l)
4473 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4483#if 201103L <= YY_CPLUSPLUS
4486 make_ENABLE_UPDATES (location_type l)
4488 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4495 return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
4498#if 201103L <= YY_CPLUSPLUS
4501 make_QUALIFYING_SUFFIX (location_type l)
4503 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4510 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
4513#if 201103L <= YY_CPLUSPLUS
4516 make_SERVER_IP (location_type l)
4518 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4528#if 201103L <= YY_CPLUSPLUS
4531 make_SERVER_PORT (location_type l)
4533 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4543#if 201103L <= YY_CPLUSPLUS
4546 make_SENDER_IP (location_type l)
4548 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4558#if 201103L <= YY_CPLUSPLUS
4561 make_SENDER_PORT (location_type l)
4563 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4573#if 201103L <= YY_CPLUSPLUS
4576 make_MAX_QUEUE_SIZE (location_type l)
4578 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4585 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
4588#if 201103L <= YY_CPLUSPLUS
4591 make_NCR_PROTOCOL (location_type l)
4593 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4600 return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
4603#if 201103L <= YY_CPLUSPLUS
4606 make_NCR_FORMAT (location_type l)
4608 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4618#if 201103L <= YY_CPLUSPLUS
4621 make_OVERRIDE_NO_UPDATE (location_type l)
4623 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4630 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
4633#if 201103L <= YY_CPLUSPLUS
4636 make_OVERRIDE_CLIENT_UPDATE (location_type l)
4638 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4645 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
4648#if 201103L <= YY_CPLUSPLUS
4651 make_REPLACE_CLIENT_NAME (location_type l)
4653 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4660 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
4663#if 201103L <= YY_CPLUSPLUS
4666 make_GENERATED_PREFIX (location_type l)
4668 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4675 return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
4678#if 201103L <= YY_CPLUSPLUS
4681 make_UDP (location_type l)
4683 return symbol_type (token::TOKEN_UDP, std::move (l));
4693#if 201103L <= YY_CPLUSPLUS
4696 make_TCP (location_type l)
4698 return symbol_type (token::TOKEN_TCP, std::move (l));
4708#if 201103L <= YY_CPLUSPLUS
4711 make_JSON (location_type l)
4713 return symbol_type (token::TOKEN_JSON, std::move (l));
4723#if 201103L <= YY_CPLUSPLUS
4726 make_WHEN_PRESENT (location_type l)
4728 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4735 return symbol_type (token::TOKEN_WHEN_PRESENT, l);
4738#if 201103L <= YY_CPLUSPLUS
4741 make_NEVER (location_type l)
4743 return symbol_type (token::TOKEN_NEVER, std::move (l));
4753#if 201103L <= YY_CPLUSPLUS
4756 make_ALWAYS (location_type l)
4758 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4768#if 201103L <= YY_CPLUSPLUS
4771 make_WHEN_NOT_PRESENT (location_type l)
4773 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4780 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
4783#if 201103L <= YY_CPLUSPLUS
4786 make_HOSTNAME_CHAR_SET (location_type l)
4788 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4795 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
4798#if 201103L <= YY_CPLUSPLUS
4801 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4803 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4810 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
4813#if 201103L <= YY_CPLUSPLUS
4816 make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
4818 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
4825 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, l);
4828#if 201103L <= YY_CPLUSPLUS
4831 make_IP_RESERVATIONS_UNIQUE (location_type l)
4833 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4840 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
4843#if 201103L <= YY_CPLUSPLUS
4846 make_RESERVATIONS_LOOKUP_FIRST (location_type l)
4848 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
4855 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, l);
4858#if 201103L <= YY_CPLUSPLUS
4861 make_LOGGERS (location_type l)
4863 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4873#if 201103L <= YY_CPLUSPLUS
4876 make_OUTPUT_OPTIONS (location_type l)
4878 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4885 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
4888#if 201103L <= YY_CPLUSPLUS
4891 make_OUTPUT (location_type l)
4893 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4903#if 201103L <= YY_CPLUSPLUS
4906 make_DEBUGLEVEL (location_type l)
4908 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4918#if 201103L <= YY_CPLUSPLUS
4921 make_SEVERITY (location_type l)
4923 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4933#if 201103L <= YY_CPLUSPLUS
4936 make_FLUSH (location_type l)
4938 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4948#if 201103L <= YY_CPLUSPLUS
4951 make_MAXSIZE (location_type l)
4953 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4963#if 201103L <= YY_CPLUSPLUS
4966 make_MAXVER (location_type l)
4968 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4978#if 201103L <= YY_CPLUSPLUS
4981 make_PATTERN (location_type l)
4983 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4993#if 201103L <= YY_CPLUSPLUS
4996 make_COMPATIBILITY (location_type l)
4998 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
5005 return symbol_type (token::TOKEN_COMPATIBILITY, l);
5008#if 201103L <= YY_CPLUSPLUS
5011 make_LENIENT_OPTION_PARSING (location_type l)
5013 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
5020 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, l);
5023#if 201103L <= YY_CPLUSPLUS
5026 make_TOPLEVEL_JSON (location_type l)
5028 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
5035 return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
5038#if 201103L <= YY_CPLUSPLUS
5041 make_TOPLEVEL_DHCP6 (location_type l)
5043 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
5050 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, l);
5053#if 201103L <= YY_CPLUSPLUS
5056 make_SUB_DHCP6 (location_type l)
5058 return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
5068#if 201103L <= YY_CPLUSPLUS
5071 make_SUB_INTERFACES6 (location_type l)
5073 return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
5080 return symbol_type (token::TOKEN_SUB_INTERFACES6, l);
5083#if 201103L <= YY_CPLUSPLUS
5086 make_SUB_SUBNET6 (location_type l)
5088 return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
5098#if 201103L <= YY_CPLUSPLUS
5101 make_SUB_POOL6 (location_type l)
5103 return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
5113#if 201103L <= YY_CPLUSPLUS
5116 make_SUB_PD_POOL (location_type l)
5118 return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
5128#if 201103L <= YY_CPLUSPLUS
5131 make_SUB_RESERVATION (location_type l)
5133 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
5140 return symbol_type (token::TOKEN_SUB_RESERVATION, l);
5143#if 201103L <= YY_CPLUSPLUS
5146 make_SUB_OPTION_DEFS (location_type l)
5148 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
5155 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
5158#if 201103L <= YY_CPLUSPLUS
5161 make_SUB_OPTION_DEF (location_type l)
5163 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
5170 return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
5173#if 201103L <= YY_CPLUSPLUS
5176 make_SUB_OPTION_DATA (location_type l)
5178 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
5185 return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
5188#if 201103L <= YY_CPLUSPLUS
5191 make_SUB_HOOKS_LIBRARY (location_type l)
5193 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
5200 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
5203#if 201103L <= YY_CPLUSPLUS
5206 make_SUB_DHCP_DDNS (location_type l)
5208 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
5215 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
5218#if 201103L <= YY_CPLUSPLUS
5221 make_SUB_CONFIG_CONTROL (location_type l)
5223 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
5230 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
5233#if 201103L <= YY_CPLUSPLUS
5236 make_STRING (std::string v, location_type l)
5238 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
5248#if 201103L <= YY_CPLUSPLUS
5251 make_INTEGER (int64_t v, location_type l)
5253 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
5263#if 201103L <= YY_CPLUSPLUS
5266 make_FLOAT (
double v, location_type l)
5268 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
5278#if 201103L <= YY_CPLUSPLUS
5281 make_BOOLEAN (
bool v, location_type l)
5283 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
5314#if YY_CPLUSPLUS < 201103L
5323 typedef short state_type;
5326 int yy_syntax_error_arguments_ (
const context& yyctx,
5327 symbol_kind_type yyarg[],
int yyargn)
const;
5331 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
5335 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
5339 static bool yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT;
5343 static bool yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT;
5345 static const short yypact_ninf_;
5346 static const signed char yytable_ninf_;
5351 static symbol_kind_type yytranslate_ (
int t)
YY_NOEXCEPT;
5354 static std::string yytnamerr_ (
const char *yystr);
5357 static const char*
const yytname_[];
5363 static const short yypact_[];
5368 static const short yydefact_[];
5371 static const short yypgoto_[];
5374 static const short yydefgoto_[];
5379 static const short yytable_[];
5381 static const short yycheck_[];
5385 static const short yystos_[];
5388 static const short yyr1_[];
5391 static const signed char yyr2_[];
5396 static const short yyrline_[];
5398 virtual void yy_reduce_print_ (
int r)
const;
5400 virtual void yy_stack_print_ ()
const;
5405 std::ostream* yycdebug_;
5410 template <
typename Base>
5411 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
5418 template <
typename Base>
5419 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
5429 typedef state_type kind_type;
5441 void move (by_state& that);
5449 enum { empty_state = 0 };
5457 struct stack_symbol_type : basic_symbol<by_state>
5460 typedef basic_symbol<by_state> super_type;
5462 stack_symbol_type ();
5464 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
5466 stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) sym);
5467#if YY_CPLUSPLUS < 201103L
5470 stack_symbol_type& operator= (stack_symbol_type& that);
5474 stack_symbol_type& operator= (
const stack_symbol_type& that);
5479 template <
typename T,
typename S = std::vector<T> >
5484 typedef typename S::iterator iterator;
5485 typedef typename S::const_iterator const_iterator;
5486 typedef typename S::size_type size_type;
5487 typedef typename std::ptrdiff_t index_type;
5493#if 201103L <= YY_CPLUSPLUS
5495 stack (
const stack&) =
delete;
5497 stack& operator= (
const stack&) =
delete;
5504 operator[] (index_type i)
const
5506 return seq_[size_type (size () - 1 - i)];
5513 operator[] (index_type i)
5515 return seq_[size_type (size () - 1 - i)];
5524 seq_.push_back (T ());
5525 operator[] (0).move (t);
5547 return index_type (seq_.size ());
5554 return seq_.begin ();
5574 operator[] (index_type i)
const
5576 return stack_[range_ - i];
5580 const stack& stack_;
5585#if YY_CPLUSPLUS < 201103L
5587 stack (
const stack&);
5589 stack& operator= (
const stack&);
5597 typedef stack<stack_symbol_type> stack_type;
5600 stack_type yystack_;
5607 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
5615 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
5644 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5645 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5647 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5648 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5649 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5650 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5651 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5652 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5653 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5655 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5658 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5659 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5660 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5661 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5662 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5663 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5664 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5665 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5668 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5669 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5670 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5671 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5672 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5673 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5674 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5675 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5676 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5677 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5678 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5679 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5680 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5681 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5682 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5683 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5684 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5685 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5686 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5687 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5688 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5689 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5690 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
5691 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
5692 225, 226, 227, 228, 229
5695 const int code_max = 484;
5699 else if (t <= code_max)
5706 template <
typename Base>
5712 switch (this->kind ())
5751 template <
typename Base>
5755 return this->kind ();
5759 template <
typename Base>
5766 template <
typename Base>
5770 super_type::move (s);
5771 switch (this->kind ())
5814#if 201103L <= YY_CPLUSPLUS
5817 : kind_ (that.kind_)
5825 : kind_ (that.kind_)
5830 : kind_ (yytranslate_ (t))
5862 return this->kind ();
5866#line 14 "dhcp6_parser.yy"
5868#line 5869 "dhcp6_parser.h"
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_PURE
symbol_kind_type token() const YY_NOEXCEPT
const symbol_type & lookahead() const YY_NOEXCEPT
const location_type & location() const YY_NOEXCEPT
Present a slice of the top of a stack.
slice(const stack &stack, index_type range) YY_NOEXCEPT
A buffer to store and retrieve objects.
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
const T & as() const YY_NOEXCEPT
Const accessor to a built T (for printer).
T & emplace()
Instantiate an empty T in here.
T & build()
Instantiate an empty T in here.
void copy(const self_type &that)
Copy the content of that to this.
long double yyalign_me_
Strongest alignment constraints.
char yyraw_[size]
A buffer large enough to store any of the semantic values.
T & emplace(const T &t)
Instantiate a T in here from t.
T & as() YY_NOEXCEPT
Accessor to a built T.
~value_type() YY_NOEXCEPT
Destruction, allowed only if empty.
void destroy()
Destroy the stored T.
T & build(const T &t)
Instantiate a T in here from t.
void move(self_type &that)
Move the content of that to this.
value_type() YY_NOEXCEPT
Empty construction.
value_type(YY_RVREF(T) t)
Construct and fill.
value_type self_type
Type of *this.
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_DISABLED(const location_type &l)
static symbol_type make_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_CIPHER_LIST(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_SENDER_PORT(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
static symbol_type make_ALLOCATOR(const location_type &l)
static symbol_type make_DHCP6(const location_type &l)
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_DDNS_CONFLICT_RESOLUTION_MODE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_REQUIRE_ALL(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_ENTERPRISE_ID(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_EN(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_RETRY_ON_STARTUP(const location_type &l)
static symbol_type make_SUB_DHCP6(const location_type &l)
token::token_kind_type token_kind_type
Token kind, as returned by yylex.
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_DELEGATED_LEN(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_INTERFACE_ID(const location_type &l)
static symbol_type make_RESERVATIONS_LOOKUP_FIRST(const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_DATA_DIRECTORY(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_SUB_POOL6(const location_type &l)
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_ALL(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
static symbol_type make_IP_ADDRESSES(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_PREFIX(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
static symbol_type make_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_POOL_ID(const location_type &l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_SUBNET6(const location_type &l)
static symbol_type make_PD_POOLS(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_TEMPLATE_TEST(const location_type &l)
static symbol_type make_MAX_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_TRUST_ANCHOR(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_TIME(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_OVERRIDE_NO_UPDATE(const location_type &l)
value_type semantic_type
Backward compatibility (Bison 3.8).
static symbol_type make_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_SUB_INTERFACES6(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_MIN_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_LLT(const location_type &l)
static symbol_type make_READ_TIMEOUT(const location_type &l)
static symbol_type make_CERT_FILE(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_PARSER6_error(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static const symbol_kind_type YYNTOKENS
The number of tokens.
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_TCP_USER_TIMEOUT(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_NEVER_SEND(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
location location_type
Symbol locations.
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
static symbol_type make_OUT_OF_POOL(const location_type &l)
static symbol_type make_SUB_SUBNET6(const location_type &l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_EXCLUDED_PREFIX(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_MYSQL(const location_type &l)
static symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_MEMFILE(const location_type &l)
static symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_LEASE_DATABASE(const location_type &l)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_HTYPE(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_PREFIX_LEN(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_IDENTIFIER(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_GLOBAL(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_RETRY_WAIT_TIME(const location_type &l)
static symbol_type make_LL(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_DHCP_QUEUE_CONTROL(const location_type &l)
static std::string symbol_name(symbol_kind_type yysymbol)
The user-facing name of the symbol whose (internal) number is YYSYMBOL.
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
static symbol_type make_EARLY_GLOBAL_RESERVATIONS_LOOKUP(const location_type &l)
static symbol_type make_SUB_PD_POOL(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_POSTGRESQL(const location_type &l)
static symbol_type make_CHECK_EXISTS_WITH_DHCID(const location_type &l)
static symbol_type make_KEY_FILE(const location_type &l)
static symbol_type make_GENERATED_PREFIX(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_TOPLEVEL_DHCP6(const location_type &l)
static symbol_type make_SERVER_ID(const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_PARSER6_UNDEF(const location_type &l)
static symbol_type make_RELAY_SUPPLIED_OPTIONS(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
static symbol_type make_PD_ALLOCATOR(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_NO_CHECK_WITH_DHCID(const location_type &l)
static symbol_type make_WRITE_TIMEOUT(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_DDNS_TTL_PERCENT(const location_type &l)
static symbol_type make_EXTENDED_INFO_CHECKS(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
static symbol_type make_NO_CHECK_WITHOUT_DHCID(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_PREFIXES(const location_type &l)
static symbol_type make_RESERVATION_MODE(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_MAC_SOURCES(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_TEST(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_MAX_RETRIES(const location_type &l)
static symbol_type make_RAPID_COMMIT(const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_EXCLUDED_PREFIX_LEN(const location_type &l)
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
Evaluation context, an interface to the expression evaluation.
Forward declaration of the ParserContext class.
boost::shared_ptr< Element > ElementPtr
Defines the logger used by the top-level component of kea-lfc.
value_type value
The semantic value.
location_type location
The location.
basic_symbol() YY_NOEXCEPT
Default constructor.
basic_symbol(typename Base::kind_type t, const int64_t &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const ElementPtr &v, const location_type &l)
void move(basic_symbol &s)
Destructive move, s is emptied into this.
basic_symbol(typename Base::kind_type t, const location_type &l)
Constructors for typed symbols.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
bool empty() const YY_NOEXCEPT
Whether empty.
~basic_symbol()
Destroy the symbol.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
basic_symbol(typename Base::kind_type t, const std::string &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
Base super_type
Alias to Base.
Type access provider for token (enum) based symbols.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
void move(by_kind &that)
Steal the symbol kind from that.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
token_kind_type kind_type
The symbol kind as needed by the constructor.
by_kind() YY_NOEXCEPT
Default constructor.
symbol_kind_type kind_
The symbol kind.
void clear() YY_NOEXCEPT
Record that this symbol is empty.
@ S_ddns_conflict_resolution_mode_value
@ YYNTOKENS
Number of tokens.
@ S_ddns_replace_client_name_value
"External" symbols: returned by the scanner.
symbol_type() YY_NOEXCEPT
Empty symbol.
basic_symbol< by_kind > super_type
Superclass.
Syntax errors thrown from user actions.
syntax_error(const location_type &l, const std::string &m)
syntax_error(const syntax_error &s)
~syntax_error() YY_NOEXCEPT YY_NOTHROW
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).