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_SANITY_CHECKS = 278,
523 TOKEN_LEASE_CHECKS = 279,
524 TOKEN_ECHO_CLIENT_ID = 280,
525 TOKEN_MATCH_CLIENT_ID = 281,
526 TOKEN_AUTHORITATIVE = 282,
527 TOKEN_NEXT_SERVER = 283,
528 TOKEN_SERVER_HOSTNAME = 284,
529 TOKEN_BOOT_FILE_NAME = 285,
530 TOKEN_LEASE_DATABASE = 286,
531 TOKEN_HOSTS_DATABASE = 287,
532 TOKEN_HOSTS_DATABASES = 288,
536 TOKEN_POSTGRESQL = 292,
539 TOKEN_PASSWORD = 295,
543 TOKEN_LFC_INTERVAL = 299,
544 TOKEN_READONLY = 300,
545 TOKEN_CONNECT_TIMEOUT = 301,
546 TOKEN_CONTACT_POINTS = 302,
547 TOKEN_KEYSPACE = 303,
548 TOKEN_CONSISTENCY = 304,
549 TOKEN_SERIAL_CONSISTENCY = 305,
550 TOKEN_MAX_RECONNECT_TRIES = 306,
551 TOKEN_RECONNECT_WAIT_TIME = 307,
553 TOKEN_STOP_RETRY_EXIT = 309,
554 TOKEN_SERVE_RETRY_EXIT = 310,
555 TOKEN_SERVE_RETRY_CONTINUE = 311,
556 TOKEN_REQUEST_TIMEOUT = 312,
557 TOKEN_TCP_KEEPALIVE = 313,
558 TOKEN_TCP_NODELAY = 314,
559 TOKEN_MAX_ROW_ERRORS = 315,
560 TOKEN_VALID_LIFETIME = 316,
561 TOKEN_MIN_VALID_LIFETIME = 317,
562 TOKEN_MAX_VALID_LIFETIME = 318,
563 TOKEN_RENEW_TIMER = 319,
564 TOKEN_REBIND_TIMER = 320,
565 TOKEN_CALCULATE_TEE_TIMES = 321,
566 TOKEN_T1_PERCENT = 322,
567 TOKEN_T2_PERCENT = 323,
568 TOKEN_CACHE_THRESHOLD = 324,
569 TOKEN_CACHE_MAX_AGE = 325,
570 TOKEN_DECLINE_PROBATION_PERIOD = 326,
571 TOKEN_SERVER_TAG = 327,
572 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 328,
573 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 329,
574 TOKEN_DDNS_SEND_UPDATES = 330,
575 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 331,
576 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 332,
577 TOKEN_DDNS_REPLACE_CLIENT_NAME = 333,
578 TOKEN_DDNS_GENERATED_PREFIX = 334,
579 TOKEN_DDNS_QUALIFYING_SUFFIX = 335,
580 TOKEN_DDNS_UPDATE_ON_RENEW = 336,
581 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 337,
582 TOKEN_STORE_EXTENDED_INFO = 338,
584 TOKEN_SUBNET_4O6_INTERFACE = 340,
585 TOKEN_SUBNET_4O6_INTERFACE_ID = 341,
586 TOKEN_SUBNET_4O6_SUBNET = 342,
587 TOKEN_OPTION_DEF = 343,
588 TOKEN_OPTION_DATA = 344,
593 TOKEN_CSV_FORMAT = 349,
594 TOKEN_ALWAYS_SEND = 350,
595 TOKEN_RECORD_TYPES = 351,
596 TOKEN_ENCAPSULATE = 352,
598 TOKEN_PARKED_PACKET_LIMIT = 354,
599 TOKEN_SHARED_NETWORKS = 355,
602 TOKEN_USER_CONTEXT = 358,
605 TOKEN_INTERFACE = 361,
607 TOKEN_RESERVATION_MODE = 363,
608 TOKEN_DISABLED = 364,
609 TOKEN_OUT_OF_POOL = 365,
612 TOKEN_RESERVATIONS_GLOBAL = 368,
613 TOKEN_RESERVATIONS_IN_SUBNET = 369,
614 TOKEN_RESERVATIONS_OUT_OF_POOL = 370,
615 TOKEN_HOST_RESERVATION_IDENTIFIERS = 371,
616 TOKEN_CLIENT_CLASSES = 372,
617 TOKEN_REQUIRE_CLIENT_CLASSES = 373,
619 TOKEN_ONLY_IF_REQUIRED = 375,
620 TOKEN_CLIENT_CLASS = 376,
621 TOKEN_RESERVATIONS = 377,
623 TOKEN_HW_ADDRESS = 379,
624 TOKEN_CIRCUIT_ID = 380,
625 TOKEN_CLIENT_ID = 381,
626 TOKEN_HOSTNAME = 382,
629 TOKEN_IP_ADDRESS = 385,
630 TOKEN_IP_ADDRESSES = 386,
631 TOKEN_HOOKS_LIBRARIES = 387,
633 TOKEN_PARAMETERS = 389,
634 TOKEN_EXPIRED_LEASES_PROCESSING = 390,
635 TOKEN_RECLAIM_TIMER_WAIT_TIME = 391,
636 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 392,
637 TOKEN_HOLD_RECLAIMED_TIME = 393,
638 TOKEN_MAX_RECLAIM_LEASES = 394,
639 TOKEN_MAX_RECLAIM_TIME = 395,
640 TOKEN_UNWARNED_RECLAIM_CYCLES = 396,
641 TOKEN_DHCP4O6_PORT = 397,
642 TOKEN_DHCP_MULTI_THREADING = 398,
643 TOKEN_ENABLE_MULTI_THREADING = 399,
644 TOKEN_THREAD_POOL_SIZE = 400,
645 TOKEN_PACKET_QUEUE_SIZE = 401,
646 TOKEN_CONTROL_SOCKET = 402,
647 TOKEN_SOCKET_TYPE = 403,
648 TOKEN_SOCKET_NAME = 404,
649 TOKEN_DHCP_QUEUE_CONTROL = 405,
650 TOKEN_ENABLE_QUEUE = 406,
651 TOKEN_QUEUE_TYPE = 407,
652 TOKEN_CAPACITY = 408,
653 TOKEN_DHCP_DDNS = 409,
654 TOKEN_ENABLE_UPDATES = 410,
655 TOKEN_QUALIFYING_SUFFIX = 411,
656 TOKEN_SERVER_IP = 412,
657 TOKEN_SERVER_PORT = 413,
658 TOKEN_SENDER_IP = 414,
659 TOKEN_SENDER_PORT = 415,
660 TOKEN_MAX_QUEUE_SIZE = 416,
661 TOKEN_NCR_PROTOCOL = 417,
662 TOKEN_NCR_FORMAT = 418,
663 TOKEN_OVERRIDE_NO_UPDATE = 419,
664 TOKEN_OVERRIDE_CLIENT_UPDATE = 420,
665 TOKEN_REPLACE_CLIENT_NAME = 421,
666 TOKEN_GENERATED_PREFIX = 422,
669 TOKEN_WHEN_PRESENT = 425,
672 TOKEN_WHEN_NOT_PRESENT = 428,
673 TOKEN_HOSTNAME_CHAR_SET = 429,
674 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 430,
675 TOKEN_IP_RESERVATIONS_UNIQUE = 431,
677 TOKEN_OUTPUT_OPTIONS = 433,
679 TOKEN_DEBUGLEVEL = 435,
680 TOKEN_SEVERITY = 436,
685 TOKEN_COMPATIBILITY = 441,
686 TOKEN_LENIENT_OPTION_PARSING = 442,
687 TOKEN_TOPLEVEL_JSON = 443,
688 TOKEN_TOPLEVEL_DHCP4 = 444,
689 TOKEN_SUB_DHCP4 = 445,
690 TOKEN_SUB_INTERFACES4 = 446,
691 TOKEN_SUB_SUBNET4 = 447,
692 TOKEN_SUB_POOL4 = 448,
693 TOKEN_SUB_RESERVATION = 449,
694 TOKEN_SUB_OPTION_DEFS = 450,
695 TOKEN_SUB_OPTION_DEF = 451,
696 TOKEN_SUB_OPTION_DATA = 452,
697 TOKEN_SUB_HOOKS_LIBRARY = 453,
698 TOKEN_SUB_DHCP_DDNS = 454,
699 TOKEN_SUB_CONFIG_CONTROL = 455,
727 S_LSQUARE_BRACKET = 5,
728 S_RSQUARE_BRACKET = 6,
729 S_LCURLY_BRACKET = 7,
730 S_RCURLY_BRACKET = 8,
733 S_CONFIG_CONTROL = 11,
734 S_CONFIG_DATABASES = 12,
735 S_CONFIG_FETCH_WAIT_TIME = 13,
736 S_INTERFACES_CONFIG = 14,
738 S_DHCP_SOCKET_TYPE = 16,
741 S_OUTBOUND_INTERFACE = 19,
742 S_SAME_AS_INBOUND = 20,
745 S_SANITY_CHECKS = 23,
747 S_ECHO_CLIENT_ID = 25,
748 S_MATCH_CLIENT_ID = 26,
749 S_AUTHORITATIVE = 27,
751 S_SERVER_HOSTNAME = 29,
752 S_BOOT_FILE_NAME = 30,
753 S_LEASE_DATABASE = 31,
754 S_HOSTS_DATABASE = 32,
755 S_HOSTS_DATABASES = 33,
768 S_CONNECT_TIMEOUT = 46,
769 S_CONTACT_POINTS = 47,
772 S_SERIAL_CONSISTENCY = 50,
773 S_MAX_RECONNECT_TRIES = 51,
774 S_RECONNECT_WAIT_TIME = 52,
776 S_STOP_RETRY_EXIT = 54,
777 S_SERVE_RETRY_EXIT = 55,
778 S_SERVE_RETRY_CONTINUE = 56,
779 S_REQUEST_TIMEOUT = 57,
780 S_TCP_KEEPALIVE = 58,
782 S_MAX_ROW_ERRORS = 60,
783 S_VALID_LIFETIME = 61,
784 S_MIN_VALID_LIFETIME = 62,
785 S_MAX_VALID_LIFETIME = 63,
788 S_CALCULATE_TEE_TIMES = 66,
791 S_CACHE_THRESHOLD = 69,
792 S_CACHE_MAX_AGE = 70,
793 S_DECLINE_PROBATION_PERIOD = 71,
795 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 73,
796 S_STATISTIC_DEFAULT_SAMPLE_AGE = 74,
797 S_DDNS_SEND_UPDATES = 75,
798 S_DDNS_OVERRIDE_NO_UPDATE = 76,
799 S_DDNS_OVERRIDE_CLIENT_UPDATE = 77,
800 S_DDNS_REPLACE_CLIENT_NAME = 78,
801 S_DDNS_GENERATED_PREFIX = 79,
802 S_DDNS_QUALIFYING_SUFFIX = 80,
803 S_DDNS_UPDATE_ON_RENEW = 81,
804 S_DDNS_USE_CONFLICT_RESOLUTION = 82,
805 S_STORE_EXTENDED_INFO = 83,
807 S_SUBNET_4O6_INTERFACE = 85,
808 S_SUBNET_4O6_INTERFACE_ID = 86,
809 S_SUBNET_4O6_SUBNET = 87,
821 S_PARKED_PACKET_LIMIT = 99,
822 S_SHARED_NETWORKS = 100,
825 S_USER_CONTEXT = 103,
830 S_RESERVATION_MODE = 108,
835 S_RESERVATIONS_GLOBAL = 113,
836 S_RESERVATIONS_IN_SUBNET = 114,
837 S_RESERVATIONS_OUT_OF_POOL = 115,
838 S_HOST_RESERVATION_IDENTIFIERS = 116,
839 S_CLIENT_CLASSES = 117,
840 S_REQUIRE_CLIENT_CLASSES = 118,
842 S_ONLY_IF_REQUIRED = 120,
843 S_CLIENT_CLASS = 121,
844 S_RESERVATIONS = 122,
853 S_IP_ADDRESSES = 131,
854 S_HOOKS_LIBRARIES = 132,
857 S_EXPIRED_LEASES_PROCESSING = 135,
858 S_RECLAIM_TIMER_WAIT_TIME = 136,
859 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 137,
860 S_HOLD_RECLAIMED_TIME = 138,
861 S_MAX_RECLAIM_LEASES = 139,
862 S_MAX_RECLAIM_TIME = 140,
863 S_UNWARNED_RECLAIM_CYCLES = 141,
864 S_DHCP4O6_PORT = 142,
865 S_DHCP_MULTI_THREADING = 143,
866 S_ENABLE_MULTI_THREADING = 144,
867 S_THREAD_POOL_SIZE = 145,
868 S_PACKET_QUEUE_SIZE = 146,
869 S_CONTROL_SOCKET = 147,
872 S_DHCP_QUEUE_CONTROL = 150,
873 S_ENABLE_QUEUE = 151,
877 S_ENABLE_UPDATES = 155,
878 S_QUALIFYING_SUFFIX = 156,
883 S_MAX_QUEUE_SIZE = 161,
884 S_NCR_PROTOCOL = 162,
886 S_OVERRIDE_NO_UPDATE = 164,
887 S_OVERRIDE_CLIENT_UPDATE = 165,
888 S_REPLACE_CLIENT_NAME = 166,
889 S_GENERATED_PREFIX = 167,
892 S_WHEN_PRESENT = 170,
895 S_WHEN_NOT_PRESENT = 173,
896 S_HOSTNAME_CHAR_SET = 174,
897 S_HOSTNAME_CHAR_REPLACEMENT = 175,
898 S_IP_RESERVATIONS_UNIQUE = 176,
900 S_OUTPUT_OPTIONS = 178,
908 S_COMPATIBILITY = 186,
909 S_LENIENT_OPTION_PARSING = 187,
910 S_TOPLEVEL_JSON = 188,
911 S_TOPLEVEL_DHCP4 = 189,
913 S_SUB_INTERFACES4 = 191,
916 S_SUB_RESERVATION = 194,
917 S_SUB_OPTION_DEFS = 195,
918 S_SUB_OPTION_DEF = 196,
919 S_SUB_OPTION_DATA = 197,
920 S_SUB_HOOKS_LIBRARY = 198,
921 S_SUB_DHCP_DDNS = 199,
922 S_SUB_CONFIG_CONTROL = 200,
948 S_not_empty_map = 226,
949 S_list_generic = 227,
951 S_list_content = 229,
952 S_not_empty_list = 230,
953 S_list_strings = 231,
955 S_list_strings_content = 233,
956 S_not_empty_list_strings = 234,
957 S_unknown_map_entry = 235,
960 S_global_object = 238,
964 S_global_params = 242,
965 S_global_param = 243,
966 S_valid_lifetime = 244,
967 S_min_valid_lifetime = 245,
968 S_max_valid_lifetime = 246,
970 S_rebind_timer = 248,
971 S_calculate_tee_times = 249,
974 S_cache_threshold = 252,
975 S_cache_max_age = 253,
976 S_decline_probation_period = 254,
979 S_parked_packet_limit = 257,
980 S_echo_client_id = 258,
981 S_match_client_id = 259,
982 S_authoritative = 260,
983 S_ddns_send_updates = 261,
984 S_ddns_override_no_update = 262,
985 S_ddns_override_client_update = 263,
986 S_ddns_replace_client_name = 264,
988 S_ddns_replace_client_name_value = 266,
989 S_ddns_generated_prefix = 267,
991 S_ddns_qualifying_suffix = 269,
993 S_ddns_update_on_renew = 271,
994 S_ddns_use_conflict_resolution = 272,
995 S_hostname_char_set = 273,
997 S_hostname_char_replacement = 275,
999 S_store_extended_info = 277,
1000 S_statistic_default_sample_count = 278,
1001 S_statistic_default_sample_age = 279,
1002 S_ip_reservations_unique = 280,
1003 S_interfaces_config = 281,
1005 S_interfaces_config_params = 283,
1006 S_interfaces_config_param = 284,
1007 S_sub_interfaces4 = 285,
1009 S_interfaces_list = 287,
1011 S_dhcp_socket_type = 289,
1013 S_socket_type = 291,
1014 S_outbound_interface = 292,
1016 S_outbound_interface_value = 294,
1018 S_lease_database = 296,
1020 S_sanity_checks = 298,
1022 S_sanity_checks_params = 300,
1023 S_sanity_checks_param = 301,
1024 S_lease_checks = 302,
1026 S_hosts_database = 304,
1028 S_hosts_databases = 306,
1030 S_database_list = 308,
1031 S_not_empty_database_list = 309,
1034 S_database_map_params = 312,
1035 S_database_map_param = 313,
1036 S_database_type = 314,
1049 S_lfc_interval = 327,
1051 S_connect_timeout = 329,
1052 S_request_timeout = 330,
1053 S_tcp_keepalive = 331,
1054 S_tcp_nodelay = 332,
1055 S_contact_points = 333,
1059 S_consistency = 337,
1061 S_serial_consistency = 339,
1063 S_max_reconnect_tries = 341,
1064 S_reconnect_wait_time = 342,
1067 S_on_fail_mode = 345,
1068 S_max_row_errors = 346,
1069 S_host_reservation_identifiers = 347,
1071 S_host_reservation_identifiers_list = 349,
1072 S_host_reservation_identifier = 350,
1074 S_hw_address_id = 352,
1078 S_dhcp_multi_threading = 356,
1080 S_multi_threading_params = 358,
1081 S_multi_threading_param = 359,
1082 S_enable_multi_threading = 360,
1083 S_thread_pool_size = 361,
1084 S_packet_queue_size = 362,
1085 S_hooks_libraries = 363,
1087 S_hooks_libraries_list = 365,
1088 S_not_empty_hooks_libraries_list = 366,
1089 S_hooks_library = 367,
1091 S_sub_hooks_library = 369,
1093 S_hooks_params = 371,
1094 S_hooks_param = 372,
1099 S_expired_leases_processing = 377,
1101 S_expired_leases_params = 379,
1102 S_expired_leases_param = 380,
1103 S_reclaim_timer_wait_time = 381,
1104 S_flush_reclaimed_timer_wait_time = 382,
1105 S_hold_reclaimed_time = 383,
1106 S_max_reclaim_leases = 384,
1107 S_max_reclaim_time = 385,
1108 S_unwarned_reclaim_cycles = 386,
1109 S_subnet4_list = 387,
1111 S_subnet4_list_content = 389,
1112 S_not_empty_subnet4_list = 390,
1115 S_sub_subnet4 = 393,
1117 S_subnet4_params = 395,
1118 S_subnet4_param = 396,
1121 S_subnet_4o6_interface = 399,
1123 S_subnet_4o6_interface_id = 401,
1125 S_subnet_4o6_subnet = 403,
1129 S_client_class = 407,
1131 S_require_client_classes = 409,
1133 S_reservations_global = 411,
1134 S_reservations_in_subnet = 412,
1135 S_reservations_out_of_pool = 413,
1136 S_reservation_mode = 414,
1140 S_shared_networks = 418,
1142 S_shared_networks_content = 420,
1143 S_shared_networks_list = 421,
1144 S_shared_network = 422,
1146 S_shared_network_params = 424,
1147 S_shared_network_param = 425,
1148 S_option_def_list = 426,
1150 S_sub_option_def_list = 428,
1152 S_option_def_list_content = 430,
1153 S_not_empty_option_def_list = 431,
1154 S_option_def_entry = 432,
1156 S_sub_option_def = 434,
1158 S_option_def_params = 436,
1159 S_not_empty_option_def_params = 437,
1160 S_option_def_param = 438,
1161 S_option_def_name = 439,
1163 S_option_def_code = 441,
1164 S_option_def_type = 442,
1166 S_option_def_record_types = 444,
1170 S_option_def_space = 448,
1171 S_option_def_encapsulate = 449,
1173 S_option_def_array = 451,
1174 S_option_data_list = 452,
1176 S_option_data_list_content = 454,
1177 S_not_empty_option_data_list = 455,
1178 S_option_data_entry = 456,
1180 S_sub_option_data = 458,
1182 S_option_data_params = 460,
1183 S_not_empty_option_data_params = 461,
1184 S_option_data_param = 462,
1185 S_option_data_name = 463,
1186 S_option_data_data = 464,
1188 S_option_data_code = 466,
1189 S_option_data_space = 467,
1190 S_option_data_csv_format = 468,
1191 S_option_data_always_send = 469,
1194 S_pools_list_content = 472,
1195 S_not_empty_pools_list = 473,
1196 S_pool_list_entry = 474,
1200 S_pool_params = 478,
1204 S_user_context = 482,
1208 S_reservations = 486,
1210 S_reservations_list = 488,
1211 S_not_empty_reservations_list = 489,
1212 S_reservation = 490,
1214 S_sub_reservation = 492,
1216 S_reservation_params = 494,
1217 S_not_empty_reservation_params = 495,
1218 S_reservation_param = 496,
1219 S_next_server = 497,
1221 S_server_hostname = 499,
1223 S_boot_file_name = 501,
1227 S_ip_addresses = 505,
1233 S_client_id_value = 511,
1235 S_circuit_id_value = 513,
1237 S_flex_id_value = 515,
1241 S_reservation_client_classes = 519,
1246 S_client_classes = 524,
1248 S_client_classes_list = 526,
1249 S_client_class_entry = 527,
1251 S_client_class_params = 529,
1252 S_not_empty_client_class_params = 530,
1253 S_client_class_param = 531,
1254 S_client_class_name = 532,
1255 S_client_class_test = 533,
1257 S_only_if_required = 535,
1258 S_dhcp4o6_port = 536,
1259 S_control_socket = 537,
1261 S_control_socket_params = 539,
1262 S_control_socket_param = 540,
1263 S_control_socket_type = 541,
1265 S_control_socket_name = 543,
1267 S_dhcp_queue_control = 545,
1269 S_queue_control_params = 547,
1270 S_queue_control_param = 548,
1271 S_enable_queue = 549,
1275 S_arbitrary_map_entry = 553,
1279 S_sub_dhcp_ddns = 557,
1281 S_dhcp_ddns_params = 559,
1282 S_dhcp_ddns_param = 560,
1283 S_enable_updates = 561,
1286 S_server_port = 564,
1289 S_sender_port = 567,
1290 S_max_queue_size = 568,
1291 S_ncr_protocol = 569,
1293 S_ncr_protocol_value = 571,
1296 S_dep_qualifying_suffix = 574,
1298 S_dep_override_no_update = 576,
1299 S_dep_override_client_update = 577,
1300 S_dep_replace_client_name = 578,
1302 S_dep_generated_prefix = 580,
1304 S_dep_hostname_char_set = 582,
1306 S_dep_hostname_char_replacement = 584,
1308 S_config_control = 586,
1310 S_sub_config_control = 588,
1312 S_config_control_params = 590,
1313 S_config_control_param = 591,
1314 S_config_databases = 592,
1316 S_config_fetch_wait_time = 594,
1319 S_loggers_entries = 597,
1320 S_logger_entry = 598,
1322 S_logger_params = 600,
1323 S_logger_param = 601,
1327 S_output_options_list = 605,
1329 S_output_options_list_content = 607,
1330 S_output_entry = 608,
1332 S_output_params_list = 610,
1333 S_output_params = 611,
1341 S_compatibility = 619,
1343 S_compatibility_params = 621,
1344 S_compatibility_param = 622,
1345 S_lenient_option_parsing = 623
1361 template <
typename Base>
1373#if 201103L <= YY_CPLUSPLUS
1376 : Base (std::move (that))
1380 switch (this->kind ())
1391 value.move<
ElementPtr > (std::move (that.value));
1395 value.move<
bool > (std::move (that.value));
1399 value.move<
double > (std::move (that.value));
1403 value.move< int64_t > (std::move (that.value));
1407 value.move< std::string > (std::move (that.value));
1418 basic_symbol (
const basic_symbol& that);
1421#if 201103L <= YY_CPLUSPLUS
1422 basic_symbol (
typename Base::kind_type t,
location_type&& l)
1433#if 201103L <= YY_CPLUSPLUS
1436 , value (std::move (v))
1447#if 201103L <= YY_CPLUSPLUS
1450 , value (std::move (v))
1461#if 201103L <= YY_CPLUSPLUS
1464 , value (std::move (v))
1475#if 201103L <= YY_CPLUSPLUS
1478 , value (std::move (v))
1489#if 201103L <= YY_CPLUSPLUS
1492 , value (std::move (v))
1536 value.template destroy< ElementPtr > ();
1540 value.template destroy< bool > ();
1544 value.template destroy< double > ();
1548 value.template destroy< int64_t > ();
1552 value.template destroy< std::string > ();
1584#if YY_CPLUSPLUS < 201103L
1599#if 201103L <= YY_CPLUSPLUS
1643#if 201103L <= YY_CPLUSPLUS
1651#if !defined _MSC_VER || defined __clang__
1656#if 201103L <= YY_CPLUSPLUS
1664#if !defined _MSC_VER || defined __clang__
1668#if 201103L <= YY_CPLUSPLUS
1676#if !defined _MSC_VER || defined __clang__
1680#if 201103L <= YY_CPLUSPLUS
1688#if !defined _MSC_VER || defined __clang__
1692#if 201103L <= YY_CPLUSPLUS
1700#if !defined _MSC_VER || defined __clang__
1710#if 201103L <= YY_CPLUSPLUS
1723 virtual int parse ();
1752#if 201103L <= YY_CPLUSPLUS
1767#if 201103L <= YY_CPLUSPLUS
1782#if 201103L <= YY_CPLUSPLUS
1797#if 201103L <= YY_CPLUSPLUS
1812#if 201103L <= YY_CPLUSPLUS
1827#if 201103L <= YY_CPLUSPLUS
1842#if 201103L <= YY_CPLUSPLUS
1857#if 201103L <= YY_CPLUSPLUS
1872#if 201103L <= YY_CPLUSPLUS
1887#if 201103L <= YY_CPLUSPLUS
1902#if 201103L <= YY_CPLUSPLUS
1917#if 201103L <= YY_CPLUSPLUS
1932#if 201103L <= YY_CPLUSPLUS
1947#if 201103L <= YY_CPLUSPLUS
1962#if 201103L <= YY_CPLUSPLUS
1977#if 201103L <= YY_CPLUSPLUS
1992#if 201103L <= YY_CPLUSPLUS
2007#if 201103L <= YY_CPLUSPLUS
2022#if 201103L <= YY_CPLUSPLUS
2037#if 201103L <= YY_CPLUSPLUS
2052#if 201103L <= YY_CPLUSPLUS
2067#if 201103L <= YY_CPLUSPLUS
2082#if 201103L <= YY_CPLUSPLUS
2097#if 201103L <= YY_CPLUSPLUS
2112#if 201103L <= YY_CPLUSPLUS
2127#if 201103L <= YY_CPLUSPLUS
2142#if 201103L <= YY_CPLUSPLUS
2157#if 201103L <= YY_CPLUSPLUS
2172#if 201103L <= YY_CPLUSPLUS
2187#if 201103L <= YY_CPLUSPLUS
2202#if 201103L <= YY_CPLUSPLUS
2217#if 201103L <= YY_CPLUSPLUS
2232#if 201103L <= YY_CPLUSPLUS
2247#if 201103L <= YY_CPLUSPLUS
2262#if 201103L <= YY_CPLUSPLUS
2277#if 201103L <= YY_CPLUSPLUS
2292#if 201103L <= YY_CPLUSPLUS
2307#if 201103L <= YY_CPLUSPLUS
2322#if 201103L <= YY_CPLUSPLUS
2337#if 201103L <= YY_CPLUSPLUS
2352#if 201103L <= YY_CPLUSPLUS
2367#if 201103L <= YY_CPLUSPLUS
2382#if 201103L <= YY_CPLUSPLUS
2397#if 201103L <= YY_CPLUSPLUS
2412#if 201103L <= YY_CPLUSPLUS
2427#if 201103L <= YY_CPLUSPLUS
2442#if 201103L <= YY_CPLUSPLUS
2457#if 201103L <= YY_CPLUSPLUS
2472#if 201103L <= YY_CPLUSPLUS
2487#if 201103L <= YY_CPLUSPLUS
2502#if 201103L <= YY_CPLUSPLUS
2517#if 201103L <= YY_CPLUSPLUS
2532#if 201103L <= YY_CPLUSPLUS
2547#if 201103L <= YY_CPLUSPLUS
2562#if 201103L <= YY_CPLUSPLUS
2577#if 201103L <= YY_CPLUSPLUS
2592#if 201103L <= YY_CPLUSPLUS
2607#if 201103L <= YY_CPLUSPLUS
2622#if 201103L <= YY_CPLUSPLUS
2637#if 201103L <= YY_CPLUSPLUS
2652#if 201103L <= YY_CPLUSPLUS
2667#if 201103L <= YY_CPLUSPLUS
2682#if 201103L <= YY_CPLUSPLUS
2697#if 201103L <= YY_CPLUSPLUS
2712#if 201103L <= YY_CPLUSPLUS
2727#if 201103L <= YY_CPLUSPLUS
2742#if 201103L <= YY_CPLUSPLUS
2757#if 201103L <= YY_CPLUSPLUS
2772#if 201103L <= YY_CPLUSPLUS
2787#if 201103L <= YY_CPLUSPLUS
2802#if 201103L <= YY_CPLUSPLUS
2817#if 201103L <= YY_CPLUSPLUS
2832#if 201103L <= YY_CPLUSPLUS
2847#if 201103L <= YY_CPLUSPLUS
2862#if 201103L <= YY_CPLUSPLUS
2877#if 201103L <= YY_CPLUSPLUS
2892#if 201103L <= YY_CPLUSPLUS
2907#if 201103L <= YY_CPLUSPLUS
2922#if 201103L <= YY_CPLUSPLUS
2937#if 201103L <= YY_CPLUSPLUS
2952#if 201103L <= YY_CPLUSPLUS
2967#if 201103L <= YY_CPLUSPLUS
2982#if 201103L <= YY_CPLUSPLUS
2997#if 201103L <= YY_CPLUSPLUS
3012#if 201103L <= YY_CPLUSPLUS
3027#if 201103L <= YY_CPLUSPLUS
3042#if 201103L <= YY_CPLUSPLUS
3057#if 201103L <= YY_CPLUSPLUS
3072#if 201103L <= YY_CPLUSPLUS
3087#if 201103L <= YY_CPLUSPLUS
3102#if 201103L <= YY_CPLUSPLUS
3117#if 201103L <= YY_CPLUSPLUS
3132#if 201103L <= YY_CPLUSPLUS
3147#if 201103L <= YY_CPLUSPLUS
3162#if 201103L <= YY_CPLUSPLUS
3177#if 201103L <= YY_CPLUSPLUS
3192#if 201103L <= YY_CPLUSPLUS
3207#if 201103L <= YY_CPLUSPLUS
3222#if 201103L <= YY_CPLUSPLUS
3237#if 201103L <= YY_CPLUSPLUS
3252#if 201103L <= YY_CPLUSPLUS
3267#if 201103L <= YY_CPLUSPLUS
3282#if 201103L <= YY_CPLUSPLUS
3297#if 201103L <= YY_CPLUSPLUS
3312#if 201103L <= YY_CPLUSPLUS
3327#if 201103L <= YY_CPLUSPLUS
3342#if 201103L <= YY_CPLUSPLUS
3357#if 201103L <= YY_CPLUSPLUS
3372#if 201103L <= YY_CPLUSPLUS
3387#if 201103L <= YY_CPLUSPLUS
3402#if 201103L <= YY_CPLUSPLUS
3417#if 201103L <= YY_CPLUSPLUS
3432#if 201103L <= YY_CPLUSPLUS
3447#if 201103L <= YY_CPLUSPLUS
3462#if 201103L <= YY_CPLUSPLUS
3477#if 201103L <= YY_CPLUSPLUS
3492#if 201103L <= YY_CPLUSPLUS
3507#if 201103L <= YY_CPLUSPLUS
3522#if 201103L <= YY_CPLUSPLUS
3537#if 201103L <= YY_CPLUSPLUS
3552#if 201103L <= YY_CPLUSPLUS
3567#if 201103L <= YY_CPLUSPLUS
3582#if 201103L <= YY_CPLUSPLUS
3597#if 201103L <= YY_CPLUSPLUS
3612#if 201103L <= YY_CPLUSPLUS
3627#if 201103L <= YY_CPLUSPLUS
3642#if 201103L <= YY_CPLUSPLUS
3657#if 201103L <= YY_CPLUSPLUS
3672#if 201103L <= YY_CPLUSPLUS
3687#if 201103L <= YY_CPLUSPLUS
3702#if 201103L <= YY_CPLUSPLUS
3717#if 201103L <= YY_CPLUSPLUS
3732#if 201103L <= YY_CPLUSPLUS
3747#if 201103L <= YY_CPLUSPLUS
3762#if 201103L <= YY_CPLUSPLUS
3777#if 201103L <= YY_CPLUSPLUS
3792#if 201103L <= YY_CPLUSPLUS
3807#if 201103L <= YY_CPLUSPLUS
3822#if 201103L <= YY_CPLUSPLUS
3837#if 201103L <= YY_CPLUSPLUS
3852#if 201103L <= YY_CPLUSPLUS
3867#if 201103L <= YY_CPLUSPLUS
3882#if 201103L <= YY_CPLUSPLUS
3897#if 201103L <= YY_CPLUSPLUS
3912#if 201103L <= YY_CPLUSPLUS
3927#if 201103L <= YY_CPLUSPLUS
3942#if 201103L <= YY_CPLUSPLUS
3957#if 201103L <= YY_CPLUSPLUS
3972#if 201103L <= YY_CPLUSPLUS
3987#if 201103L <= YY_CPLUSPLUS
4002#if 201103L <= YY_CPLUSPLUS
4017#if 201103L <= YY_CPLUSPLUS
4032#if 201103L <= YY_CPLUSPLUS
4047#if 201103L <= YY_CPLUSPLUS
4062#if 201103L <= YY_CPLUSPLUS
4077#if 201103L <= YY_CPLUSPLUS
4092#if 201103L <= YY_CPLUSPLUS
4107#if 201103L <= YY_CPLUSPLUS
4122#if 201103L <= YY_CPLUSPLUS
4137#if 201103L <= YY_CPLUSPLUS
4152#if 201103L <= YY_CPLUSPLUS
4167#if 201103L <= YY_CPLUSPLUS
4182#if 201103L <= YY_CPLUSPLUS
4197#if 201103L <= YY_CPLUSPLUS
4212#if 201103L <= YY_CPLUSPLUS
4227#if 201103L <= YY_CPLUSPLUS
4242#if 201103L <= YY_CPLUSPLUS
4257#if 201103L <= YY_CPLUSPLUS
4272#if 201103L <= YY_CPLUSPLUS
4287#if 201103L <= YY_CPLUSPLUS
4302#if 201103L <= YY_CPLUSPLUS
4317#if 201103L <= YY_CPLUSPLUS
4332#if 201103L <= YY_CPLUSPLUS
4347#if 201103L <= YY_CPLUSPLUS
4362#if 201103L <= YY_CPLUSPLUS
4377#if 201103L <= YY_CPLUSPLUS
4392#if 201103L <= YY_CPLUSPLUS
4407#if 201103L <= YY_CPLUSPLUS
4422#if 201103L <= YY_CPLUSPLUS
4437#if 201103L <= YY_CPLUSPLUS
4452#if 201103L <= YY_CPLUSPLUS
4467#if 201103L <= YY_CPLUSPLUS
4482#if 201103L <= YY_CPLUSPLUS
4497#if 201103L <= YY_CPLUSPLUS
4512#if 201103L <= YY_CPLUSPLUS
4527#if 201103L <= YY_CPLUSPLUS
4542#if 201103L <= YY_CPLUSPLUS
4557#if 201103L <= YY_CPLUSPLUS
4572#if 201103L <= YY_CPLUSPLUS
4587#if 201103L <= YY_CPLUSPLUS
4602#if 201103L <= YY_CPLUSPLUS
4617#if 201103L <= YY_CPLUSPLUS
4632#if 201103L <= YY_CPLUSPLUS
4647#if 201103L <= YY_CPLUSPLUS
4662#if 201103L <= YY_CPLUSPLUS
4677#if 201103L <= YY_CPLUSPLUS
4692#if 201103L <= YY_CPLUSPLUS
4707#if 201103L <= YY_CPLUSPLUS
4722#if 201103L <= YY_CPLUSPLUS
4737#if 201103L <= YY_CPLUSPLUS
4752#if 201103L <= YY_CPLUSPLUS
4767#if 201103L <= YY_CPLUSPLUS
4782#if 201103L <= YY_CPLUSPLUS
4797#if 201103L <= YY_CPLUSPLUS
4812#if 201103L <= YY_CPLUSPLUS
4848#if YY_CPLUSPLUS < 201103L
4857 typedef short state_type;
4860 int yy_syntax_error_arguments_ (
const context& yyctx,
4865 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
4869 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
4873 static bool yy_pact_value_is_default_ (
int yyvalue)
YY_NOEXCEPT;
4877 static bool yy_table_value_is_error_ (
int yyvalue)
YY_NOEXCEPT;
4879 static const short yypact_ninf_;
4880 static const signed char yytable_ninf_;
4888 static std::string yytnamerr_ (
const char *yystr);
4891 static const char*
const yytname_[];
4897 static const short yypact_[];
4902 static const short yydefact_[];
4905 static const short yypgoto_[];
4908 static const short yydefgoto_[];
4913 static const short yytable_[];
4915 static const short yycheck_[];
4919 static const short yystos_[];
4922 static const short yyr1_[];
4925 static const signed char yyr2_[];
4930 static const short yyrline_[];
4932 virtual void yy_reduce_print_ (
int r)
const;
4934 virtual void yy_stack_print_ ()
const;
4939 std::ostream* yycdebug_;
4944 template <
typename Base>
4945 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
4952 template <
typename Base>
4953 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
4963 typedef state_type kind_type;
4975 void move (by_state& that);
4983 enum { empty_state = 0 };
4991 struct stack_symbol_type : basic_symbol<by_state>
4994 typedef basic_symbol<by_state> super_type;
4996 stack_symbol_type ();
4998 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
5000 stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) sym);
5001#if YY_CPLUSPLUS < 201103L
5004 stack_symbol_type& operator= (stack_symbol_type& that);
5008 stack_symbol_type& operator= (
const stack_symbol_type& that);
5013 template <
typename T,
typename S = std::vector<T> >
5018 typedef typename S::iterator iterator;
5019 typedef typename S::const_iterator const_iterator;
5020 typedef typename S::size_type size_type;
5021 typedef typename std::ptrdiff_t index_type;
5027#if 201103L <= YY_CPLUSPLUS
5029 stack (
const stack&) =
delete;
5031 stack& operator= (
const stack&) =
delete;
5038 operator[] (index_type i)
const
5040 return seq_[size_type (size () - 1 - i)];
5047 operator[] (index_type i)
5049 return seq_[size_type (size () - 1 - i)];
5058 seq_.push_back (T ());
5059 operator[] (0).move (t);
5081 return index_type (seq_.size ());
5088 return seq_.begin ();
5108 operator[] (index_type i)
const
5110 return stack_[range_ - i];
5114 const stack& stack_;
5119#if YY_CPLUSPLUS < 201103L
5121 stack (
const stack&);
5123 stack& operator= (
const stack&);
5131 typedef stack<stack_symbol_type> stack_type;
5134 stack_type yystack_;
5141 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
5149 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
5178 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5179 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5180 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5181 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5182 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5183 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5184 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5185 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5186 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5187 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5188 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5189 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5190 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5191 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5192 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5193 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5194 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5195 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5196 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5197 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5198 2, 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, 1, 2, 3, 4,
5204 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5205 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5206 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5207 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5208 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5209 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5210 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5211 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5212 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5213 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5214 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5215 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5216 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5217 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5218 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5219 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5220 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5221 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5222 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5223 195, 196, 197, 198, 199, 200, 201, 202, 203, 204
5226 const int code_max = 459;
5230 else if (t <= code_max)
5237 template <
typename Base>
5243 switch (this->kind ())
5282 template <
typename Base>
5286 return this->kind ();
5290 template <
typename Base>
5297 template <
typename Base>
5301 super_type::move (s);
5302 switch (this->kind ())
5345#if 201103L <= YY_CPLUSPLUS
5348 : kind_ (that.kind_)
5356 : kind_ (that.kind_)
5361 : kind_ (yytranslate_ (t))
5393 return this->kind ();
5397#line 14 "dhcp4_parser.yy"
5399#line 5400 "dhcp4_parser.h"
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_KEYSPACE(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_SERIAL_CONSISTENCY(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_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_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_CQL(const location_type &l)
virtual void error(const location_type &loc, const std::string &msg)
Report a syntax error.
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)
virtual int parse()
Parse.
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_CONTACT_POINTS(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_CONSISTENCY(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_POSTGRESQL(const location_type &l)
static symbol_type make_LOGGERS(const location_type &l)
std::ostream & debug_stream() const YY_ATTRIBUTE_PURE
The current debugging stream.
static symbol_type make_MYSQL(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
void set_debug_stream(std::ostream &)
Set the current debugging stream.
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_ECHO_CLIENT_ID(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_TCP_KEEPALIVE(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_TCP_NODELAY(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_REQUEST_TIMEOUT(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
debug_level_type debug_level() const YY_ATTRIBUTE_PURE
The current debugging level.
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_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.
Dhcp4Parser(isc::dhcp::Parser4Context &ctx_yyarg)
Build a parser object.
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)
int debug_level_type
Type for debugging levels.
static symbol_type make_PARKED_PACKET_LIMIT(const location_type &l)
void set_debug_level(debug_level_type l)
Set the current debugging level.
static symbol_type make_PACKET_QUEUE_SIZE(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.
#define YY_MOVE_REF(Type)
#define YY_ATTRIBUTE_PURE
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_SUBNET_4O6_INTERFACE_ID
@ TOKEN_SUBNET_4O6_SUBNET
@ TOKEN_HOSTNAME_CHAR_REPLACEMENT
@ TOKEN_MAX_RECONNECT_TRIES
@ TOKEN_DDNS_OVERRIDE_NO_UPDATE
@ TOKEN_IP_RESERVATIONS_UNIQUE
@ TOKEN_DDNS_REPLACE_CLIENT_NAME
@ TOKEN_CALCULATE_TEE_TIMES
@ TOKEN_MIN_VALID_LIFETIME
@ TOKEN_CONFIG_FETCH_WAIT_TIME
@ TOKEN_SERVE_RETRY_CONTINUE
@ TOKEN_DHCP_MULTI_THREADING
@ TOKEN_DHCP_QUEUE_CONTROL
@ TOKEN_PARKED_PACKET_LIMIT
@ TOKEN_RESERVATIONS_GLOBAL
@ TOKEN_OVERRIDE_NO_UPDATE
@ TOKEN_EXPIRED_LEASES_PROCESSING
@ TOKEN_ENABLE_MULTI_THREADING
@ TOKEN_RECONNECT_WAIT_TIME
@ TOKEN_UNWARNED_RECLAIM_CYCLES
@ TOKEN_DDNS_GENERATED_PREFIX
@ TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT
@ TOKEN_MAX_VALID_LIFETIME
@ TOKEN_DDNS_UPDATE_ON_RENEW
@ TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME
@ TOKEN_INTERFACES_CONFIG
@ TOKEN_DECLINE_PROBATION_PERIOD
@ TOKEN_PACKET_QUEUE_SIZE
@ TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE
@ TOKEN_RESERVATIONS_OUT_OF_POOL
@ TOKEN_MAX_RECLAIM_LEASES
@ TOKEN_RESERVATIONS_IN_SUBNET
@ TOKEN_OVERRIDE_CLIENT_UPDATE
@ TOKEN_SUB_CONFIG_CONTROL
@ TOKEN_DDNS_SEND_UPDATES
@ TOKEN_OUTBOUND_INTERFACE
@ TOKEN_DDNS_QUALIFYING_SUFFIX
@ TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE
@ TOKEN_SUB_HOOKS_LIBRARY
@ TOKEN_RECLAIM_TIMER_WAIT_TIME
@ TOKEN_SERIAL_CONSISTENCY
@ TOKEN_STORE_EXTENDED_INFO
@ TOKEN_HOLD_RECLAIMED_TIME
@ TOKEN_LENIENT_OPTION_PARSING
@ TOKEN_HOSTNAME_CHAR_SET
@ TOKEN_DDNS_USE_CONFLICT_RESOLUTION
@ TOKEN_REPLACE_CLIENT_NAME
@ TOKEN_REQUIRE_CLIENT_CLASSES
@ TOKEN_QUALIFYING_SUFFIX
@ TOKEN_SUBNET_4O6_INTERFACE
@ TOKEN_HOST_RESERVATION_IDENTIFIERS
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).