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);
439 char dummy2[
sizeof (bool)];
442 char dummy3[
sizeof (double)];
445 char dummy4[
sizeof (int64_t)];
448 char dummy5[
sizeof (std::string)];
452 enum { size =
sizeof (union_type) };
464 const std::type_info *yytypeid_;
478 : std::runtime_error (m)
483 : std::runtime_error (s.what ())
497 TOKEN_PARSER6_EMPTY = -2,
499 TOKEN_PARSER6_error = 256,
500 TOKEN_PARSER6_UNDEF = 257,
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,
509 TOKEN_DATA_DIRECTORY = 266,
510 TOKEN_CONFIG_CONTROL = 267,
511 TOKEN_CONFIG_DATABASES = 268,
512 TOKEN_CONFIG_FETCH_WAIT_TIME = 269,
513 TOKEN_INTERFACES_CONFIG = 270,
514 TOKEN_INTERFACES = 271,
515 TOKEN_RE_DETECT = 272,
516 TOKEN_SERVICE_SOCKETS_REQUIRE_ALL = 273,
517 TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME = 274,
518 TOKEN_SERVICE_SOCKETS_MAX_RETRIES = 275,
519 TOKEN_LEASE_DATABASE = 276,
520 TOKEN_HOSTS_DATABASE = 277,
521 TOKEN_HOSTS_DATABASES = 278,
525 TOKEN_POSTGRESQL = 282,
527 TOKEN_PASSWORD = 284,
531 TOKEN_LFC_INTERVAL = 288,
532 TOKEN_READONLY = 289,
533 TOKEN_CONNECT_TIMEOUT = 290,
534 TOKEN_MAX_RECONNECT_TRIES = 291,
535 TOKEN_RECONNECT_WAIT_TIME = 292,
537 TOKEN_STOP_RETRY_EXIT = 294,
538 TOKEN_SERVE_RETRY_EXIT = 295,
539 TOKEN_SERVE_RETRY_CONTINUE = 296,
540 TOKEN_MAX_ROW_ERRORS = 297,
541 TOKEN_TRUST_ANCHOR = 298,
542 TOKEN_CERT_FILE = 299,
543 TOKEN_KEY_FILE = 300,
544 TOKEN_CIPHER_LIST = 301,
545 TOKEN_PREFERRED_LIFETIME = 302,
546 TOKEN_MIN_PREFERRED_LIFETIME = 303,
547 TOKEN_MAX_PREFERRED_LIFETIME = 304,
548 TOKEN_VALID_LIFETIME = 305,
549 TOKEN_MIN_VALID_LIFETIME = 306,
550 TOKEN_MAX_VALID_LIFETIME = 307,
551 TOKEN_RENEW_TIMER = 308,
552 TOKEN_REBIND_TIMER = 309,
553 TOKEN_CALCULATE_TEE_TIMES = 310,
554 TOKEN_T1_PERCENT = 311,
555 TOKEN_T2_PERCENT = 312,
556 TOKEN_CACHE_THRESHOLD = 313,
557 TOKEN_CACHE_MAX_AGE = 314,
558 TOKEN_DECLINE_PROBATION_PERIOD = 315,
559 TOKEN_SERVER_TAG = 316,
560 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 317,
561 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 318,
562 TOKEN_DDNS_SEND_UPDATES = 319,
563 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 320,
564 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 321,
565 TOKEN_DDNS_REPLACE_CLIENT_NAME = 322,
566 TOKEN_DDNS_GENERATED_PREFIX = 323,
567 TOKEN_DDNS_QUALIFYING_SUFFIX = 324,
568 TOKEN_DDNS_UPDATE_ON_RENEW = 325,
569 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 326,
570 TOKEN_STORE_EXTENDED_INFO = 327,
572 TOKEN_OPTION_DEF = 329,
573 TOKEN_OPTION_DATA = 330,
578 TOKEN_CSV_FORMAT = 335,
579 TOKEN_ALWAYS_SEND = 336,
580 TOKEN_RECORD_TYPES = 337,
581 TOKEN_ENCAPSULATE = 338,
583 TOKEN_PARKED_PACKET_LIMIT = 340,
584 TOKEN_SHARED_NETWORKS = 341,
587 TOKEN_PD_POOLS = 344,
589 TOKEN_PREFIX_LEN = 346,
590 TOKEN_EXCLUDED_PREFIX = 347,
591 TOKEN_EXCLUDED_PREFIX_LEN = 348,
592 TOKEN_DELEGATED_LEN = 349,
593 TOKEN_USER_CONTEXT = 350,
596 TOKEN_INTERFACE = 353,
597 TOKEN_INTERFACE_ID = 354,
599 TOKEN_RAPID_COMMIT = 356,
600 TOKEN_RESERVATION_MODE = 357,
601 TOKEN_DISABLED = 358,
602 TOKEN_OUT_OF_POOL = 359,
605 TOKEN_RESERVATIONS_GLOBAL = 362,
606 TOKEN_RESERVATIONS_IN_SUBNET = 363,
607 TOKEN_RESERVATIONS_OUT_OF_POOL = 364,
608 TOKEN_MAC_SOURCES = 365,
609 TOKEN_RELAY_SUPPLIED_OPTIONS = 366,
610 TOKEN_HOST_RESERVATION_IDENTIFIERS = 367,
611 TOKEN_SANITY_CHECKS = 368,
612 TOKEN_LEASE_CHECKS = 369,
613 TOKEN_CLIENT_CLASSES = 370,
614 TOKEN_REQUIRE_CLIENT_CLASSES = 371,
616 TOKEN_ONLY_IF_REQUIRED = 373,
617 TOKEN_CLIENT_CLASS = 374,
618 TOKEN_RESERVATIONS = 375,
619 TOKEN_IP_ADDRESSES = 376,
620 TOKEN_PREFIXES = 377,
622 TOKEN_HW_ADDRESS = 379,
623 TOKEN_HOSTNAME = 380,
626 TOKEN_IP_ADDRESS = 383,
627 TOKEN_HOOKS_LIBRARIES = 384,
629 TOKEN_PARAMETERS = 386,
630 TOKEN_EXPIRED_LEASES_PROCESSING = 387,
631 TOKEN_RECLAIM_TIMER_WAIT_TIME = 388,
632 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 389,
633 TOKEN_HOLD_RECLAIMED_TIME = 390,
634 TOKEN_MAX_RECLAIM_LEASES = 391,
635 TOKEN_MAX_RECLAIM_TIME = 392,
636 TOKEN_UNWARNED_RECLAIM_CYCLES = 393,
637 TOKEN_SERVER_ID = 394,
641 TOKEN_IDENTIFIER = 398,
644 TOKEN_ENTERPRISE_ID = 401,
645 TOKEN_DHCP4O6_PORT = 402,
646 TOKEN_DHCP_MULTI_THREADING = 403,
647 TOKEN_ENABLE_MULTI_THREADING = 404,
648 TOKEN_THREAD_POOL_SIZE = 405,
649 TOKEN_PACKET_QUEUE_SIZE = 406,
650 TOKEN_CONTROL_SOCKET = 407,
651 TOKEN_SOCKET_TYPE = 408,
652 TOKEN_SOCKET_NAME = 409,
653 TOKEN_DHCP_QUEUE_CONTROL = 410,
654 TOKEN_ENABLE_QUEUE = 411,
655 TOKEN_QUEUE_TYPE = 412,
656 TOKEN_CAPACITY = 413,
657 TOKEN_DHCP_DDNS = 414,
658 TOKEN_ENABLE_UPDATES = 415,
659 TOKEN_QUALIFYING_SUFFIX = 416,
660 TOKEN_SERVER_IP = 417,
661 TOKEN_SERVER_PORT = 418,
662 TOKEN_SENDER_IP = 419,
663 TOKEN_SENDER_PORT = 420,
664 TOKEN_MAX_QUEUE_SIZE = 421,
665 TOKEN_NCR_PROTOCOL = 422,
666 TOKEN_NCR_FORMAT = 423,
667 TOKEN_OVERRIDE_NO_UPDATE = 424,
668 TOKEN_OVERRIDE_CLIENT_UPDATE = 425,
669 TOKEN_REPLACE_CLIENT_NAME = 426,
670 TOKEN_GENERATED_PREFIX = 427,
674 TOKEN_WHEN_PRESENT = 431,
677 TOKEN_WHEN_NOT_PRESENT = 434,
678 TOKEN_HOSTNAME_CHAR_SET = 435,
679 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 436,
680 TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 437,
681 TOKEN_IP_RESERVATIONS_UNIQUE = 438,
682 TOKEN_RESERVATIONS_LOOKUP_FIRST = 439,
684 TOKEN_OUTPUT_OPTIONS = 441,
686 TOKEN_DEBUGLEVEL = 443,
687 TOKEN_SEVERITY = 444,
692 TOKEN_COMPATIBILITY = 449,
693 TOKEN_LENIENT_OPTION_PARSING = 450,
694 TOKEN_TOPLEVEL_JSON = 451,
695 TOKEN_TOPLEVEL_DHCP6 = 452,
696 TOKEN_SUB_DHCP6 = 453,
697 TOKEN_SUB_INTERFACES6 = 454,
698 TOKEN_SUB_SUBNET6 = 455,
699 TOKEN_SUB_POOL6 = 456,
700 TOKEN_SUB_PD_POOL = 457,
701 TOKEN_SUB_RESERVATION = 458,
702 TOKEN_SUB_OPTION_DEFS = 459,
703 TOKEN_SUB_OPTION_DEF = 460,
704 TOKEN_SUB_OPTION_DATA = 461,
705 TOKEN_SUB_HOOKS_LIBRARY = 462,
706 TOKEN_SUB_DHCP_DDNS = 463,
707 TOKEN_SUB_CONFIG_CONTROL = 464,
735 S_LSQUARE_BRACKET = 5,
736 S_RSQUARE_BRACKET = 6,
737 S_LCURLY_BRACKET = 7,
738 S_RCURLY_BRACKET = 8,
741 S_DATA_DIRECTORY = 11,
742 S_CONFIG_CONTROL = 12,
743 S_CONFIG_DATABASES = 13,
744 S_CONFIG_FETCH_WAIT_TIME = 14,
745 S_INTERFACES_CONFIG = 15,
748 S_SERVICE_SOCKETS_REQUIRE_ALL = 18,
749 S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 19,
750 S_SERVICE_SOCKETS_MAX_RETRIES = 20,
751 S_LEASE_DATABASE = 21,
752 S_HOSTS_DATABASE = 22,
753 S_HOSTS_DATABASES = 23,
765 S_CONNECT_TIMEOUT = 35,
766 S_MAX_RECONNECT_TRIES = 36,
767 S_RECONNECT_WAIT_TIME = 37,
769 S_STOP_RETRY_EXIT = 39,
770 S_SERVE_RETRY_EXIT = 40,
771 S_SERVE_RETRY_CONTINUE = 41,
772 S_MAX_ROW_ERRORS = 42,
777 S_PREFERRED_LIFETIME = 47,
778 S_MIN_PREFERRED_LIFETIME = 48,
779 S_MAX_PREFERRED_LIFETIME = 49,
780 S_VALID_LIFETIME = 50,
781 S_MIN_VALID_LIFETIME = 51,
782 S_MAX_VALID_LIFETIME = 52,
785 S_CALCULATE_TEE_TIMES = 55,
788 S_CACHE_THRESHOLD = 58,
789 S_CACHE_MAX_AGE = 59,
790 S_DECLINE_PROBATION_PERIOD = 60,
792 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 62,
793 S_STATISTIC_DEFAULT_SAMPLE_AGE = 63,
794 S_DDNS_SEND_UPDATES = 64,
795 S_DDNS_OVERRIDE_NO_UPDATE = 65,
796 S_DDNS_OVERRIDE_CLIENT_UPDATE = 66,
797 S_DDNS_REPLACE_CLIENT_NAME = 67,
798 S_DDNS_GENERATED_PREFIX = 68,
799 S_DDNS_QUALIFYING_SUFFIX = 69,
800 S_DDNS_UPDATE_ON_RENEW = 70,
801 S_DDNS_USE_CONFLICT_RESOLUTION = 71,
802 S_STORE_EXTENDED_INFO = 72,
815 S_PARKED_PACKET_LIMIT = 85,
816 S_SHARED_NETWORKS = 86,
822 S_EXCLUDED_PREFIX = 92,
823 S_EXCLUDED_PREFIX_LEN = 93,
824 S_DELEGATED_LEN = 94,
831 S_RAPID_COMMIT = 101,
832 S_RESERVATION_MODE = 102,
837 S_RESERVATIONS_GLOBAL = 107,
838 S_RESERVATIONS_IN_SUBNET = 108,
839 S_RESERVATIONS_OUT_OF_POOL = 109,
841 S_RELAY_SUPPLIED_OPTIONS = 111,
842 S_HOST_RESERVATION_IDENTIFIERS = 112,
843 S_SANITY_CHECKS = 113,
844 S_LEASE_CHECKS = 114,
845 S_CLIENT_CLASSES = 115,
846 S_REQUIRE_CLIENT_CLASSES = 116,
848 S_ONLY_IF_REQUIRED = 118,
849 S_CLIENT_CLASS = 119,
850 S_RESERVATIONS = 120,
851 S_IP_ADDRESSES = 121,
859 S_HOOKS_LIBRARIES = 129,
862 S_EXPIRED_LEASES_PROCESSING = 132,
863 S_RECLAIM_TIMER_WAIT_TIME = 133,
864 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 134,
865 S_HOLD_RECLAIMED_TIME = 135,
866 S_MAX_RECLAIM_LEASES = 136,
867 S_MAX_RECLAIM_TIME = 137,
868 S_UNWARNED_RECLAIM_CYCLES = 138,
876 S_ENTERPRISE_ID = 146,
877 S_DHCP4O6_PORT = 147,
878 S_DHCP_MULTI_THREADING = 148,
879 S_ENABLE_MULTI_THREADING = 149,
880 S_THREAD_POOL_SIZE = 150,
881 S_PACKET_QUEUE_SIZE = 151,
882 S_CONTROL_SOCKET = 152,
885 S_DHCP_QUEUE_CONTROL = 155,
886 S_ENABLE_QUEUE = 156,
890 S_ENABLE_UPDATES = 160,
891 S_QUALIFYING_SUFFIX = 161,
896 S_MAX_QUEUE_SIZE = 166,
897 S_NCR_PROTOCOL = 167,
899 S_OVERRIDE_NO_UPDATE = 169,
900 S_OVERRIDE_CLIENT_UPDATE = 170,
901 S_REPLACE_CLIENT_NAME = 171,
902 S_GENERATED_PREFIX = 172,
906 S_WHEN_PRESENT = 176,
909 S_WHEN_NOT_PRESENT = 179,
910 S_HOSTNAME_CHAR_SET = 180,
911 S_HOSTNAME_CHAR_REPLACEMENT = 181,
912 S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 182,
913 S_IP_RESERVATIONS_UNIQUE = 183,
914 S_RESERVATIONS_LOOKUP_FIRST = 184,
916 S_OUTPUT_OPTIONS = 186,
924 S_COMPATIBILITY = 194,
925 S_LENIENT_OPTION_PARSING = 195,
926 S_TOPLEVEL_JSON = 196,
927 S_TOPLEVEL_DHCP6 = 197,
929 S_SUB_INTERFACES6 = 199,
933 S_SUB_RESERVATION = 203,
934 S_SUB_OPTION_DEFS = 204,
935 S_SUB_OPTION_DEF = 205,
936 S_SUB_OPTION_DATA = 206,
937 S_SUB_HOOKS_LIBRARY = 207,
938 S_SUB_DHCP_DDNS = 208,
939 S_SUB_CONFIG_CONTROL = 209,
966 S_not_empty_map = 236,
967 S_list_generic = 237,
969 S_list_content = 239,
970 S_not_empty_list = 240,
971 S_list_strings = 241,
973 S_list_strings_content = 243,
974 S_not_empty_list_strings = 244,
975 S_unknown_map_entry = 245,
978 S_global_object = 248,
980 S_global_object_comma = 250,
983 S_global_params = 253,
984 S_global_param = 254,
985 S_data_directory = 255,
987 S_preferred_lifetime = 257,
988 S_min_preferred_lifetime = 258,
989 S_max_preferred_lifetime = 259,
990 S_valid_lifetime = 260,
991 S_min_valid_lifetime = 261,
992 S_max_valid_lifetime = 262,
994 S_rebind_timer = 264,
995 S_calculate_tee_times = 265,
998 S_cache_threshold = 268,
999 S_cache_max_age = 269,
1000 S_decline_probation_period = 270,
1001 S_ddns_send_updates = 271,
1002 S_ddns_override_no_update = 272,
1003 S_ddns_override_client_update = 273,
1004 S_ddns_replace_client_name = 274,
1006 S_ddns_replace_client_name_value = 276,
1007 S_ddns_generated_prefix = 277,
1009 S_ddns_qualifying_suffix = 279,
1011 S_ddns_update_on_renew = 281,
1012 S_ddns_use_conflict_resolution = 282,
1013 S_hostname_char_set = 283,
1015 S_hostname_char_replacement = 285,
1017 S_store_extended_info = 287,
1018 S_statistic_default_sample_count = 288,
1019 S_statistic_default_sample_age = 289,
1022 S_parked_packet_limit = 292,
1023 S_early_global_reservations_lookup = 293,
1024 S_ip_reservations_unique = 294,
1025 S_reservations_lookup_first = 295,
1026 S_interfaces_config = 296,
1028 S_sub_interfaces6 = 298,
1030 S_interfaces_config_params = 300,
1031 S_interfaces_config_param = 301,
1032 S_interfaces_list = 302,
1035 S_service_sockets_require_all = 305,
1036 S_service_sockets_retry_wait_time = 306,
1037 S_service_sockets_max_retries = 307,
1038 S_lease_database = 308,
1040 S_hosts_database = 310,
1042 S_hosts_databases = 312,
1044 S_database_list = 314,
1045 S_not_empty_database_list = 315,
1048 S_database_map_params = 318,
1049 S_database_map_param = 319,
1050 S_database_type = 320,
1063 S_lfc_interval = 333,
1065 S_connect_timeout = 335,
1066 S_reconnect_wait_time = 336,
1069 S_on_fail_mode = 339,
1070 S_max_row_errors = 340,
1071 S_max_reconnect_tries = 341,
1072 S_trust_anchor = 342,
1078 S_cipher_list = 348,
1080 S_sanity_checks = 350,
1082 S_sanity_checks_params = 352,
1083 S_sanity_checks_param = 353,
1084 S_lease_checks = 354,
1086 S_mac_sources = 356,
1088 S_mac_sources_list = 358,
1089 S_mac_sources_value = 359,
1092 S_host_reservation_identifiers = 362,
1094 S_host_reservation_identifiers_list = 364,
1095 S_host_reservation_identifier = 365,
1096 S_hw_address_id = 366,
1098 S_relay_supplied_options = 368,
1100 S_dhcp_multi_threading = 370,
1102 S_multi_threading_params = 372,
1103 S_multi_threading_param = 373,
1104 S_enable_multi_threading = 374,
1105 S_thread_pool_size = 375,
1106 S_packet_queue_size = 376,
1107 S_hooks_libraries = 377,
1109 S_hooks_libraries_list = 379,
1110 S_not_empty_hooks_libraries_list = 380,
1111 S_hooks_library = 381,
1113 S_sub_hooks_library = 383,
1115 S_hooks_params = 385,
1116 S_hooks_param = 386,
1121 S_expired_leases_processing = 391,
1123 S_expired_leases_params = 393,
1124 S_expired_leases_param = 394,
1125 S_reclaim_timer_wait_time = 395,
1126 S_flush_reclaimed_timer_wait_time = 396,
1127 S_hold_reclaimed_time = 397,
1128 S_max_reclaim_leases = 398,
1129 S_max_reclaim_time = 399,
1130 S_unwarned_reclaim_cycles = 400,
1131 S_subnet6_list = 401,
1133 S_subnet6_list_content = 403,
1134 S_not_empty_subnet6_list = 404,
1137 S_sub_subnet6 = 407,
1139 S_subnet6_params = 409,
1140 S_subnet6_param = 410,
1145 S_interface_id = 415,
1147 S_client_class = 417,
1149 S_require_client_classes = 419,
1151 S_reservations_global = 421,
1152 S_reservations_in_subnet = 422,
1153 S_reservations_out_of_pool = 423,
1154 S_reservation_mode = 424,
1158 S_rapid_commit = 428,
1159 S_shared_networks = 429,
1161 S_shared_networks_content = 431,
1162 S_shared_networks_list = 432,
1163 S_shared_network = 433,
1165 S_shared_network_params = 435,
1166 S_shared_network_param = 436,
1167 S_option_def_list = 437,
1169 S_sub_option_def_list = 439,
1171 S_option_def_list_content = 441,
1172 S_not_empty_option_def_list = 442,
1173 S_option_def_entry = 443,
1175 S_sub_option_def = 445,
1177 S_option_def_params = 447,
1178 S_not_empty_option_def_params = 448,
1179 S_option_def_param = 449,
1180 S_option_def_name = 450,
1182 S_option_def_code = 452,
1183 S_option_def_type = 453,
1185 S_option_def_record_types = 455,
1189 S_option_def_space = 459,
1190 S_option_def_encapsulate = 460,
1192 S_option_def_array = 462,
1193 S_option_data_list = 463,
1195 S_option_data_list_content = 465,
1196 S_not_empty_option_data_list = 466,
1197 S_option_data_entry = 467,
1199 S_sub_option_data = 469,
1201 S_option_data_params = 471,
1202 S_not_empty_option_data_params = 472,
1203 S_option_data_param = 473,
1204 S_option_data_name = 474,
1205 S_option_data_data = 475,
1207 S_option_data_code = 477,
1208 S_option_data_space = 478,
1209 S_option_data_csv_format = 479,
1210 S_option_data_always_send = 480,
1213 S_pools_list_content = 483,
1214 S_not_empty_pools_list = 484,
1215 S_pool_list_entry = 485,
1219 S_pool_params = 489,
1223 S_user_context = 493,
1227 S_pd_pools_list = 497,
1229 S_pd_pools_list_content = 499,
1230 S_not_empty_pd_pools_list = 500,
1231 S_pd_pool_entry = 501,
1233 S_sub_pd_pool = 503,
1235 S_pd_pool_params = 505,
1236 S_pd_pool_param = 506,
1239 S_pd_prefix_len = 509,
1240 S_excluded_prefix = 510,
1242 S_excluded_prefix_len = 512,
1243 S_pd_delegated_len = 513,
1244 S_reservations = 514,
1246 S_reservations_list = 516,
1247 S_not_empty_reservations_list = 517,
1248 S_reservation = 518,
1250 S_sub_reservation = 520,
1252 S_reservation_params = 522,
1253 S_not_empty_reservation_params = 523,
1254 S_reservation_param = 524,
1255 S_ip_addresses = 525,
1265 S_flex_id_value = 535,
1267 S_reservation_client_classes = 537,
1274 S_client_classes = 544,
1276 S_client_classes_list = 546,
1277 S_client_class_entry = 547,
1279 S_client_class_params = 549,
1280 S_not_empty_client_class_params = 550,
1281 S_client_class_param = 551,
1282 S_client_class_name = 552,
1283 S_client_class_test = 553,
1285 S_only_if_required = 555,
1288 S_server_id_params = 558,
1289 S_server_id_param = 559,
1290 S_server_id_type = 560,
1297 S_enterprise_id = 567,
1298 S_dhcp4o6_port = 568,
1299 S_control_socket = 569,
1301 S_control_socket_params = 571,
1302 S_control_socket_param = 572,
1303 S_socket_type = 573,
1305 S_socket_name = 575,
1307 S_dhcp_queue_control = 577,
1309 S_queue_control_params = 579,
1310 S_queue_control_param = 580,
1311 S_enable_queue = 581,
1315 S_arbitrary_map_entry = 585,
1319 S_sub_dhcp_ddns = 589,
1321 S_dhcp_ddns_params = 591,
1322 S_dhcp_ddns_param = 592,
1323 S_enable_updates = 593,
1324 S_dep_qualifying_suffix = 594,
1328 S_server_port = 598,
1331 S_sender_port = 601,
1332 S_max_queue_size = 602,
1333 S_ncr_protocol = 603,
1335 S_ncr_protocol_value = 605,
1338 S_dep_override_no_update = 608,
1339 S_dep_override_client_update = 609,
1340 S_dep_replace_client_name = 610,
1342 S_dep_generated_prefix = 612,
1344 S_dep_hostname_char_set = 614,
1346 S_dep_hostname_char_replacement = 616,
1348 S_config_control = 618,
1350 S_sub_config_control = 620,
1352 S_config_control_params = 622,
1353 S_config_control_param = 623,
1354 S_config_databases = 624,
1356 S_config_fetch_wait_time = 626,
1359 S_loggers_entries = 629,
1360 S_logger_entry = 630,
1362 S_logger_params = 632,
1363 S_logger_param = 633,
1367 S_output_options_list = 637,
1369 S_output_options_list_content = 639,
1370 S_output_entry = 640,
1372 S_output_params_list = 642,
1373 S_output_params = 643,
1381 S_compatibility = 651,
1383 S_compatibility_params = 653,
1384 S_compatibility_param = 654,
1385 S_lenient_option_parsing = 655
1401 template <
typename Base>
1413#if 201103L <= YY_CPLUSPLUS
1416 : Base (std::move (that))
1418 , location (std::move (that.location))
1420 switch (this->kind ())
1422 case symbol_kind::S_value:
1423 case symbol_kind::S_map_value:
1424 case symbol_kind::S_ddns_replace_client_name_value:
1425 case symbol_kind::S_db_type:
1426 case symbol_kind::S_on_fail_mode:
1427 case symbol_kind::S_hr_mode:
1428 case symbol_kind::S_duid_type:
1429 case symbol_kind::S_ncr_protocol_value:
1430 value.move<
ElementPtr > (std::move (that.value));
1433 case symbol_kind::S_BOOLEAN:
1434 value.move<
bool > (std::move (that.value));
1437 case symbol_kind::S_FLOAT:
1438 value.move<
double > (std::move (that.value));
1441 case symbol_kind::S_INTEGER:
1442 value.move< int64_t > (std::move (that.value));
1445 case symbol_kind::S_STRING:
1446 value.move< std::string > (std::move (that.value));
1457 basic_symbol (
const basic_symbol& that);
1460#if 201103L <= YY_CPLUSPLUS
1461 basic_symbol (
typename Base::kind_type t, location_type&& l)
1463 , location (std::move (l))
1472#if 201103L <= YY_CPLUSPLUS
1475 , value (std::move (v))
1476 , location (std::move (l))
1486#if 201103L <= YY_CPLUSPLUS
1489 , value (std::move (v))
1490 , location (std::move (l))
1500#if 201103L <= YY_CPLUSPLUS
1503 , value (std::move (v))
1504 , location (std::move (l))
1514#if 201103L <= YY_CPLUSPLUS
1517 , value (std::move (v))
1518 , location (std::move (l))
1528#if 201103L <= YY_CPLUSPLUS
1531 , value (std::move (v))
1532 , location (std::move (l))
1566 case symbol_kind::S_value:
1567 case symbol_kind::S_map_value:
1568 case symbol_kind::S_ddns_replace_client_name_value:
1569 case symbol_kind::S_db_type:
1570 case symbol_kind::S_on_fail_mode:
1571 case symbol_kind::S_hr_mode:
1572 case symbol_kind::S_duid_type:
1573 case symbol_kind::S_ncr_protocol_value:
1574 value.template destroy< ElementPtr > ();
1577 case symbol_kind::S_BOOLEAN:
1578 value.template destroy< bool > ();
1581 case symbol_kind::S_FLOAT:
1582 value.template destroy< double > ();
1585 case symbol_kind::S_INTEGER:
1586 value.template destroy< int64_t > ();
1589 case symbol_kind::S_STRING:
1590 value.template destroy< std::string > ();
1622#if YY_CPLUSPLUS < 201103L
1637#if 201103L <= YY_CPLUSPLUS
1681#if 201103L <= YY_CPLUSPLUS
1689#if !defined _MSC_VER || defined __clang__
1691 || (token::TOKEN_PARSER6_error <= tok && tok <= token::TOKEN_SUB_CONFIG_CONTROL));
1694#if 201103L <= YY_CPLUSPLUS
1702#if !defined _MSC_VER || defined __clang__
1706#if 201103L <= YY_CPLUSPLUS
1714#if !defined _MSC_VER || defined __clang__
1718#if 201103L <= YY_CPLUSPLUS
1726#if !defined _MSC_VER || defined __clang__
1730#if 201103L <= YY_CPLUSPLUS
1738#if !defined _MSC_VER || defined __clang__
1748#if 201103L <= YY_CPLUSPLUS
1761 virtual int parse ();
1767 void set_debug_stream (std::ostream &);
1770 typedef
int debug_level_type;
1774 void set_debug_level (debug_level_type l);
1780 virtual void error (
const location_type& loc,
const std::string& msg);
1783 void error (
const syntax_error& err);
1787 static std::string symbol_name (symbol_kind_type yysymbol);
1790#if 201103L <= YY_CPLUSPLUS
1793 make_END (location_type l)
1795 return symbol_type (token::TOKEN_END, std::move (l));
1805#if 201103L <= YY_CPLUSPLUS
1808 make_PARSER6_error (location_type l)
1810 return symbol_type (token::TOKEN_PARSER6_error, std::move (l));
1817 return symbol_type (token::TOKEN_PARSER6_error, l);
1820#if 201103L <= YY_CPLUSPLUS
1823 make_PARSER6_UNDEF (location_type l)
1825 return symbol_type (token::TOKEN_PARSER6_UNDEF, std::move (l));
1832 return symbol_type (token::TOKEN_PARSER6_UNDEF, l);
1835#if 201103L <= YY_CPLUSPLUS
1838 make_COMMA (location_type l)
1840 return symbol_type (token::TOKEN_COMMA, std::move (l));
1850#if 201103L <= YY_CPLUSPLUS
1853 make_COLON (location_type l)
1855 return symbol_type (token::TOKEN_COLON, std::move (l));
1865#if 201103L <= YY_CPLUSPLUS
1868 make_LSQUARE_BRACKET (location_type l)
1870 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1877 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1880#if 201103L <= YY_CPLUSPLUS
1883 make_RSQUARE_BRACKET (location_type l)
1885 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1892 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1895#if 201103L <= YY_CPLUSPLUS
1898 make_LCURLY_BRACKET (location_type l)
1900 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1907 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1910#if 201103L <= YY_CPLUSPLUS
1913 make_RCURLY_BRACKET (location_type l)
1915 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1922 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1925#if 201103L <= YY_CPLUSPLUS
1928 make_NULL_TYPE (location_type l)
1930 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1940#if 201103L <= YY_CPLUSPLUS
1943 make_DHCP6 (location_type l)
1945 return symbol_type (token::TOKEN_DHCP6, std::move (l));
1955#if 201103L <= YY_CPLUSPLUS
1958 make_DATA_DIRECTORY (location_type l)
1960 return symbol_type (token::TOKEN_DATA_DIRECTORY, std::move (l));
1967 return symbol_type (token::TOKEN_DATA_DIRECTORY, l);
1970#if 201103L <= YY_CPLUSPLUS
1973 make_CONFIG_CONTROL (location_type l)
1975 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
1982 return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
1985#if 201103L <= YY_CPLUSPLUS
1988 make_CONFIG_DATABASES (location_type l)
1990 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
1997 return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
2000#if 201103L <= YY_CPLUSPLUS
2003 make_CONFIG_FETCH_WAIT_TIME (location_type l)
2005 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
2012 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
2015#if 201103L <= YY_CPLUSPLUS
2018 make_INTERFACES_CONFIG (location_type l)
2020 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
2027 return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
2030#if 201103L <= YY_CPLUSPLUS
2033 make_INTERFACES (location_type l)
2035 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
2045#if 201103L <= YY_CPLUSPLUS
2048 make_RE_DETECT (location_type l)
2050 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2060#if 201103L <= YY_CPLUSPLUS
2063 make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2065 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2072 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, l);
2075#if 201103L <= YY_CPLUSPLUS
2078 make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2080 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2087 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, l);
2090#if 201103L <= YY_CPLUSPLUS
2093 make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2095 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2102 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, l);
2105#if 201103L <= YY_CPLUSPLUS
2108 make_LEASE_DATABASE (location_type l)
2110 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2117 return symbol_type (token::TOKEN_LEASE_DATABASE, l);
2120#if 201103L <= YY_CPLUSPLUS
2123 make_HOSTS_DATABASE (location_type l)
2125 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2132 return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
2135#if 201103L <= YY_CPLUSPLUS
2138 make_HOSTS_DATABASES (location_type l)
2140 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2147 return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
2150#if 201103L <= YY_CPLUSPLUS
2153 make_TYPE (location_type l)
2155 return symbol_type (token::TOKEN_TYPE, std::move (l));
2165#if 201103L <= YY_CPLUSPLUS
2168 make_MEMFILE (location_type l)
2170 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2180#if 201103L <= YY_CPLUSPLUS
2183 make_MYSQL (location_type l)
2185 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2195#if 201103L <= YY_CPLUSPLUS
2198 make_POSTGRESQL (location_type l)
2200 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2210#if 201103L <= YY_CPLUSPLUS
2213 make_USER (location_type l)
2215 return symbol_type (token::TOKEN_USER, std::move (l));
2225#if 201103L <= YY_CPLUSPLUS
2228 make_PASSWORD (location_type l)
2230 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2240#if 201103L <= YY_CPLUSPLUS
2243 make_HOST (location_type l)
2245 return symbol_type (token::TOKEN_HOST, std::move (l));
2255#if 201103L <= YY_CPLUSPLUS
2258 make_PORT (location_type l)
2260 return symbol_type (token::TOKEN_PORT, std::move (l));
2270#if 201103L <= YY_CPLUSPLUS
2273 make_PERSIST (location_type l)
2275 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2285#if 201103L <= YY_CPLUSPLUS
2288 make_LFC_INTERVAL (location_type l)
2290 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2297 return symbol_type (token::TOKEN_LFC_INTERVAL, l);
2300#if 201103L <= YY_CPLUSPLUS
2303 make_READONLY (location_type l)
2305 return symbol_type (token::TOKEN_READONLY, std::move (l));
2315#if 201103L <= YY_CPLUSPLUS
2318 make_CONNECT_TIMEOUT (location_type l)
2320 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2327 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
2330#if 201103L <= YY_CPLUSPLUS
2333 make_MAX_RECONNECT_TRIES (location_type l)
2335 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2342 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
2345#if 201103L <= YY_CPLUSPLUS
2348 make_RECONNECT_WAIT_TIME (location_type l)
2350 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2357 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
2360#if 201103L <= YY_CPLUSPLUS
2363 make_ON_FAIL (location_type l)
2365 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2375#if 201103L <= YY_CPLUSPLUS
2378 make_STOP_RETRY_EXIT (location_type l)
2380 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2387 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, l);
2390#if 201103L <= YY_CPLUSPLUS
2393 make_SERVE_RETRY_EXIT (location_type l)
2395 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2402 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, l);
2405#if 201103L <= YY_CPLUSPLUS
2408 make_SERVE_RETRY_CONTINUE (location_type l)
2410 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2417 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, l);
2420#if 201103L <= YY_CPLUSPLUS
2423 make_MAX_ROW_ERRORS (location_type l)
2425 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2432 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
2435#if 201103L <= YY_CPLUSPLUS
2438 make_TRUST_ANCHOR (location_type l)
2440 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2447 return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
2450#if 201103L <= YY_CPLUSPLUS
2453 make_CERT_FILE (location_type l)
2455 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2465#if 201103L <= YY_CPLUSPLUS
2468 make_KEY_FILE (location_type l)
2470 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2480#if 201103L <= YY_CPLUSPLUS
2483 make_CIPHER_LIST (location_type l)
2485 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2495#if 201103L <= YY_CPLUSPLUS
2498 make_PREFERRED_LIFETIME (location_type l)
2500 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, std::move (l));
2507 return symbol_type (token::TOKEN_PREFERRED_LIFETIME, l);
2510#if 201103L <= YY_CPLUSPLUS
2513 make_MIN_PREFERRED_LIFETIME (location_type l)
2515 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, std::move (l));
2522 return symbol_type (token::TOKEN_MIN_PREFERRED_LIFETIME, l);
2525#if 201103L <= YY_CPLUSPLUS
2528 make_MAX_PREFERRED_LIFETIME (location_type l)
2530 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, std::move (l));
2537 return symbol_type (token::TOKEN_MAX_PREFERRED_LIFETIME, l);
2540#if 201103L <= YY_CPLUSPLUS
2543 make_VALID_LIFETIME (location_type l)
2545 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2552 return symbol_type (token::TOKEN_VALID_LIFETIME, l);
2555#if 201103L <= YY_CPLUSPLUS
2558 make_MIN_VALID_LIFETIME (location_type l)
2560 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2567 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
2570#if 201103L <= YY_CPLUSPLUS
2573 make_MAX_VALID_LIFETIME (location_type l)
2575 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2582 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
2585#if 201103L <= YY_CPLUSPLUS
2588 make_RENEW_TIMER (location_type l)
2590 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2600#if 201103L <= YY_CPLUSPLUS
2603 make_REBIND_TIMER (location_type l)
2605 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2612 return symbol_type (token::TOKEN_REBIND_TIMER, l);
2615#if 201103L <= YY_CPLUSPLUS
2618 make_CALCULATE_TEE_TIMES (location_type l)
2620 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2627 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
2630#if 201103L <= YY_CPLUSPLUS
2633 make_T1_PERCENT (location_type l)
2635 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2645#if 201103L <= YY_CPLUSPLUS
2648 make_T2_PERCENT (location_type l)
2650 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2660#if 201103L <= YY_CPLUSPLUS
2663 make_CACHE_THRESHOLD (location_type l)
2665 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2672 return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
2675#if 201103L <= YY_CPLUSPLUS
2678 make_CACHE_MAX_AGE (location_type l)
2680 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2687 return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
2690#if 201103L <= YY_CPLUSPLUS
2693 make_DECLINE_PROBATION_PERIOD (location_type l)
2695 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2702 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
2705#if 201103L <= YY_CPLUSPLUS
2708 make_SERVER_TAG (location_type l)
2710 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2720#if 201103L <= YY_CPLUSPLUS
2723 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
2725 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2732 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
2735#if 201103L <= YY_CPLUSPLUS
2738 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
2740 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2747 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
2750#if 201103L <= YY_CPLUSPLUS
2753 make_DDNS_SEND_UPDATES (location_type l)
2755 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2762 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
2765#if 201103L <= YY_CPLUSPLUS
2768 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
2770 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2777 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
2780#if 201103L <= YY_CPLUSPLUS
2783 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
2785 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2792 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
2795#if 201103L <= YY_CPLUSPLUS
2798 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
2800 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2807 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
2810#if 201103L <= YY_CPLUSPLUS
2813 make_DDNS_GENERATED_PREFIX (location_type l)
2815 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2822 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
2825#if 201103L <= YY_CPLUSPLUS
2828 make_DDNS_QUALIFYING_SUFFIX (location_type l)
2830 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2837 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
2840#if 201103L <= YY_CPLUSPLUS
2843 make_DDNS_UPDATE_ON_RENEW (location_type l)
2845 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2852 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
2855#if 201103L <= YY_CPLUSPLUS
2858 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
2860 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2867 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
2870#if 201103L <= YY_CPLUSPLUS
2873 make_STORE_EXTENDED_INFO (location_type l)
2875 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
2882 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
2885#if 201103L <= YY_CPLUSPLUS
2888 make_SUBNET6 (location_type l)
2890 return symbol_type (token::TOKEN_SUBNET6, std::move (l));
2900#if 201103L <= YY_CPLUSPLUS
2903 make_OPTION_DEF (location_type l)
2905 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
2915#if 201103L <= YY_CPLUSPLUS
2918 make_OPTION_DATA (location_type l)
2920 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
2930#if 201103L <= YY_CPLUSPLUS
2933 make_NAME (location_type l)
2935 return symbol_type (token::TOKEN_NAME, std::move (l));
2945#if 201103L <= YY_CPLUSPLUS
2948 make_DATA (location_type l)
2950 return symbol_type (token::TOKEN_DATA, std::move (l));
2960#if 201103L <= YY_CPLUSPLUS
2963 make_CODE (location_type l)
2965 return symbol_type (token::TOKEN_CODE, std::move (l));
2975#if 201103L <= YY_CPLUSPLUS
2978 make_SPACE (location_type l)
2980 return symbol_type (token::TOKEN_SPACE, std::move (l));
2990#if 201103L <= YY_CPLUSPLUS
2993 make_CSV_FORMAT (location_type l)
2995 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3005#if 201103L <= YY_CPLUSPLUS
3008 make_ALWAYS_SEND (location_type l)
3010 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3020#if 201103L <= YY_CPLUSPLUS
3023 make_RECORD_TYPES (location_type l)
3025 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3032 return symbol_type (token::TOKEN_RECORD_TYPES, l);
3035#if 201103L <= YY_CPLUSPLUS
3038 make_ENCAPSULATE (location_type l)
3040 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3050#if 201103L <= YY_CPLUSPLUS
3053 make_ARRAY (location_type l)
3055 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3065#if 201103L <= YY_CPLUSPLUS
3068 make_PARKED_PACKET_LIMIT (location_type l)
3070 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3077 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, l);
3080#if 201103L <= YY_CPLUSPLUS
3083 make_SHARED_NETWORKS (location_type l)
3085 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3092 return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
3095#if 201103L <= YY_CPLUSPLUS
3098 make_POOLS (location_type l)
3100 return symbol_type (token::TOKEN_POOLS, std::move (l));
3110#if 201103L <= YY_CPLUSPLUS
3113 make_POOL (location_type l)
3115 return symbol_type (token::TOKEN_POOL, std::move (l));
3125#if 201103L <= YY_CPLUSPLUS
3128 make_PD_POOLS (location_type l)
3130 return symbol_type (token::TOKEN_PD_POOLS, std::move (l));
3140#if 201103L <= YY_CPLUSPLUS
3143 make_PREFIX (location_type l)
3145 return symbol_type (token::TOKEN_PREFIX, std::move (l));
3155#if 201103L <= YY_CPLUSPLUS
3158 make_PREFIX_LEN (location_type l)
3160 return symbol_type (token::TOKEN_PREFIX_LEN, std::move (l));
3170#if 201103L <= YY_CPLUSPLUS
3173 make_EXCLUDED_PREFIX (location_type l)
3175 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, std::move (l));
3182 return symbol_type (token::TOKEN_EXCLUDED_PREFIX, l);
3185#if 201103L <= YY_CPLUSPLUS
3188 make_EXCLUDED_PREFIX_LEN (location_type l)
3190 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, std::move (l));
3197 return symbol_type (token::TOKEN_EXCLUDED_PREFIX_LEN, l);
3200#if 201103L <= YY_CPLUSPLUS
3203 make_DELEGATED_LEN (location_type l)
3205 return symbol_type (token::TOKEN_DELEGATED_LEN, std::move (l));
3212 return symbol_type (token::TOKEN_DELEGATED_LEN, l);
3215#if 201103L <= YY_CPLUSPLUS
3218 make_USER_CONTEXT (location_type l)
3220 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3227 return symbol_type (token::TOKEN_USER_CONTEXT, l);
3230#if 201103L <= YY_CPLUSPLUS
3233 make_COMMENT (location_type l)
3235 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3245#if 201103L <= YY_CPLUSPLUS
3248 make_SUBNET (location_type l)
3250 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3260#if 201103L <= YY_CPLUSPLUS
3263 make_INTERFACE (location_type l)
3265 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3275#if 201103L <= YY_CPLUSPLUS
3278 make_INTERFACE_ID (location_type l)
3280 return symbol_type (token::TOKEN_INTERFACE_ID, std::move (l));
3287 return symbol_type (token::TOKEN_INTERFACE_ID, l);
3290#if 201103L <= YY_CPLUSPLUS
3293 make_ID (location_type l)
3295 return symbol_type (token::TOKEN_ID, std::move (l));
3305#if 201103L <= YY_CPLUSPLUS
3308 make_RAPID_COMMIT (location_type l)
3310 return symbol_type (token::TOKEN_RAPID_COMMIT, std::move (l));
3317 return symbol_type (token::TOKEN_RAPID_COMMIT, l);
3320#if 201103L <= YY_CPLUSPLUS
3323 make_RESERVATION_MODE (location_type l)
3325 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3332 return symbol_type (token::TOKEN_RESERVATION_MODE, l);
3335#if 201103L <= YY_CPLUSPLUS
3338 make_DISABLED (location_type l)
3340 return symbol_type (token::TOKEN_DISABLED, std::move (l));
3350#if 201103L <= YY_CPLUSPLUS
3353 make_OUT_OF_POOL (location_type l)
3355 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3365#if 201103L <= YY_CPLUSPLUS
3368 make_GLOBAL (location_type l)
3370 return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3380#if 201103L <= YY_CPLUSPLUS
3383 make_ALL (location_type l)
3385 return symbol_type (token::TOKEN_ALL, std::move (l));
3395#if 201103L <= YY_CPLUSPLUS
3398 make_RESERVATIONS_GLOBAL (location_type l)
3400 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3407 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l);
3410#if 201103L <= YY_CPLUSPLUS
3413 make_RESERVATIONS_IN_SUBNET (location_type l)
3415 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3422 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l);
3425#if 201103L <= YY_CPLUSPLUS
3428 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3430 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3437 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l);
3440#if 201103L <= YY_CPLUSPLUS
3443 make_MAC_SOURCES (location_type l)
3445 return symbol_type (token::TOKEN_MAC_SOURCES, std::move (l));
3455#if 201103L <= YY_CPLUSPLUS
3458 make_RELAY_SUPPLIED_OPTIONS (location_type l)
3460 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, std::move (l));
3467 return symbol_type (token::TOKEN_RELAY_SUPPLIED_OPTIONS, l);
3470#if 201103L <= YY_CPLUSPLUS
3473 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3475 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3482 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
3485#if 201103L <= YY_CPLUSPLUS
3488 make_SANITY_CHECKS (location_type l)
3490 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
3497 return symbol_type (token::TOKEN_SANITY_CHECKS, l);
3500#if 201103L <= YY_CPLUSPLUS
3503 make_LEASE_CHECKS (location_type l)
3505 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
3512 return symbol_type (token::TOKEN_LEASE_CHECKS, l);
3515#if 201103L <= YY_CPLUSPLUS
3518 make_CLIENT_CLASSES (location_type l)
3520 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3527 return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
3530#if 201103L <= YY_CPLUSPLUS
3533 make_REQUIRE_CLIENT_CLASSES (location_type l)
3535 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3542 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
3545#if 201103L <= YY_CPLUSPLUS
3548 make_TEST (location_type l)
3550 return symbol_type (token::TOKEN_TEST, std::move (l));
3560#if 201103L <= YY_CPLUSPLUS
3563 make_ONLY_IF_REQUIRED (location_type l)
3565 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3572 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
3575#if 201103L <= YY_CPLUSPLUS
3578 make_CLIENT_CLASS (location_type l)
3580 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3587 return symbol_type (token::TOKEN_CLIENT_CLASS, l);
3590#if 201103L <= YY_CPLUSPLUS
3593 make_RESERVATIONS (location_type l)
3595 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3602 return symbol_type (token::TOKEN_RESERVATIONS, l);
3605#if 201103L <= YY_CPLUSPLUS
3608 make_IP_ADDRESSES (location_type l)
3610 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3617 return symbol_type (token::TOKEN_IP_ADDRESSES, l);
3620#if 201103L <= YY_CPLUSPLUS
3623 make_PREFIXES (location_type l)
3625 return symbol_type (token::TOKEN_PREFIXES, std::move (l));
3635#if 201103L <= YY_CPLUSPLUS
3638 make_DUID (location_type l)
3640 return symbol_type (token::TOKEN_DUID, std::move (l));
3650#if 201103L <= YY_CPLUSPLUS
3653 make_HW_ADDRESS (location_type l)
3655 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3665#if 201103L <= YY_CPLUSPLUS
3668 make_HOSTNAME (location_type l)
3670 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3680#if 201103L <= YY_CPLUSPLUS
3683 make_FLEX_ID (location_type l)
3685 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3695#if 201103L <= YY_CPLUSPLUS
3698 make_RELAY (location_type l)
3700 return symbol_type (token::TOKEN_RELAY, std::move (l));
3710#if 201103L <= YY_CPLUSPLUS
3713 make_IP_ADDRESS (location_type l)
3715 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3725#if 201103L <= YY_CPLUSPLUS
3728 make_HOOKS_LIBRARIES (location_type l)
3730 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
3737 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
3740#if 201103L <= YY_CPLUSPLUS
3743 make_LIBRARY (location_type l)
3745 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
3755#if 201103L <= YY_CPLUSPLUS
3758 make_PARAMETERS (location_type l)
3760 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
3770#if 201103L <= YY_CPLUSPLUS
3773 make_EXPIRED_LEASES_PROCESSING (location_type l)
3775 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
3782 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
3785#if 201103L <= YY_CPLUSPLUS
3788 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
3790 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
3797 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
3800#if 201103L <= YY_CPLUSPLUS
3803 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
3805 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
3812 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
3815#if 201103L <= YY_CPLUSPLUS
3818 make_HOLD_RECLAIMED_TIME (location_type l)
3820 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
3827 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
3830#if 201103L <= YY_CPLUSPLUS
3833 make_MAX_RECLAIM_LEASES (location_type l)
3835 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
3842 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
3845#if 201103L <= YY_CPLUSPLUS
3848 make_MAX_RECLAIM_TIME (location_type l)
3850 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
3857 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
3860#if 201103L <= YY_CPLUSPLUS
3863 make_UNWARNED_RECLAIM_CYCLES (location_type l)
3865 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
3872 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
3875#if 201103L <= YY_CPLUSPLUS
3878 make_SERVER_ID (location_type l)
3880 return symbol_type (token::TOKEN_SERVER_ID, std::move (l));
3890#if 201103L <= YY_CPLUSPLUS
3893 make_LLT (location_type l)
3895 return symbol_type (token::TOKEN_LLT, std::move (l));
3905#if 201103L <= YY_CPLUSPLUS
3908 make_EN (location_type l)
3910 return symbol_type (token::TOKEN_EN, std::move (l));
3920#if 201103L <= YY_CPLUSPLUS
3923 make_LL (location_type l)
3925 return symbol_type (token::TOKEN_LL, std::move (l));
3935#if 201103L <= YY_CPLUSPLUS
3938 make_IDENTIFIER (location_type l)
3940 return symbol_type (token::TOKEN_IDENTIFIER, std::move (l));
3950#if 201103L <= YY_CPLUSPLUS
3953 make_HTYPE (location_type l)
3955 return symbol_type (token::TOKEN_HTYPE, std::move (l));
3965#if 201103L <= YY_CPLUSPLUS
3968 make_TIME (location_type l)
3970 return symbol_type (token::TOKEN_TIME, std::move (l));
3980#if 201103L <= YY_CPLUSPLUS
3983 make_ENTERPRISE_ID (location_type l)
3985 return symbol_type (token::TOKEN_ENTERPRISE_ID, std::move (l));
3992 return symbol_type (token::TOKEN_ENTERPRISE_ID, l);
3995#if 201103L <= YY_CPLUSPLUS
3998 make_DHCP4O6_PORT (location_type l)
4000 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
4007 return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
4010#if 201103L <= YY_CPLUSPLUS
4013 make_DHCP_MULTI_THREADING (location_type l)
4015 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
4022 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
4025#if 201103L <= YY_CPLUSPLUS
4028 make_ENABLE_MULTI_THREADING (location_type l)
4030 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
4037 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
4040#if 201103L <= YY_CPLUSPLUS
4043 make_THREAD_POOL_SIZE (location_type l)
4045 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
4052 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
4055#if 201103L <= YY_CPLUSPLUS
4058 make_PACKET_QUEUE_SIZE (location_type l)
4060 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
4067 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
4070#if 201103L <= YY_CPLUSPLUS
4073 make_CONTROL_SOCKET (location_type l)
4075 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
4082 return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
4085#if 201103L <= YY_CPLUSPLUS
4088 make_SOCKET_TYPE (location_type l)
4090 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
4100#if 201103L <= YY_CPLUSPLUS
4103 make_SOCKET_NAME (location_type l)
4105 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
4115#if 201103L <= YY_CPLUSPLUS
4118 make_DHCP_QUEUE_CONTROL (location_type l)
4120 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4127 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
4130#if 201103L <= YY_CPLUSPLUS
4133 make_ENABLE_QUEUE (location_type l)
4135 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4142 return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
4145#if 201103L <= YY_CPLUSPLUS
4148 make_QUEUE_TYPE (location_type l)
4150 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4160#if 201103L <= YY_CPLUSPLUS
4163 make_CAPACITY (location_type l)
4165 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4175#if 201103L <= YY_CPLUSPLUS
4178 make_DHCP_DDNS (location_type l)
4180 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4190#if 201103L <= YY_CPLUSPLUS
4193 make_ENABLE_UPDATES (location_type l)
4195 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4202 return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
4205#if 201103L <= YY_CPLUSPLUS
4208 make_QUALIFYING_SUFFIX (location_type l)
4210 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4217 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
4220#if 201103L <= YY_CPLUSPLUS
4223 make_SERVER_IP (location_type l)
4225 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4235#if 201103L <= YY_CPLUSPLUS
4238 make_SERVER_PORT (location_type l)
4240 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4250#if 201103L <= YY_CPLUSPLUS
4253 make_SENDER_IP (location_type l)
4255 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4265#if 201103L <= YY_CPLUSPLUS
4268 make_SENDER_PORT (location_type l)
4270 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4280#if 201103L <= YY_CPLUSPLUS
4283 make_MAX_QUEUE_SIZE (location_type l)
4285 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4292 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
4295#if 201103L <= YY_CPLUSPLUS
4298 make_NCR_PROTOCOL (location_type l)
4300 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4307 return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
4310#if 201103L <= YY_CPLUSPLUS
4313 make_NCR_FORMAT (location_type l)
4315 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4325#if 201103L <= YY_CPLUSPLUS
4328 make_OVERRIDE_NO_UPDATE (location_type l)
4330 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4337 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
4340#if 201103L <= YY_CPLUSPLUS
4343 make_OVERRIDE_CLIENT_UPDATE (location_type l)
4345 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4352 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
4355#if 201103L <= YY_CPLUSPLUS
4358 make_REPLACE_CLIENT_NAME (location_type l)
4360 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4367 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
4370#if 201103L <= YY_CPLUSPLUS
4373 make_GENERATED_PREFIX (location_type l)
4375 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4382 return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
4385#if 201103L <= YY_CPLUSPLUS
4388 make_UDP (location_type l)
4390 return symbol_type (token::TOKEN_UDP, std::move (l));
4400#if 201103L <= YY_CPLUSPLUS
4403 make_TCP (location_type l)
4405 return symbol_type (token::TOKEN_TCP, std::move (l));
4415#if 201103L <= YY_CPLUSPLUS
4418 make_JSON (location_type l)
4420 return symbol_type (token::TOKEN_JSON, std::move (l));
4430#if 201103L <= YY_CPLUSPLUS
4433 make_WHEN_PRESENT (location_type l)
4435 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4442 return symbol_type (token::TOKEN_WHEN_PRESENT, l);
4445#if 201103L <= YY_CPLUSPLUS
4448 make_NEVER (location_type l)
4450 return symbol_type (token::TOKEN_NEVER, std::move (l));
4460#if 201103L <= YY_CPLUSPLUS
4463 make_ALWAYS (location_type l)
4465 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4475#if 201103L <= YY_CPLUSPLUS
4478 make_WHEN_NOT_PRESENT (location_type l)
4480 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4487 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
4490#if 201103L <= YY_CPLUSPLUS
4493 make_HOSTNAME_CHAR_SET (location_type l)
4495 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4502 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
4505#if 201103L <= YY_CPLUSPLUS
4508 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4510 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4517 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
4520#if 201103L <= YY_CPLUSPLUS
4523 make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
4525 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
4532 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, l);
4535#if 201103L <= YY_CPLUSPLUS
4538 make_IP_RESERVATIONS_UNIQUE (location_type l)
4540 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4547 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
4550#if 201103L <= YY_CPLUSPLUS
4553 make_RESERVATIONS_LOOKUP_FIRST (location_type l)
4555 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
4562 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, l);
4565#if 201103L <= YY_CPLUSPLUS
4568 make_LOGGERS (location_type l)
4570 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4580#if 201103L <= YY_CPLUSPLUS
4583 make_OUTPUT_OPTIONS (location_type l)
4585 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4592 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
4595#if 201103L <= YY_CPLUSPLUS
4598 make_OUTPUT (location_type l)
4600 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4610#if 201103L <= YY_CPLUSPLUS
4613 make_DEBUGLEVEL (location_type l)
4615 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4625#if 201103L <= YY_CPLUSPLUS
4628 make_SEVERITY (location_type l)
4630 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4640#if 201103L <= YY_CPLUSPLUS
4643 make_FLUSH (location_type l)
4645 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4655#if 201103L <= YY_CPLUSPLUS
4658 make_MAXSIZE (location_type l)
4660 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4670#if 201103L <= YY_CPLUSPLUS
4673 make_MAXVER (location_type l)
4675 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4685#if 201103L <= YY_CPLUSPLUS
4688 make_PATTERN (location_type l)
4690 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4700#if 201103L <= YY_CPLUSPLUS
4703 make_COMPATIBILITY (location_type l)
4705 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4712 return symbol_type (token::TOKEN_COMPATIBILITY, l);
4715#if 201103L <= YY_CPLUSPLUS
4718 make_LENIENT_OPTION_PARSING (location_type l)
4720 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4727 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, l);
4730#if 201103L <= YY_CPLUSPLUS
4733 make_TOPLEVEL_JSON (location_type l)
4735 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4742 return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
4745#if 201103L <= YY_CPLUSPLUS
4748 make_TOPLEVEL_DHCP6 (location_type l)
4750 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, std::move (l));
4757 return symbol_type (token::TOKEN_TOPLEVEL_DHCP6, l);
4760#if 201103L <= YY_CPLUSPLUS
4763 make_SUB_DHCP6 (location_type l)
4765 return symbol_type (token::TOKEN_SUB_DHCP6, std::move (l));
4775#if 201103L <= YY_CPLUSPLUS
4778 make_SUB_INTERFACES6 (location_type l)
4780 return symbol_type (token::TOKEN_SUB_INTERFACES6, std::move (l));
4787 return symbol_type (token::TOKEN_SUB_INTERFACES6, l);
4790#if 201103L <= YY_CPLUSPLUS
4793 make_SUB_SUBNET6 (location_type l)
4795 return symbol_type (token::TOKEN_SUB_SUBNET6, std::move (l));
4805#if 201103L <= YY_CPLUSPLUS
4808 make_SUB_POOL6 (location_type l)
4810 return symbol_type (token::TOKEN_SUB_POOL6, std::move (l));
4820#if 201103L <= YY_CPLUSPLUS
4823 make_SUB_PD_POOL (location_type l)
4825 return symbol_type (token::TOKEN_SUB_PD_POOL, std::move (l));
4835#if 201103L <= YY_CPLUSPLUS
4838 make_SUB_RESERVATION (location_type l)
4840 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
4847 return symbol_type (token::TOKEN_SUB_RESERVATION, l);
4850#if 201103L <= YY_CPLUSPLUS
4853 make_SUB_OPTION_DEFS (location_type l)
4855 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
4862 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
4865#if 201103L <= YY_CPLUSPLUS
4868 make_SUB_OPTION_DEF (location_type l)
4870 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
4877 return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
4880#if 201103L <= YY_CPLUSPLUS
4883 make_SUB_OPTION_DATA (location_type l)
4885 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
4892 return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
4895#if 201103L <= YY_CPLUSPLUS
4898 make_SUB_HOOKS_LIBRARY (location_type l)
4900 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
4907 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
4910#if 201103L <= YY_CPLUSPLUS
4913 make_SUB_DHCP_DDNS (location_type l)
4915 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
4922 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
4925#if 201103L <= YY_CPLUSPLUS
4928 make_SUB_CONFIG_CONTROL (location_type l)
4930 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
4937 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
4940#if 201103L <= YY_CPLUSPLUS
4943 make_STRING (std::string v, location_type l)
4945 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
4955#if 201103L <= YY_CPLUSPLUS
4958 make_INTEGER (int64_t v, location_type l)
4960 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
4970#if 201103L <= YY_CPLUSPLUS
4973 make_FLOAT (
double v, location_type l)
4975 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
4985#if 201103L <= YY_CPLUSPLUS
4988 make_BOOLEAN (
bool v, location_type l)
4990 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
5021#if YY_CPLUSPLUS < 201103L
5030 typedef short state_type;
5033 int yy_syntax_error_arguments_ (
const context& yyctx,
5034 symbol_kind_type yyarg[],
int yyargn)
const;
5038 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
5042 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
5046 static bool yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT;
5050 static bool yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT;
5052 static const short yypact_ninf_;
5053 static const signed char yytable_ninf_;
5058 static symbol_kind_type yytranslate_ (
int t)
YY_NOEXCEPT;
5061 static std::string yytnamerr_ (
const char *yystr);
5064 static const char*
const yytname_[];
5070 static const short yypact_[];
5075 static const short yydefact_[];
5078 static const short yypgoto_[];
5081 static const short yydefgoto_[];
5086 static const short yytable_[];
5088 static const short yycheck_[];
5092 static const short yystos_[];
5095 static const short yyr1_[];
5098 static const signed char yyr2_[];
5103 static const short yyrline_[];
5105 virtual void yy_reduce_print_ (
int r)
const;
5107 virtual void yy_stack_print_ ()
const;
5112 std::ostream* yycdebug_;
5117 template <
typename Base>
5118 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
5125 template <
typename Base>
5126 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
5136 typedef state_type kind_type;
5148 void move (by_state& that);
5156 enum { empty_state = 0 };
5164 struct stack_symbol_type : basic_symbol<by_state>
5167 typedef basic_symbol<by_state> super_type;
5169 stack_symbol_type ();
5171 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
5173 stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) sym);
5174#if YY_CPLUSPLUS < 201103L
5177 stack_symbol_type& operator= (stack_symbol_type& that);
5181 stack_symbol_type& operator= (
const stack_symbol_type& that);
5186 template <
typename T,
typename S = std::vector<T> >
5191 typedef typename S::iterator iterator;
5192 typedef typename S::const_iterator const_iterator;
5193 typedef typename S::size_type size_type;
5194 typedef typename std::ptrdiff_t index_type;
5200#if 201103L <= YY_CPLUSPLUS
5202 stack (
const stack&) =
delete;
5204 stack& operator= (
const stack&) =
delete;
5211 operator[] (index_type i)
const
5213 return seq_[size_type (size () - 1 - i)];
5220 operator[] (index_type i)
5222 return seq_[size_type (size () - 1 - i)];
5231 seq_.push_back (T ());
5232 operator[] (0).move (t);
5254 return index_type (seq_.size ());
5261 return seq_.begin ();
5281 operator[] (index_type i)
const
5283 return stack_[range_ - i];
5287 const stack& stack_;
5292#if YY_CPLUSPLUS < 201103L
5294 stack (
const stack&);
5296 stack& operator= (
const stack&);
5304 typedef stack<stack_symbol_type> stack_type;
5307 stack_type yystack_;
5314 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
5322 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
5351 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5363 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5364 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5365 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5366 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5367 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5368 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5369 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5370 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5371 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5372 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5373 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5374 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5375 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5376 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5377 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5378 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5379 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5380 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5381 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5382 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5383 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5384 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5385 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5386 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5387 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5388 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5389 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5390 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5391 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5392 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5393 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5394 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5395 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5396 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5397 205, 206, 207, 208, 209, 210, 211, 212, 213
5400 const int code_max = 468;
5404 else if (t <= code_max)
5411 template <
typename Base>
5417 switch (this->kind ())
5455 template <
typename Base>
5459 return this->kind ();
5463 template <
typename Base>
5470 template <
typename Base>
5474 super_type::move (s);
5475 switch (this->kind ())
5517#if 201103L <= YY_CPLUSPLUS
5520 : kind_ (that.kind_)
5528 : kind_ (that.kind_)
5533 : kind_ (yytranslate_ (t))
5565 return this->kind ();
5569#line 14 "dhcp6_parser.yy"
5571#line 5572 "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_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_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_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_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_SUBNET6(const location_type &l)
static symbol_type make_PD_POOLS(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_MAX_PREFERRED_LIFETIME(const location_type &l)
static symbol_type make_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_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_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_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
location location_type
Symbol locations.
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_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_CONTROL_SOCKET(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_PREFIXES(const location_type &l)
static symbol_type make_RESERVATION_MODE(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
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.
@ 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).