45#ifndef YY_PARSER4_DHCP4_PARSER_H_INCLUDED
46# define YY_PARSER4_DHCP4_PARSER_H_INCLUDED
48#line 17 "dhcp4_parser.yy"
53#include <boost/lexical_cast.hpp>
60#line 61 "dhcp4_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 PARSER4__ASSERT
109# define PARSER4__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 PARSER4_DEBUG 1
200# define PARSER4_DEBUG 0
203# define PARSER4_DEBUG 1
207#line 14 "dhcp4_parser.yy"
208namespace isc {
namespace dhcp {
209#line 210 "dhcp4_parser.h"
220# pragma GCC message "bison: do not #define PARSER4_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_PARSER4_EMPTY = -2,
500 TOKEN_PARSER4_error = 256,
501 TOKEN_PARSER4_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_CONFIG_CONTROL = 266,
511 TOKEN_CONFIG_DATABASES = 267,
512 TOKEN_CONFIG_FETCH_WAIT_TIME = 268,
513 TOKEN_INTERFACES_CONFIG = 269,
514 TOKEN_INTERFACES = 270,
515 TOKEN_DHCP_SOCKET_TYPE = 271,
518 TOKEN_OUTBOUND_INTERFACE = 274,
519 TOKEN_SAME_AS_INBOUND = 275,
520 TOKEN_USE_ROUTING = 276,
521 TOKEN_RE_DETECT = 277,
522 TOKEN_SERVICE_SOCKETS_REQUIRE_ALL = 278,
523 TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME = 279,
524 TOKEN_SERVICE_SOCKETS_MAX_RETRIES = 280,
525 TOKEN_SANITY_CHECKS = 281,
526 TOKEN_LEASE_CHECKS = 282,
527 TOKEN_ECHO_CLIENT_ID = 283,
528 TOKEN_MATCH_CLIENT_ID = 284,
529 TOKEN_AUTHORITATIVE = 285,
530 TOKEN_NEXT_SERVER = 286,
531 TOKEN_SERVER_HOSTNAME = 287,
532 TOKEN_BOOT_FILE_NAME = 288,
533 TOKEN_LEASE_DATABASE = 289,
534 TOKEN_HOSTS_DATABASE = 290,
535 TOKEN_HOSTS_DATABASES = 291,
539 TOKEN_POSTGRESQL = 295,
541 TOKEN_PASSWORD = 297,
545 TOKEN_LFC_INTERVAL = 301,
546 TOKEN_READONLY = 302,
547 TOKEN_CONNECT_TIMEOUT = 303,
548 TOKEN_MAX_RECONNECT_TRIES = 304,
549 TOKEN_RECONNECT_WAIT_TIME = 305,
551 TOKEN_STOP_RETRY_EXIT = 307,
552 TOKEN_SERVE_RETRY_EXIT = 308,
553 TOKEN_SERVE_RETRY_CONTINUE = 309,
554 TOKEN_MAX_ROW_ERRORS = 310,
555 TOKEN_TRUST_ANCHOR = 311,
556 TOKEN_CERT_FILE = 312,
557 TOKEN_KEY_FILE = 313,
558 TOKEN_CIPHER_LIST = 314,
559 TOKEN_VALID_LIFETIME = 315,
560 TOKEN_MIN_VALID_LIFETIME = 316,
561 TOKEN_MAX_VALID_LIFETIME = 317,
562 TOKEN_RENEW_TIMER = 318,
563 TOKEN_REBIND_TIMER = 319,
564 TOKEN_CALCULATE_TEE_TIMES = 320,
565 TOKEN_T1_PERCENT = 321,
566 TOKEN_T2_PERCENT = 322,
567 TOKEN_CACHE_THRESHOLD = 323,
568 TOKEN_CACHE_MAX_AGE = 324,
569 TOKEN_DECLINE_PROBATION_PERIOD = 325,
570 TOKEN_SERVER_TAG = 326,
571 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 327,
572 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 328,
573 TOKEN_DDNS_SEND_UPDATES = 329,
574 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 330,
575 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 331,
576 TOKEN_DDNS_REPLACE_CLIENT_NAME = 332,
577 TOKEN_DDNS_GENERATED_PREFIX = 333,
578 TOKEN_DDNS_QUALIFYING_SUFFIX = 334,
579 TOKEN_DDNS_UPDATE_ON_RENEW = 335,
580 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 336,
581 TOKEN_STORE_EXTENDED_INFO = 337,
583 TOKEN_SUBNET_4O6_INTERFACE = 339,
584 TOKEN_SUBNET_4O6_INTERFACE_ID = 340,
585 TOKEN_SUBNET_4O6_SUBNET = 341,
586 TOKEN_OPTION_DEF = 342,
587 TOKEN_OPTION_DATA = 343,
592 TOKEN_CSV_FORMAT = 348,
593 TOKEN_ALWAYS_SEND = 349,
594 TOKEN_RECORD_TYPES = 350,
595 TOKEN_ENCAPSULATE = 351,
597 TOKEN_PARKED_PACKET_LIMIT = 353,
598 TOKEN_SHARED_NETWORKS = 354,
601 TOKEN_USER_CONTEXT = 357,
604 TOKEN_INTERFACE = 360,
606 TOKEN_RESERVATION_MODE = 362,
607 TOKEN_DISABLED = 363,
608 TOKEN_OUT_OF_POOL = 364,
611 TOKEN_RESERVATIONS_GLOBAL = 367,
612 TOKEN_RESERVATIONS_IN_SUBNET = 368,
613 TOKEN_RESERVATIONS_OUT_OF_POOL = 369,
614 TOKEN_HOST_RESERVATION_IDENTIFIERS = 370,
615 TOKEN_CLIENT_CLASSES = 371,
616 TOKEN_REQUIRE_CLIENT_CLASSES = 372,
618 TOKEN_ONLY_IF_REQUIRED = 374,
619 TOKEN_CLIENT_CLASS = 375,
620 TOKEN_RESERVATIONS = 376,
622 TOKEN_HW_ADDRESS = 378,
623 TOKEN_CIRCUIT_ID = 379,
624 TOKEN_CLIENT_ID = 380,
625 TOKEN_HOSTNAME = 381,
628 TOKEN_IP_ADDRESS = 384,
629 TOKEN_IP_ADDRESSES = 385,
630 TOKEN_HOOKS_LIBRARIES = 386,
632 TOKEN_PARAMETERS = 388,
633 TOKEN_EXPIRED_LEASES_PROCESSING = 389,
634 TOKEN_RECLAIM_TIMER_WAIT_TIME = 390,
635 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 391,
636 TOKEN_HOLD_RECLAIMED_TIME = 392,
637 TOKEN_MAX_RECLAIM_LEASES = 393,
638 TOKEN_MAX_RECLAIM_TIME = 394,
639 TOKEN_UNWARNED_RECLAIM_CYCLES = 395,
640 TOKEN_DHCP4O6_PORT = 396,
641 TOKEN_DHCP_MULTI_THREADING = 397,
642 TOKEN_ENABLE_MULTI_THREADING = 398,
643 TOKEN_THREAD_POOL_SIZE = 399,
644 TOKEN_PACKET_QUEUE_SIZE = 400,
645 TOKEN_CONTROL_SOCKET = 401,
646 TOKEN_SOCKET_TYPE = 402,
647 TOKEN_SOCKET_NAME = 403,
648 TOKEN_DHCP_QUEUE_CONTROL = 404,
649 TOKEN_ENABLE_QUEUE = 405,
650 TOKEN_QUEUE_TYPE = 406,
651 TOKEN_CAPACITY = 407,
652 TOKEN_DHCP_DDNS = 408,
653 TOKEN_ENABLE_UPDATES = 409,
654 TOKEN_QUALIFYING_SUFFIX = 410,
655 TOKEN_SERVER_IP = 411,
656 TOKEN_SERVER_PORT = 412,
657 TOKEN_SENDER_IP = 413,
658 TOKEN_SENDER_PORT = 414,
659 TOKEN_MAX_QUEUE_SIZE = 415,
660 TOKEN_NCR_PROTOCOL = 416,
661 TOKEN_NCR_FORMAT = 417,
662 TOKEN_OVERRIDE_NO_UPDATE = 418,
663 TOKEN_OVERRIDE_CLIENT_UPDATE = 419,
664 TOKEN_REPLACE_CLIENT_NAME = 420,
665 TOKEN_GENERATED_PREFIX = 421,
668 TOKEN_WHEN_PRESENT = 424,
671 TOKEN_WHEN_NOT_PRESENT = 427,
672 TOKEN_HOSTNAME_CHAR_SET = 428,
673 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 429,
674 TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 430,
675 TOKEN_IP_RESERVATIONS_UNIQUE = 431,
676 TOKEN_RESERVATIONS_LOOKUP_FIRST = 432,
678 TOKEN_OUTPUT_OPTIONS = 434,
680 TOKEN_DEBUGLEVEL = 436,
681 TOKEN_SEVERITY = 437,
686 TOKEN_COMPATIBILITY = 442,
687 TOKEN_LENIENT_OPTION_PARSING = 443,
688 TOKEN_TOPLEVEL_JSON = 444,
689 TOKEN_TOPLEVEL_DHCP4 = 445,
690 TOKEN_SUB_DHCP4 = 446,
691 TOKEN_SUB_INTERFACES4 = 447,
692 TOKEN_SUB_SUBNET4 = 448,
693 TOKEN_SUB_POOL4 = 449,
694 TOKEN_SUB_RESERVATION = 450,
695 TOKEN_SUB_OPTION_DEFS = 451,
696 TOKEN_SUB_OPTION_DEF = 452,
697 TOKEN_SUB_OPTION_DATA = 453,
698 TOKEN_SUB_HOOKS_LIBRARY = 454,
699 TOKEN_SUB_DHCP_DDNS = 455,
700 TOKEN_SUB_CONFIG_CONTROL = 456,
728 S_LSQUARE_BRACKET = 5,
729 S_RSQUARE_BRACKET = 6,
730 S_LCURLY_BRACKET = 7,
731 S_RCURLY_BRACKET = 8,
734 S_CONFIG_CONTROL = 11,
735 S_CONFIG_DATABASES = 12,
736 S_CONFIG_FETCH_WAIT_TIME = 13,
737 S_INTERFACES_CONFIG = 14,
739 S_DHCP_SOCKET_TYPE = 16,
742 S_OUTBOUND_INTERFACE = 19,
743 S_SAME_AS_INBOUND = 20,
746 S_SERVICE_SOCKETS_REQUIRE_ALL = 23,
747 S_SERVICE_SOCKETS_RETRY_WAIT_TIME = 24,
748 S_SERVICE_SOCKETS_MAX_RETRIES = 25,
749 S_SANITY_CHECKS = 26,
751 S_ECHO_CLIENT_ID = 28,
752 S_MATCH_CLIENT_ID = 29,
753 S_AUTHORITATIVE = 30,
755 S_SERVER_HOSTNAME = 32,
756 S_BOOT_FILE_NAME = 33,
757 S_LEASE_DATABASE = 34,
758 S_HOSTS_DATABASE = 35,
759 S_HOSTS_DATABASES = 36,
771 S_CONNECT_TIMEOUT = 48,
772 S_MAX_RECONNECT_TRIES = 49,
773 S_RECONNECT_WAIT_TIME = 50,
775 S_STOP_RETRY_EXIT = 52,
776 S_SERVE_RETRY_EXIT = 53,
777 S_SERVE_RETRY_CONTINUE = 54,
778 S_MAX_ROW_ERRORS = 55,
783 S_VALID_LIFETIME = 60,
784 S_MIN_VALID_LIFETIME = 61,
785 S_MAX_VALID_LIFETIME = 62,
788 S_CALCULATE_TEE_TIMES = 65,
791 S_CACHE_THRESHOLD = 68,
792 S_CACHE_MAX_AGE = 69,
793 S_DECLINE_PROBATION_PERIOD = 70,
795 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 72,
796 S_STATISTIC_DEFAULT_SAMPLE_AGE = 73,
797 S_DDNS_SEND_UPDATES = 74,
798 S_DDNS_OVERRIDE_NO_UPDATE = 75,
799 S_DDNS_OVERRIDE_CLIENT_UPDATE = 76,
800 S_DDNS_REPLACE_CLIENT_NAME = 77,
801 S_DDNS_GENERATED_PREFIX = 78,
802 S_DDNS_QUALIFYING_SUFFIX = 79,
803 S_DDNS_UPDATE_ON_RENEW = 80,
804 S_DDNS_USE_CONFLICT_RESOLUTION = 81,
805 S_STORE_EXTENDED_INFO = 82,
807 S_SUBNET_4O6_INTERFACE = 84,
808 S_SUBNET_4O6_INTERFACE_ID = 85,
809 S_SUBNET_4O6_SUBNET = 86,
821 S_PARKED_PACKET_LIMIT = 98,
822 S_SHARED_NETWORKS = 99,
825 S_USER_CONTEXT = 102,
830 S_RESERVATION_MODE = 107,
835 S_RESERVATIONS_GLOBAL = 112,
836 S_RESERVATIONS_IN_SUBNET = 113,
837 S_RESERVATIONS_OUT_OF_POOL = 114,
838 S_HOST_RESERVATION_IDENTIFIERS = 115,
839 S_CLIENT_CLASSES = 116,
840 S_REQUIRE_CLIENT_CLASSES = 117,
842 S_ONLY_IF_REQUIRED = 119,
843 S_CLIENT_CLASS = 120,
844 S_RESERVATIONS = 121,
853 S_IP_ADDRESSES = 130,
854 S_HOOKS_LIBRARIES = 131,
857 S_EXPIRED_LEASES_PROCESSING = 134,
858 S_RECLAIM_TIMER_WAIT_TIME = 135,
859 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 136,
860 S_HOLD_RECLAIMED_TIME = 137,
861 S_MAX_RECLAIM_LEASES = 138,
862 S_MAX_RECLAIM_TIME = 139,
863 S_UNWARNED_RECLAIM_CYCLES = 140,
864 S_DHCP4O6_PORT = 141,
865 S_DHCP_MULTI_THREADING = 142,
866 S_ENABLE_MULTI_THREADING = 143,
867 S_THREAD_POOL_SIZE = 144,
868 S_PACKET_QUEUE_SIZE = 145,
869 S_CONTROL_SOCKET = 146,
872 S_DHCP_QUEUE_CONTROL = 149,
873 S_ENABLE_QUEUE = 150,
877 S_ENABLE_UPDATES = 154,
878 S_QUALIFYING_SUFFIX = 155,
883 S_MAX_QUEUE_SIZE = 160,
884 S_NCR_PROTOCOL = 161,
886 S_OVERRIDE_NO_UPDATE = 163,
887 S_OVERRIDE_CLIENT_UPDATE = 164,
888 S_REPLACE_CLIENT_NAME = 165,
889 S_GENERATED_PREFIX = 166,
892 S_WHEN_PRESENT = 169,
895 S_WHEN_NOT_PRESENT = 172,
896 S_HOSTNAME_CHAR_SET = 173,
897 S_HOSTNAME_CHAR_REPLACEMENT = 174,
898 S_EARLY_GLOBAL_RESERVATIONS_LOOKUP = 175,
899 S_IP_RESERVATIONS_UNIQUE = 176,
900 S_RESERVATIONS_LOOKUP_FIRST = 177,
902 S_OUTPUT_OPTIONS = 179,
910 S_COMPATIBILITY = 187,
911 S_LENIENT_OPTION_PARSING = 188,
912 S_TOPLEVEL_JSON = 189,
913 S_TOPLEVEL_DHCP4 = 190,
915 S_SUB_INTERFACES4 = 192,
918 S_SUB_RESERVATION = 195,
919 S_SUB_OPTION_DEFS = 196,
920 S_SUB_OPTION_DEF = 197,
921 S_SUB_OPTION_DATA = 198,
922 S_SUB_HOOKS_LIBRARY = 199,
923 S_SUB_DHCP_DDNS = 200,
924 S_SUB_CONFIG_CONTROL = 201,
950 S_not_empty_map = 227,
951 S_list_generic = 228,
953 S_list_content = 230,
954 S_not_empty_list = 231,
955 S_list_strings = 232,
957 S_list_strings_content = 234,
958 S_not_empty_list_strings = 235,
959 S_unknown_map_entry = 236,
962 S_global_object = 239,
964 S_global_object_comma = 241,
967 S_global_params = 244,
968 S_global_param = 245,
969 S_valid_lifetime = 246,
970 S_min_valid_lifetime = 247,
971 S_max_valid_lifetime = 248,
973 S_rebind_timer = 250,
974 S_calculate_tee_times = 251,
977 S_cache_threshold = 254,
978 S_cache_max_age = 255,
979 S_decline_probation_period = 256,
982 S_parked_packet_limit = 259,
983 S_echo_client_id = 260,
984 S_match_client_id = 261,
985 S_authoritative = 262,
986 S_ddns_send_updates = 263,
987 S_ddns_override_no_update = 264,
988 S_ddns_override_client_update = 265,
989 S_ddns_replace_client_name = 266,
991 S_ddns_replace_client_name_value = 268,
992 S_ddns_generated_prefix = 269,
994 S_ddns_qualifying_suffix = 271,
996 S_ddns_update_on_renew = 273,
997 S_ddns_use_conflict_resolution = 274,
998 S_hostname_char_set = 275,
1000 S_hostname_char_replacement = 277,
1002 S_store_extended_info = 279,
1003 S_statistic_default_sample_count = 280,
1004 S_statistic_default_sample_age = 281,
1005 S_early_global_reservations_lookup = 282,
1006 S_ip_reservations_unique = 283,
1007 S_reservations_lookup_first = 284,
1008 S_interfaces_config = 285,
1010 S_interfaces_config_params = 287,
1011 S_interfaces_config_param = 288,
1012 S_sub_interfaces4 = 289,
1014 S_interfaces_list = 291,
1016 S_dhcp_socket_type = 293,
1018 S_socket_type = 295,
1019 S_outbound_interface = 296,
1021 S_outbound_interface_value = 298,
1023 S_service_sockets_require_all = 300,
1024 S_service_sockets_retry_wait_time = 301,
1025 S_service_sockets_max_retries = 302,
1026 S_lease_database = 303,
1028 S_sanity_checks = 305,
1030 S_sanity_checks_params = 307,
1031 S_sanity_checks_param = 308,
1032 S_lease_checks = 309,
1034 S_hosts_database = 311,
1036 S_hosts_databases = 313,
1038 S_database_list = 315,
1039 S_not_empty_database_list = 316,
1042 S_database_map_params = 319,
1043 S_database_map_param = 320,
1044 S_database_type = 321,
1057 S_lfc_interval = 334,
1059 S_connect_timeout = 336,
1060 S_max_reconnect_tries = 337,
1061 S_reconnect_wait_time = 338,
1064 S_on_fail_mode = 341,
1065 S_max_row_errors = 342,
1066 S_trust_anchor = 343,
1072 S_cipher_list = 349,
1074 S_host_reservation_identifiers = 351,
1076 S_host_reservation_identifiers_list = 353,
1077 S_host_reservation_identifier = 354,
1079 S_hw_address_id = 356,
1083 S_dhcp_multi_threading = 360,
1085 S_multi_threading_params = 362,
1086 S_multi_threading_param = 363,
1087 S_enable_multi_threading = 364,
1088 S_thread_pool_size = 365,
1089 S_packet_queue_size = 366,
1090 S_hooks_libraries = 367,
1092 S_hooks_libraries_list = 369,
1093 S_not_empty_hooks_libraries_list = 370,
1094 S_hooks_library = 371,
1096 S_sub_hooks_library = 373,
1098 S_hooks_params = 375,
1099 S_hooks_param = 376,
1104 S_expired_leases_processing = 381,
1106 S_expired_leases_params = 383,
1107 S_expired_leases_param = 384,
1108 S_reclaim_timer_wait_time = 385,
1109 S_flush_reclaimed_timer_wait_time = 386,
1110 S_hold_reclaimed_time = 387,
1111 S_max_reclaim_leases = 388,
1112 S_max_reclaim_time = 389,
1113 S_unwarned_reclaim_cycles = 390,
1114 S_subnet4_list = 391,
1116 S_subnet4_list_content = 393,
1117 S_not_empty_subnet4_list = 394,
1120 S_sub_subnet4 = 397,
1122 S_subnet4_params = 399,
1123 S_subnet4_param = 400,
1126 S_subnet_4o6_interface = 403,
1128 S_subnet_4o6_interface_id = 405,
1130 S_subnet_4o6_subnet = 407,
1134 S_client_class = 411,
1136 S_require_client_classes = 413,
1138 S_reservations_global = 415,
1139 S_reservations_in_subnet = 416,
1140 S_reservations_out_of_pool = 417,
1141 S_reservation_mode = 418,
1145 S_shared_networks = 422,
1147 S_shared_networks_content = 424,
1148 S_shared_networks_list = 425,
1149 S_shared_network = 426,
1151 S_shared_network_params = 428,
1152 S_shared_network_param = 429,
1153 S_option_def_list = 430,
1155 S_sub_option_def_list = 432,
1157 S_option_def_list_content = 434,
1158 S_not_empty_option_def_list = 435,
1159 S_option_def_entry = 436,
1161 S_sub_option_def = 438,
1163 S_option_def_params = 440,
1164 S_not_empty_option_def_params = 441,
1165 S_option_def_param = 442,
1166 S_option_def_name = 443,
1168 S_option_def_code = 445,
1169 S_option_def_type = 446,
1171 S_option_def_record_types = 448,
1175 S_option_def_space = 452,
1176 S_option_def_encapsulate = 453,
1178 S_option_def_array = 455,
1179 S_option_data_list = 456,
1181 S_option_data_list_content = 458,
1182 S_not_empty_option_data_list = 459,
1183 S_option_data_entry = 460,
1185 S_sub_option_data = 462,
1187 S_option_data_params = 464,
1188 S_not_empty_option_data_params = 465,
1189 S_option_data_param = 466,
1190 S_option_data_name = 467,
1191 S_option_data_data = 468,
1193 S_option_data_code = 470,
1194 S_option_data_space = 471,
1195 S_option_data_csv_format = 472,
1196 S_option_data_always_send = 473,
1199 S_pools_list_content = 476,
1200 S_not_empty_pools_list = 477,
1201 S_pool_list_entry = 478,
1205 S_pool_params = 482,
1209 S_user_context = 486,
1213 S_reservations = 490,
1215 S_reservations_list = 492,
1216 S_not_empty_reservations_list = 493,
1217 S_reservation = 494,
1219 S_sub_reservation = 496,
1221 S_reservation_params = 498,
1222 S_not_empty_reservation_params = 499,
1223 S_reservation_param = 500,
1224 S_next_server = 501,
1226 S_server_hostname = 503,
1228 S_boot_file_name = 505,
1232 S_ip_addresses = 509,
1238 S_client_id_value = 515,
1240 S_circuit_id_value = 517,
1242 S_flex_id_value = 519,
1246 S_reservation_client_classes = 523,
1251 S_client_classes = 528,
1253 S_client_classes_list = 530,
1254 S_client_class_entry = 531,
1256 S_client_class_params = 533,
1257 S_not_empty_client_class_params = 534,
1258 S_client_class_param = 535,
1259 S_client_class_name = 536,
1260 S_client_class_test = 537,
1262 S_only_if_required = 539,
1263 S_dhcp4o6_port = 540,
1264 S_control_socket = 541,
1266 S_control_socket_params = 543,
1267 S_control_socket_param = 544,
1268 S_control_socket_type = 545,
1270 S_control_socket_name = 547,
1272 S_dhcp_queue_control = 549,
1274 S_queue_control_params = 551,
1275 S_queue_control_param = 552,
1276 S_enable_queue = 553,
1280 S_arbitrary_map_entry = 557,
1284 S_sub_dhcp_ddns = 561,
1286 S_dhcp_ddns_params = 563,
1287 S_dhcp_ddns_param = 564,
1288 S_enable_updates = 565,
1291 S_server_port = 568,
1294 S_sender_port = 571,
1295 S_max_queue_size = 572,
1296 S_ncr_protocol = 573,
1298 S_ncr_protocol_value = 575,
1301 S_dep_qualifying_suffix = 578,
1303 S_dep_override_no_update = 580,
1304 S_dep_override_client_update = 581,
1305 S_dep_replace_client_name = 582,
1307 S_dep_generated_prefix = 584,
1309 S_dep_hostname_char_set = 586,
1311 S_dep_hostname_char_replacement = 588,
1313 S_config_control = 590,
1315 S_sub_config_control = 592,
1317 S_config_control_params = 594,
1318 S_config_control_param = 595,
1319 S_config_databases = 596,
1321 S_config_fetch_wait_time = 598,
1324 S_loggers_entries = 601,
1325 S_logger_entry = 602,
1327 S_logger_params = 604,
1328 S_logger_param = 605,
1332 S_output_options_list = 609,
1334 S_output_options_list_content = 611,
1335 S_output_entry = 612,
1337 S_output_params_list = 614,
1338 S_output_params = 615,
1346 S_compatibility = 623,
1348 S_compatibility_params = 625,
1349 S_compatibility_param = 626,
1350 S_lenient_option_parsing = 627
1366 template <
typename Base>
1378#if 201103L <= YY_CPLUSPLUS
1381 : Base (std::move (that))
1383 , location (std::move (that.location))
1385 switch (this->kind ())
1387 case symbol_kind::S_value:
1388 case symbol_kind::S_map_value:
1389 case symbol_kind::S_ddns_replace_client_name_value:
1390 case symbol_kind::S_socket_type:
1391 case symbol_kind::S_outbound_interface_value:
1392 case symbol_kind::S_db_type:
1393 case symbol_kind::S_on_fail_mode:
1394 case symbol_kind::S_hr_mode:
1395 case symbol_kind::S_ncr_protocol_value:
1396 value.move<
ElementPtr > (std::move (that.value));
1399 case symbol_kind::S_BOOLEAN:
1400 value.move<
bool > (std::move (that.value));
1403 case symbol_kind::S_FLOAT:
1404 value.move<
double > (std::move (that.value));
1407 case symbol_kind::S_INTEGER:
1408 value.move< int64_t > (std::move (that.value));
1411 case symbol_kind::S_STRING:
1412 value.move< std::string > (std::move (that.value));
1423 basic_symbol (
const basic_symbol& that);
1426#if 201103L <= YY_CPLUSPLUS
1427 basic_symbol (
typename Base::kind_type t, location_type&& l)
1429 , location (std::move (l))
1438#if 201103L <= YY_CPLUSPLUS
1441 , value (std::move (v))
1442 , location (std::move (l))
1452#if 201103L <= YY_CPLUSPLUS
1455 , value (std::move (v))
1456 , location (std::move (l))
1466#if 201103L <= YY_CPLUSPLUS
1469 , value (std::move (v))
1470 , location (std::move (l))
1480#if 201103L <= YY_CPLUSPLUS
1483 , value (std::move (v))
1484 , location (std::move (l))
1494#if 201103L <= YY_CPLUSPLUS
1497 , value (std::move (v))
1498 , location (std::move (l))
1532 case symbol_kind::S_value:
1533 case symbol_kind::S_map_value:
1534 case symbol_kind::S_ddns_replace_client_name_value:
1535 case symbol_kind::S_socket_type:
1536 case symbol_kind::S_outbound_interface_value:
1537 case symbol_kind::S_db_type:
1538 case symbol_kind::S_on_fail_mode:
1539 case symbol_kind::S_hr_mode:
1540 case symbol_kind::S_ncr_protocol_value:
1541 value.template destroy< ElementPtr > ();
1544 case symbol_kind::S_BOOLEAN:
1545 value.template destroy< bool > ();
1548 case symbol_kind::S_FLOAT:
1549 value.template destroy< double > ();
1552 case symbol_kind::S_INTEGER:
1553 value.template destroy< int64_t > ();
1556 case symbol_kind::S_STRING:
1557 value.template destroy< std::string > ();
1589#if YY_CPLUSPLUS < 201103L
1604#if 201103L <= YY_CPLUSPLUS
1648#if 201103L <= YY_CPLUSPLUS
1656#if !defined _MSC_VER || defined __clang__
1658 || (token::TOKEN_PARSER4_error <= tok && tok <= token::TOKEN_SUB_CONFIG_CONTROL));
1661#if 201103L <= YY_CPLUSPLUS
1669#if !defined _MSC_VER || defined __clang__
1673#if 201103L <= YY_CPLUSPLUS
1681#if !defined _MSC_VER || defined __clang__
1685#if 201103L <= YY_CPLUSPLUS
1693#if !defined _MSC_VER || defined __clang__
1697#if 201103L <= YY_CPLUSPLUS
1705#if !defined _MSC_VER || defined __clang__
1715#if 201103L <= YY_CPLUSPLUS
1728 virtual int parse ();
1734 void set_debug_stream (std::ostream &);
1737 typedef
int debug_level_type;
1741 void set_debug_level (debug_level_type l);
1747 virtual void error (
const location_type& loc,
const std::string& msg);
1750 void error (
const syntax_error& err);
1754 static std::string symbol_name (symbol_kind_type yysymbol);
1757#if 201103L <= YY_CPLUSPLUS
1760 make_END (location_type l)
1762 return symbol_type (token::TOKEN_END, std::move (l));
1772#if 201103L <= YY_CPLUSPLUS
1775 make_PARSER4_error (location_type l)
1777 return symbol_type (token::TOKEN_PARSER4_error, std::move (l));
1784 return symbol_type (token::TOKEN_PARSER4_error, l);
1787#if 201103L <= YY_CPLUSPLUS
1790 make_PARSER4_UNDEF (location_type l)
1792 return symbol_type (token::TOKEN_PARSER4_UNDEF, std::move (l));
1799 return symbol_type (token::TOKEN_PARSER4_UNDEF, l);
1802#if 201103L <= YY_CPLUSPLUS
1805 make_COMMA (location_type l)
1807 return symbol_type (token::TOKEN_COMMA, std::move (l));
1817#if 201103L <= YY_CPLUSPLUS
1820 make_COLON (location_type l)
1822 return symbol_type (token::TOKEN_COLON, std::move (l));
1832#if 201103L <= YY_CPLUSPLUS
1835 make_LSQUARE_BRACKET (location_type l)
1837 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1844 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1847#if 201103L <= YY_CPLUSPLUS
1850 make_RSQUARE_BRACKET (location_type l)
1852 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1859 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1862#if 201103L <= YY_CPLUSPLUS
1865 make_LCURLY_BRACKET (location_type l)
1867 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1874 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1877#if 201103L <= YY_CPLUSPLUS
1880 make_RCURLY_BRACKET (location_type l)
1882 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1889 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1892#if 201103L <= YY_CPLUSPLUS
1895 make_NULL_TYPE (location_type l)
1897 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1907#if 201103L <= YY_CPLUSPLUS
1910 make_DHCP4 (location_type l)
1912 return symbol_type (token::TOKEN_DHCP4, std::move (l));
1922#if 201103L <= YY_CPLUSPLUS
1925 make_CONFIG_CONTROL (location_type l)
1927 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
1934 return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
1937#if 201103L <= YY_CPLUSPLUS
1940 make_CONFIG_DATABASES (location_type l)
1942 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
1949 return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
1952#if 201103L <= YY_CPLUSPLUS
1955 make_CONFIG_FETCH_WAIT_TIME (location_type l)
1957 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
1964 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
1967#if 201103L <= YY_CPLUSPLUS
1970 make_INTERFACES_CONFIG (location_type l)
1972 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
1979 return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
1982#if 201103L <= YY_CPLUSPLUS
1985 make_INTERFACES (location_type l)
1987 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
1997#if 201103L <= YY_CPLUSPLUS
2000 make_DHCP_SOCKET_TYPE (location_type l)
2002 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, std::move (l));
2009 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, l);
2012#if 201103L <= YY_CPLUSPLUS
2015 make_RAW (location_type l)
2017 return symbol_type (token::TOKEN_RAW, std::move (l));
2027#if 201103L <= YY_CPLUSPLUS
2030 make_UDP (location_type l)
2032 return symbol_type (token::TOKEN_UDP, std::move (l));
2042#if 201103L <= YY_CPLUSPLUS
2045 make_OUTBOUND_INTERFACE (location_type l)
2047 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, std::move (l));
2054 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, l);
2057#if 201103L <= YY_CPLUSPLUS
2060 make_SAME_AS_INBOUND (location_type l)
2062 return symbol_type (token::TOKEN_SAME_AS_INBOUND, std::move (l));
2069 return symbol_type (token::TOKEN_SAME_AS_INBOUND, l);
2072#if 201103L <= YY_CPLUSPLUS
2075 make_USE_ROUTING (location_type l)
2077 return symbol_type (token::TOKEN_USE_ROUTING, std::move (l));
2087#if 201103L <= YY_CPLUSPLUS
2090 make_RE_DETECT (location_type l)
2092 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2102#if 201103L <= YY_CPLUSPLUS
2105 make_SERVICE_SOCKETS_REQUIRE_ALL (location_type l)
2107 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, std::move (l));
2114 return symbol_type (token::TOKEN_SERVICE_SOCKETS_REQUIRE_ALL, l);
2117#if 201103L <= YY_CPLUSPLUS
2120 make_SERVICE_SOCKETS_RETRY_WAIT_TIME (location_type l)
2122 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, std::move (l));
2129 return symbol_type (token::TOKEN_SERVICE_SOCKETS_RETRY_WAIT_TIME, l);
2132#if 201103L <= YY_CPLUSPLUS
2135 make_SERVICE_SOCKETS_MAX_RETRIES (location_type l)
2137 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, std::move (l));
2144 return symbol_type (token::TOKEN_SERVICE_SOCKETS_MAX_RETRIES, l);
2147#if 201103L <= YY_CPLUSPLUS
2150 make_SANITY_CHECKS (location_type l)
2152 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
2159 return symbol_type (token::TOKEN_SANITY_CHECKS, l);
2162#if 201103L <= YY_CPLUSPLUS
2165 make_LEASE_CHECKS (location_type l)
2167 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
2174 return symbol_type (token::TOKEN_LEASE_CHECKS, l);
2177#if 201103L <= YY_CPLUSPLUS
2180 make_ECHO_CLIENT_ID (location_type l)
2182 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, std::move (l));
2189 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, l);
2192#if 201103L <= YY_CPLUSPLUS
2195 make_MATCH_CLIENT_ID (location_type l)
2197 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, std::move (l));
2204 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, l);
2207#if 201103L <= YY_CPLUSPLUS
2210 make_AUTHORITATIVE (location_type l)
2212 return symbol_type (token::TOKEN_AUTHORITATIVE, std::move (l));
2219 return symbol_type (token::TOKEN_AUTHORITATIVE, l);
2222#if 201103L <= YY_CPLUSPLUS
2225 make_NEXT_SERVER (location_type l)
2227 return symbol_type (token::TOKEN_NEXT_SERVER, std::move (l));
2237#if 201103L <= YY_CPLUSPLUS
2240 make_SERVER_HOSTNAME (location_type l)
2242 return symbol_type (token::TOKEN_SERVER_HOSTNAME, std::move (l));
2249 return symbol_type (token::TOKEN_SERVER_HOSTNAME, l);
2252#if 201103L <= YY_CPLUSPLUS
2255 make_BOOT_FILE_NAME (location_type l)
2257 return symbol_type (token::TOKEN_BOOT_FILE_NAME, std::move (l));
2264 return symbol_type (token::TOKEN_BOOT_FILE_NAME, l);
2267#if 201103L <= YY_CPLUSPLUS
2270 make_LEASE_DATABASE (location_type l)
2272 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2279 return symbol_type (token::TOKEN_LEASE_DATABASE, l);
2282#if 201103L <= YY_CPLUSPLUS
2285 make_HOSTS_DATABASE (location_type l)
2287 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2294 return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
2297#if 201103L <= YY_CPLUSPLUS
2300 make_HOSTS_DATABASES (location_type l)
2302 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2309 return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
2312#if 201103L <= YY_CPLUSPLUS
2315 make_TYPE (location_type l)
2317 return symbol_type (token::TOKEN_TYPE, std::move (l));
2327#if 201103L <= YY_CPLUSPLUS
2330 make_MEMFILE (location_type l)
2332 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2342#if 201103L <= YY_CPLUSPLUS
2345 make_MYSQL (location_type l)
2347 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2357#if 201103L <= YY_CPLUSPLUS
2360 make_POSTGRESQL (location_type l)
2362 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2372#if 201103L <= YY_CPLUSPLUS
2375 make_USER (location_type l)
2377 return symbol_type (token::TOKEN_USER, std::move (l));
2387#if 201103L <= YY_CPLUSPLUS
2390 make_PASSWORD (location_type l)
2392 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2402#if 201103L <= YY_CPLUSPLUS
2405 make_HOST (location_type l)
2407 return symbol_type (token::TOKEN_HOST, std::move (l));
2417#if 201103L <= YY_CPLUSPLUS
2420 make_PORT (location_type l)
2422 return symbol_type (token::TOKEN_PORT, std::move (l));
2432#if 201103L <= YY_CPLUSPLUS
2435 make_PERSIST (location_type l)
2437 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2447#if 201103L <= YY_CPLUSPLUS
2450 make_LFC_INTERVAL (location_type l)
2452 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2459 return symbol_type (token::TOKEN_LFC_INTERVAL, l);
2462#if 201103L <= YY_CPLUSPLUS
2465 make_READONLY (location_type l)
2467 return symbol_type (token::TOKEN_READONLY, std::move (l));
2477#if 201103L <= YY_CPLUSPLUS
2480 make_CONNECT_TIMEOUT (location_type l)
2482 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2489 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
2492#if 201103L <= YY_CPLUSPLUS
2495 make_MAX_RECONNECT_TRIES (location_type l)
2497 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2504 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
2507#if 201103L <= YY_CPLUSPLUS
2510 make_RECONNECT_WAIT_TIME (location_type l)
2512 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2519 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
2522#if 201103L <= YY_CPLUSPLUS
2525 make_ON_FAIL (location_type l)
2527 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2537#if 201103L <= YY_CPLUSPLUS
2540 make_STOP_RETRY_EXIT (location_type l)
2542 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2549 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, l);
2552#if 201103L <= YY_CPLUSPLUS
2555 make_SERVE_RETRY_EXIT (location_type l)
2557 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2564 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, l);
2567#if 201103L <= YY_CPLUSPLUS
2570 make_SERVE_RETRY_CONTINUE (location_type l)
2572 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2579 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, l);
2582#if 201103L <= YY_CPLUSPLUS
2585 make_MAX_ROW_ERRORS (location_type l)
2587 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2594 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
2597#if 201103L <= YY_CPLUSPLUS
2600 make_TRUST_ANCHOR (location_type l)
2602 return symbol_type (token::TOKEN_TRUST_ANCHOR, std::move (l));
2609 return symbol_type (token::TOKEN_TRUST_ANCHOR, l);
2612#if 201103L <= YY_CPLUSPLUS
2615 make_CERT_FILE (location_type l)
2617 return symbol_type (token::TOKEN_CERT_FILE, std::move (l));
2627#if 201103L <= YY_CPLUSPLUS
2630 make_KEY_FILE (location_type l)
2632 return symbol_type (token::TOKEN_KEY_FILE, std::move (l));
2642#if 201103L <= YY_CPLUSPLUS
2645 make_CIPHER_LIST (location_type l)
2647 return symbol_type (token::TOKEN_CIPHER_LIST, std::move (l));
2657#if 201103L <= YY_CPLUSPLUS
2660 make_VALID_LIFETIME (location_type l)
2662 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2669 return symbol_type (token::TOKEN_VALID_LIFETIME, l);
2672#if 201103L <= YY_CPLUSPLUS
2675 make_MIN_VALID_LIFETIME (location_type l)
2677 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2684 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
2687#if 201103L <= YY_CPLUSPLUS
2690 make_MAX_VALID_LIFETIME (location_type l)
2692 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2699 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
2702#if 201103L <= YY_CPLUSPLUS
2705 make_RENEW_TIMER (location_type l)
2707 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2717#if 201103L <= YY_CPLUSPLUS
2720 make_REBIND_TIMER (location_type l)
2722 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2729 return symbol_type (token::TOKEN_REBIND_TIMER, l);
2732#if 201103L <= YY_CPLUSPLUS
2735 make_CALCULATE_TEE_TIMES (location_type l)
2737 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2744 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
2747#if 201103L <= YY_CPLUSPLUS
2750 make_T1_PERCENT (location_type l)
2752 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2762#if 201103L <= YY_CPLUSPLUS
2765 make_T2_PERCENT (location_type l)
2767 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2777#if 201103L <= YY_CPLUSPLUS
2780 make_CACHE_THRESHOLD (location_type l)
2782 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2789 return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
2792#if 201103L <= YY_CPLUSPLUS
2795 make_CACHE_MAX_AGE (location_type l)
2797 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2804 return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
2807#if 201103L <= YY_CPLUSPLUS
2810 make_DECLINE_PROBATION_PERIOD (location_type l)
2812 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2819 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
2822#if 201103L <= YY_CPLUSPLUS
2825 make_SERVER_TAG (location_type l)
2827 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2837#if 201103L <= YY_CPLUSPLUS
2840 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
2842 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2849 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
2852#if 201103L <= YY_CPLUSPLUS
2855 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
2857 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2864 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
2867#if 201103L <= YY_CPLUSPLUS
2870 make_DDNS_SEND_UPDATES (location_type l)
2872 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2879 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
2882#if 201103L <= YY_CPLUSPLUS
2885 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
2887 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2894 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
2897#if 201103L <= YY_CPLUSPLUS
2900 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
2902 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2909 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
2912#if 201103L <= YY_CPLUSPLUS
2915 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
2917 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2924 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
2927#if 201103L <= YY_CPLUSPLUS
2930 make_DDNS_GENERATED_PREFIX (location_type l)
2932 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2939 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
2942#if 201103L <= YY_CPLUSPLUS
2945 make_DDNS_QUALIFYING_SUFFIX (location_type l)
2947 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2954 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
2957#if 201103L <= YY_CPLUSPLUS
2960 make_DDNS_UPDATE_ON_RENEW (location_type l)
2962 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2969 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
2972#if 201103L <= YY_CPLUSPLUS
2975 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
2977 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2984 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
2987#if 201103L <= YY_CPLUSPLUS
2990 make_STORE_EXTENDED_INFO (location_type l)
2992 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
2999 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
3002#if 201103L <= YY_CPLUSPLUS
3005 make_SUBNET4 (location_type l)
3007 return symbol_type (token::TOKEN_SUBNET4, std::move (l));
3017#if 201103L <= YY_CPLUSPLUS
3020 make_SUBNET_4O6_INTERFACE (location_type l)
3022 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, std::move (l));
3029 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, l);
3032#if 201103L <= YY_CPLUSPLUS
3035 make_SUBNET_4O6_INTERFACE_ID (location_type l)
3037 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, std::move (l));
3044 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, l);
3047#if 201103L <= YY_CPLUSPLUS
3050 make_SUBNET_4O6_SUBNET (location_type l)
3052 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, std::move (l));
3059 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, l);
3062#if 201103L <= YY_CPLUSPLUS
3065 make_OPTION_DEF (location_type l)
3067 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
3077#if 201103L <= YY_CPLUSPLUS
3080 make_OPTION_DATA (location_type l)
3082 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
3092#if 201103L <= YY_CPLUSPLUS
3095 make_NAME (location_type l)
3097 return symbol_type (token::TOKEN_NAME, std::move (l));
3107#if 201103L <= YY_CPLUSPLUS
3110 make_DATA (location_type l)
3112 return symbol_type (token::TOKEN_DATA, std::move (l));
3122#if 201103L <= YY_CPLUSPLUS
3125 make_CODE (location_type l)
3127 return symbol_type (token::TOKEN_CODE, std::move (l));
3137#if 201103L <= YY_CPLUSPLUS
3140 make_SPACE (location_type l)
3142 return symbol_type (token::TOKEN_SPACE, std::move (l));
3152#if 201103L <= YY_CPLUSPLUS
3155 make_CSV_FORMAT (location_type l)
3157 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3167#if 201103L <= YY_CPLUSPLUS
3170 make_ALWAYS_SEND (location_type l)
3172 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3182#if 201103L <= YY_CPLUSPLUS
3185 make_RECORD_TYPES (location_type l)
3187 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3194 return symbol_type (token::TOKEN_RECORD_TYPES, l);
3197#if 201103L <= YY_CPLUSPLUS
3200 make_ENCAPSULATE (location_type l)
3202 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3212#if 201103L <= YY_CPLUSPLUS
3215 make_ARRAY (location_type l)
3217 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3227#if 201103L <= YY_CPLUSPLUS
3230 make_PARKED_PACKET_LIMIT (location_type l)
3232 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, std::move (l));
3239 return symbol_type (token::TOKEN_PARKED_PACKET_LIMIT, l);
3242#if 201103L <= YY_CPLUSPLUS
3245 make_SHARED_NETWORKS (location_type l)
3247 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3254 return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
3257#if 201103L <= YY_CPLUSPLUS
3260 make_POOLS (location_type l)
3262 return symbol_type (token::TOKEN_POOLS, std::move (l));
3272#if 201103L <= YY_CPLUSPLUS
3275 make_POOL (location_type l)
3277 return symbol_type (token::TOKEN_POOL, std::move (l));
3287#if 201103L <= YY_CPLUSPLUS
3290 make_USER_CONTEXT (location_type l)
3292 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3299 return symbol_type (token::TOKEN_USER_CONTEXT, l);
3302#if 201103L <= YY_CPLUSPLUS
3305 make_COMMENT (location_type l)
3307 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3317#if 201103L <= YY_CPLUSPLUS
3320 make_SUBNET (location_type l)
3322 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3332#if 201103L <= YY_CPLUSPLUS
3335 make_INTERFACE (location_type l)
3337 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3347#if 201103L <= YY_CPLUSPLUS
3350 make_ID (location_type l)
3352 return symbol_type (token::TOKEN_ID, std::move (l));
3362#if 201103L <= YY_CPLUSPLUS
3365 make_RESERVATION_MODE (location_type l)
3367 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3374 return symbol_type (token::TOKEN_RESERVATION_MODE, l);
3377#if 201103L <= YY_CPLUSPLUS
3380 make_DISABLED (location_type l)
3382 return symbol_type (token::TOKEN_DISABLED, std::move (l));
3392#if 201103L <= YY_CPLUSPLUS
3395 make_OUT_OF_POOL (location_type l)
3397 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3407#if 201103L <= YY_CPLUSPLUS
3410 make_GLOBAL (location_type l)
3412 return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3422#if 201103L <= YY_CPLUSPLUS
3425 make_ALL (location_type l)
3427 return symbol_type (token::TOKEN_ALL, std::move (l));
3437#if 201103L <= YY_CPLUSPLUS
3440 make_RESERVATIONS_GLOBAL (location_type l)
3442 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3449 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l);
3452#if 201103L <= YY_CPLUSPLUS
3455 make_RESERVATIONS_IN_SUBNET (location_type l)
3457 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3464 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l);
3467#if 201103L <= YY_CPLUSPLUS
3470 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3472 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3479 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l);
3482#if 201103L <= YY_CPLUSPLUS
3485 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3487 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3494 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
3497#if 201103L <= YY_CPLUSPLUS
3500 make_CLIENT_CLASSES (location_type l)
3502 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3509 return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
3512#if 201103L <= YY_CPLUSPLUS
3515 make_REQUIRE_CLIENT_CLASSES (location_type l)
3517 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3524 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
3527#if 201103L <= YY_CPLUSPLUS
3530 make_TEST (location_type l)
3532 return symbol_type (token::TOKEN_TEST, std::move (l));
3542#if 201103L <= YY_CPLUSPLUS
3545 make_ONLY_IF_REQUIRED (location_type l)
3547 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3554 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
3557#if 201103L <= YY_CPLUSPLUS
3560 make_CLIENT_CLASS (location_type l)
3562 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3569 return symbol_type (token::TOKEN_CLIENT_CLASS, l);
3572#if 201103L <= YY_CPLUSPLUS
3575 make_RESERVATIONS (location_type l)
3577 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3584 return symbol_type (token::TOKEN_RESERVATIONS, l);
3587#if 201103L <= YY_CPLUSPLUS
3590 make_DUID (location_type l)
3592 return symbol_type (token::TOKEN_DUID, std::move (l));
3602#if 201103L <= YY_CPLUSPLUS
3605 make_HW_ADDRESS (location_type l)
3607 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3617#if 201103L <= YY_CPLUSPLUS
3620 make_CIRCUIT_ID (location_type l)
3622 return symbol_type (token::TOKEN_CIRCUIT_ID, std::move (l));
3632#if 201103L <= YY_CPLUSPLUS
3635 make_CLIENT_ID (location_type l)
3637 return symbol_type (token::TOKEN_CLIENT_ID, std::move (l));
3647#if 201103L <= YY_CPLUSPLUS
3650 make_HOSTNAME (location_type l)
3652 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3662#if 201103L <= YY_CPLUSPLUS
3665 make_FLEX_ID (location_type l)
3667 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3677#if 201103L <= YY_CPLUSPLUS
3680 make_RELAY (location_type l)
3682 return symbol_type (token::TOKEN_RELAY, std::move (l));
3692#if 201103L <= YY_CPLUSPLUS
3695 make_IP_ADDRESS (location_type l)
3697 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3707#if 201103L <= YY_CPLUSPLUS
3710 make_IP_ADDRESSES (location_type l)
3712 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3719 return symbol_type (token::TOKEN_IP_ADDRESSES, l);
3722#if 201103L <= YY_CPLUSPLUS
3725 make_HOOKS_LIBRARIES (location_type l)
3727 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
3734 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
3737#if 201103L <= YY_CPLUSPLUS
3740 make_LIBRARY (location_type l)
3742 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
3752#if 201103L <= YY_CPLUSPLUS
3755 make_PARAMETERS (location_type l)
3757 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
3767#if 201103L <= YY_CPLUSPLUS
3770 make_EXPIRED_LEASES_PROCESSING (location_type l)
3772 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
3779 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
3782#if 201103L <= YY_CPLUSPLUS
3785 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
3787 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
3794 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
3797#if 201103L <= YY_CPLUSPLUS
3800 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
3802 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
3809 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
3812#if 201103L <= YY_CPLUSPLUS
3815 make_HOLD_RECLAIMED_TIME (location_type l)
3817 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
3824 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
3827#if 201103L <= YY_CPLUSPLUS
3830 make_MAX_RECLAIM_LEASES (location_type l)
3832 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
3839 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
3842#if 201103L <= YY_CPLUSPLUS
3845 make_MAX_RECLAIM_TIME (location_type l)
3847 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
3854 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
3857#if 201103L <= YY_CPLUSPLUS
3860 make_UNWARNED_RECLAIM_CYCLES (location_type l)
3862 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
3869 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
3872#if 201103L <= YY_CPLUSPLUS
3875 make_DHCP4O6_PORT (location_type l)
3877 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
3884 return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
3887#if 201103L <= YY_CPLUSPLUS
3890 make_DHCP_MULTI_THREADING (location_type l)
3892 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
3899 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
3902#if 201103L <= YY_CPLUSPLUS
3905 make_ENABLE_MULTI_THREADING (location_type l)
3907 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
3914 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
3917#if 201103L <= YY_CPLUSPLUS
3920 make_THREAD_POOL_SIZE (location_type l)
3922 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
3929 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
3932#if 201103L <= YY_CPLUSPLUS
3935 make_PACKET_QUEUE_SIZE (location_type l)
3937 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
3944 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
3947#if 201103L <= YY_CPLUSPLUS
3950 make_CONTROL_SOCKET (location_type l)
3952 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
3959 return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
3962#if 201103L <= YY_CPLUSPLUS
3965 make_SOCKET_TYPE (location_type l)
3967 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
3977#if 201103L <= YY_CPLUSPLUS
3980 make_SOCKET_NAME (location_type l)
3982 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
3992#if 201103L <= YY_CPLUSPLUS
3995 make_DHCP_QUEUE_CONTROL (location_type l)
3997 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
4004 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
4007#if 201103L <= YY_CPLUSPLUS
4010 make_ENABLE_QUEUE (location_type l)
4012 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
4019 return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
4022#if 201103L <= YY_CPLUSPLUS
4025 make_QUEUE_TYPE (location_type l)
4027 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4037#if 201103L <= YY_CPLUSPLUS
4040 make_CAPACITY (location_type l)
4042 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4052#if 201103L <= YY_CPLUSPLUS
4055 make_DHCP_DDNS (location_type l)
4057 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4067#if 201103L <= YY_CPLUSPLUS
4070 make_ENABLE_UPDATES (location_type l)
4072 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4079 return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
4082#if 201103L <= YY_CPLUSPLUS
4085 make_QUALIFYING_SUFFIX (location_type l)
4087 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4094 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
4097#if 201103L <= YY_CPLUSPLUS
4100 make_SERVER_IP (location_type l)
4102 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4112#if 201103L <= YY_CPLUSPLUS
4115 make_SERVER_PORT (location_type l)
4117 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4127#if 201103L <= YY_CPLUSPLUS
4130 make_SENDER_IP (location_type l)
4132 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4142#if 201103L <= YY_CPLUSPLUS
4145 make_SENDER_PORT (location_type l)
4147 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4157#if 201103L <= YY_CPLUSPLUS
4160 make_MAX_QUEUE_SIZE (location_type l)
4162 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4169 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
4172#if 201103L <= YY_CPLUSPLUS
4175 make_NCR_PROTOCOL (location_type l)
4177 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4184 return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
4187#if 201103L <= YY_CPLUSPLUS
4190 make_NCR_FORMAT (location_type l)
4192 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4202#if 201103L <= YY_CPLUSPLUS
4205 make_OVERRIDE_NO_UPDATE (location_type l)
4207 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4214 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
4217#if 201103L <= YY_CPLUSPLUS
4220 make_OVERRIDE_CLIENT_UPDATE (location_type l)
4222 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4229 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
4232#if 201103L <= YY_CPLUSPLUS
4235 make_REPLACE_CLIENT_NAME (location_type l)
4237 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4244 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
4247#if 201103L <= YY_CPLUSPLUS
4250 make_GENERATED_PREFIX (location_type l)
4252 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4259 return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
4262#if 201103L <= YY_CPLUSPLUS
4265 make_TCP (location_type l)
4267 return symbol_type (token::TOKEN_TCP, std::move (l));
4277#if 201103L <= YY_CPLUSPLUS
4280 make_JSON (location_type l)
4282 return symbol_type (token::TOKEN_JSON, std::move (l));
4292#if 201103L <= YY_CPLUSPLUS
4295 make_WHEN_PRESENT (location_type l)
4297 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4304 return symbol_type (token::TOKEN_WHEN_PRESENT, l);
4307#if 201103L <= YY_CPLUSPLUS
4310 make_NEVER (location_type l)
4312 return symbol_type (token::TOKEN_NEVER, std::move (l));
4322#if 201103L <= YY_CPLUSPLUS
4325 make_ALWAYS (location_type l)
4327 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4337#if 201103L <= YY_CPLUSPLUS
4340 make_WHEN_NOT_PRESENT (location_type l)
4342 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4349 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
4352#if 201103L <= YY_CPLUSPLUS
4355 make_HOSTNAME_CHAR_SET (location_type l)
4357 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4364 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
4367#if 201103L <= YY_CPLUSPLUS
4370 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4372 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4379 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
4382#if 201103L <= YY_CPLUSPLUS
4385 make_EARLY_GLOBAL_RESERVATIONS_LOOKUP (location_type l)
4387 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, std::move (l));
4394 return symbol_type (token::TOKEN_EARLY_GLOBAL_RESERVATIONS_LOOKUP, l);
4397#if 201103L <= YY_CPLUSPLUS
4400 make_IP_RESERVATIONS_UNIQUE (location_type l)
4402 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4409 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
4412#if 201103L <= YY_CPLUSPLUS
4415 make_RESERVATIONS_LOOKUP_FIRST (location_type l)
4417 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, std::move (l));
4424 return symbol_type (token::TOKEN_RESERVATIONS_LOOKUP_FIRST, l);
4427#if 201103L <= YY_CPLUSPLUS
4430 make_LOGGERS (location_type l)
4432 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4442#if 201103L <= YY_CPLUSPLUS
4445 make_OUTPUT_OPTIONS (location_type l)
4447 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4454 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
4457#if 201103L <= YY_CPLUSPLUS
4460 make_OUTPUT (location_type l)
4462 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4472#if 201103L <= YY_CPLUSPLUS
4475 make_DEBUGLEVEL (location_type l)
4477 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4487#if 201103L <= YY_CPLUSPLUS
4490 make_SEVERITY (location_type l)
4492 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4502#if 201103L <= YY_CPLUSPLUS
4505 make_FLUSH (location_type l)
4507 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4517#if 201103L <= YY_CPLUSPLUS
4520 make_MAXSIZE (location_type l)
4522 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4532#if 201103L <= YY_CPLUSPLUS
4535 make_MAXVER (location_type l)
4537 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4547#if 201103L <= YY_CPLUSPLUS
4550 make_PATTERN (location_type l)
4552 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4562#if 201103L <= YY_CPLUSPLUS
4565 make_COMPATIBILITY (location_type l)
4567 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4574 return symbol_type (token::TOKEN_COMPATIBILITY, l);
4577#if 201103L <= YY_CPLUSPLUS
4580 make_LENIENT_OPTION_PARSING (location_type l)
4582 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4589 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, l);
4592#if 201103L <= YY_CPLUSPLUS
4595 make_TOPLEVEL_JSON (location_type l)
4597 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4604 return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
4607#if 201103L <= YY_CPLUSPLUS
4610 make_TOPLEVEL_DHCP4 (location_type l)
4612 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, std::move (l));
4619 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, l);
4622#if 201103L <= YY_CPLUSPLUS
4625 make_SUB_DHCP4 (location_type l)
4627 return symbol_type (token::TOKEN_SUB_DHCP4, std::move (l));
4637#if 201103L <= YY_CPLUSPLUS
4640 make_SUB_INTERFACES4 (location_type l)
4642 return symbol_type (token::TOKEN_SUB_INTERFACES4, std::move (l));
4649 return symbol_type (token::TOKEN_SUB_INTERFACES4, l);
4652#if 201103L <= YY_CPLUSPLUS
4655 make_SUB_SUBNET4 (location_type l)
4657 return symbol_type (token::TOKEN_SUB_SUBNET4, std::move (l));
4667#if 201103L <= YY_CPLUSPLUS
4670 make_SUB_POOL4 (location_type l)
4672 return symbol_type (token::TOKEN_SUB_POOL4, std::move (l));
4682#if 201103L <= YY_CPLUSPLUS
4685 make_SUB_RESERVATION (location_type l)
4687 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
4694 return symbol_type (token::TOKEN_SUB_RESERVATION, l);
4697#if 201103L <= YY_CPLUSPLUS
4700 make_SUB_OPTION_DEFS (location_type l)
4702 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
4709 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
4712#if 201103L <= YY_CPLUSPLUS
4715 make_SUB_OPTION_DEF (location_type l)
4717 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
4724 return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
4727#if 201103L <= YY_CPLUSPLUS
4730 make_SUB_OPTION_DATA (location_type l)
4732 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
4739 return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
4742#if 201103L <= YY_CPLUSPLUS
4745 make_SUB_HOOKS_LIBRARY (location_type l)
4747 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
4754 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
4757#if 201103L <= YY_CPLUSPLUS
4760 make_SUB_DHCP_DDNS (location_type l)
4762 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
4769 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
4772#if 201103L <= YY_CPLUSPLUS
4775 make_SUB_CONFIG_CONTROL (location_type l)
4777 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
4784 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
4787#if 201103L <= YY_CPLUSPLUS
4790 make_STRING (std::string v, location_type l)
4792 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
4802#if 201103L <= YY_CPLUSPLUS
4805 make_INTEGER (int64_t v, location_type l)
4807 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
4817#if 201103L <= YY_CPLUSPLUS
4820 make_FLOAT (
double v, location_type l)
4822 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
4832#if 201103L <= YY_CPLUSPLUS
4835 make_BOOLEAN (
bool v, location_type l)
4837 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
4868#if YY_CPLUSPLUS < 201103L
4877 typedef short state_type;
4880 int yy_syntax_error_arguments_ (
const context& yyctx,
4881 symbol_kind_type yyarg[],
int yyargn)
const;
4885 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
4889 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
4893 static bool yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT;
4897 static bool yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT;
4899 static const short yypact_ninf_;
4900 static const signed char yytable_ninf_;
4905 static symbol_kind_type yytranslate_ (
int t)
YY_NOEXCEPT;
4908 static std::string yytnamerr_ (
const char *yystr);
4911 static const char*
const yytname_[];
4917 static const short yypact_[];
4922 static const short yydefact_[];
4925 static const short yypgoto_[];
4928 static const short yydefgoto_[];
4933 static const short yytable_[];
4935 static const short yycheck_[];
4939 static const short yystos_[];
4942 static const short yyr1_[];
4945 static const signed char yyr2_[];
4950 static const short yyrline_[];
4952 virtual void yy_reduce_print_ (
int r)
const;
4954 virtual void yy_stack_print_ ()
const;
4959 std::ostream* yycdebug_;
4964 template <
typename Base>
4965 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
4972 template <
typename Base>
4973 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
4983 typedef state_type kind_type;
4995 void move (by_state& that);
5003 enum { empty_state = 0 };
5011 struct stack_symbol_type : basic_symbol<by_state>
5014 typedef basic_symbol<by_state> super_type;
5016 stack_symbol_type ();
5018 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
5020 stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) sym);
5021#if YY_CPLUSPLUS < 201103L
5024 stack_symbol_type& operator= (stack_symbol_type& that);
5028 stack_symbol_type& operator= (
const stack_symbol_type& that);
5033 template <
typename T,
typename S = std::vector<T> >
5038 typedef typename S::iterator iterator;
5039 typedef typename S::const_iterator const_iterator;
5040 typedef typename S::size_type size_type;
5041 typedef typename std::ptrdiff_t index_type;
5047#if 201103L <= YY_CPLUSPLUS
5049 stack (
const stack&) =
delete;
5051 stack& operator= (
const stack&) =
delete;
5058 operator[] (index_type i)
const
5060 return seq_[size_type (size () - 1 - i)];
5067 operator[] (index_type i)
5069 return seq_[size_type (size () - 1 - i)];
5078 seq_.push_back (T ());
5079 operator[] (0).move (t);
5101 return index_type (seq_.size ());
5108 return seq_.begin ();
5128 operator[] (index_type i)
const
5130 return stack_[range_ - i];
5134 const stack& stack_;
5139#if YY_CPLUSPLUS < 201103L
5141 stack (
const stack&);
5143 stack& operator= (
const stack&);
5151 typedef stack<stack_symbol_type> stack_type;
5154 stack_type yystack_;
5161 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
5169 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
5198 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5199 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5200 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5201 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5202 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5203 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5204 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5205 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5206 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5207 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5208 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5209 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5210 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5211 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5212 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5213 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5214 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5215 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5216 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5217 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5220 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5223 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5224 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5225 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5226 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5227 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5228 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5229 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5230 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5231 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5232 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5233 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5234 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5235 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5236 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5237 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5238 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5239 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5240 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5241 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5242 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5243 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
5247 const int code_max = 460;
5251 else if (t <= code_max)
5258 template <
typename Base>
5264 switch (this->kind ())
5303 template <
typename Base>
5307 return this->kind ();
5311 template <
typename Base>
5318 template <
typename Base>
5322 super_type::move (s);
5323 switch (this->kind ())
5366#if 201103L <= YY_CPLUSPLUS
5369 : kind_ (that.kind_)
5377 : kind_ (that.kind_)
5382 : kind_ (yytranslate_ (t))
5414 return this->kind ();
5418#line 14 "dhcp4_parser.yy"
5420#line 5421 "dhcp4_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.
const T & as() const YY_NOEXCEPT
Const accessor to a built T (for printer).
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
void move(self_type &that)
Move the content of that to this.
T & emplace(const T &t)
Instantiate a T in here from t.
void destroy()
Destroy the stored T.
value_type() YY_NOEXCEPT
Empty construction.
void copy(const self_type &that)
Copy the content of that to this.
T & emplace()
Instantiate an empty T in here.
value_type(YY_RVREF(T) t)
Construct and fill.
T & build(const T &t)
Instantiate a T in here from t.
T & as() YY_NOEXCEPT
Accessor to a built T.
value_type self_type
Type of *this.
char yyraw_[size]
A buffer large enough to store any of the semantic values.
T & build()
Instantiate an empty T in here.
long double yyalign_me_
Strongest alignment constraints.
~value_type() YY_NOEXCEPT
Destruction, allowed only if empty.
static symbol_type make_SAME_AS_INBOUND(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE_ID(const location_type &l)
static symbol_type make_SUB_INTERFACES4(const location_type &l)
static symbol_type make_END(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_GENERATED_PREFIX(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_NAME(const location_type &l)
static symbol_type make_MATCH_CLIENT_ID(const location_type &l)
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_MAX_RETRIES(const location_type &l)
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_MEMFILE(const location_type &l)
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_REQUIRE_ALL(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_ALL(const location_type &l)
static symbol_type make_SENDER_PORT(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_SERVER_HOSTNAME(const location_type &l)
static symbol_type make_KEY_FILE(const location_type &l)
static symbol_type make_TEST(const location_type &l)
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_SOCKET_TYPE(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_USE_ROUTING(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
static symbol_type make_BOOT_FILE_NAME(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_IP_ADDRESSES(const location_type &l)
static symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type &l)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_SUBNET4(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
static symbol_type make_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_SUB_OPTION_DEFS(const location_type &l)
static symbol_type make_OPTION_DATA(const location_type &l)
static symbol_type make_EARLY_GLOBAL_RESERVATIONS_LOOKUP(const location_type &l)
static symbol_type make_POSTGRESQL(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
static symbol_type make_MYSQL(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_GLOBAL(const location_type &l)
token::token_kind_type token_kind_type
Token kind, as returned by yylex.
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_OUT_OF_POOL(const location_type &l)
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
static symbol_type make_PARSER4_UNDEF(const location_type &l)
static symbol_type make_CERT_FILE(const location_type &l)
static symbol_type make_ECHO_CLIENT_ID(const location_type &l)
static symbol_type make_CIPHER_LIST(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_DATA(const location_type &l)
location location_type
Symbol locations.
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_SUB_SUBNET4(const location_type &l)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_DUID(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE(const location_type &l)
static symbol_type make_DHCP4(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
value_type semantic_type
Backward compatibility (Bison 3.8).
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
static symbol_type make_PARSER4_error(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_AUTHORITATIVE(const location_type &l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(const location_type &l)
static symbol_type make_RESERVATION_MODE(const location_type &l)
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static symbol_type make_DHCP_QUEUE_CONTROL(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_PORT(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_NEXT_SERVER(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
static symbol_type make_RAW(const location_type &l)
static symbol_type make_OUTBOUND_INTERFACE(const location_type &l)
static const symbol_kind_type YYNTOKENS
The number of tokens.
static symbol_type make_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_SUB_POOL4(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
static symbol_type make_TRUST_ANCHOR(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_CLIENT_ID(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_RESERVATIONS_LOOKUP_FIRST(const location_type &l)
static symbol_type make_TOPLEVEL_DHCP4(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_HOST(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_DHCP_SOCKET_TYPE(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
static symbol_type make_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_USER_CONTEXT(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static symbol_type make_DISABLED(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_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_SUB_DHCP4(const location_type &l)
static symbol_type make_SUBNET_4O6_SUBNET(const location_type &l)
static symbol_type make_OUTPUT(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_CIRCUIT_ID(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
static symbol_type make_SERVICE_SOCKETS_RETRY_WAIT_TIME(const location_type &l)
static symbol_type make_LEASE_DATABASE(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.
~basic_symbol()
Destroy the symbol.
location_type location
The location.
Base super_type
Alias to Base.
basic_symbol(typename Base::kind_type t, const std::string &v, const location_type &l)
value_type value
The semantic value.
bool empty() const YY_NOEXCEPT
Whether empty.
basic_symbol(typename Base::kind_type t, const ElementPtr &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const location_type &l)
Constructors for typed symbols.
void move(basic_symbol &s)
Destructive move, s is emptied into this.
basic_symbol(typename Base::kind_type t, const int64_t &v, const location_type &l)
basic_symbol() YY_NOEXCEPT
Default constructor.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
Type access provider for token (enum) based symbols.
void move(by_kind &that)
Steal the symbol kind from that.
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
symbol_kind_type kind_
The symbol kind.
void clear() YY_NOEXCEPT
Record that this symbol is empty.
token_kind_type kind_type
The symbol kind as needed by the constructor.
by_kind() YY_NOEXCEPT
Default constructor.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
@ S_ddns_replace_client_name_value
@ YYNTOKENS
Number of tokens.
@ S_outbound_interface_value
"External" symbols: returned by the scanner.
basic_symbol< by_kind > super_type
Superclass.
symbol_type() YY_NOEXCEPT
Empty symbol.
Syntax errors thrown from user actions.
~syntax_error() YY_NOEXCEPT YY_NOTHROW
syntax_error(const syntax_error &s)
syntax_error(const location_type &l, const std::string &m)
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).