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
103 # define YY_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))
136 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
138 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
139 _Pragma ("GCC diagnostic push") \
140 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \
141 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
142 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
143 _Pragma ("GCC diagnostic pop")
145 # define YY_INITIAL_VALUE(Value) Value
147 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
148 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
149 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
151 #ifndef YY_INITIAL_VALUE
152 # define YY_INITIAL_VALUE(Value)
155 #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
156 # define YY_IGNORE_USELESS_CAST_BEGIN \
157 _Pragma ("GCC diagnostic push") \
158 _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
159 # define YY_IGNORE_USELESS_CAST_END \
160 _Pragma ("GCC diagnostic pop")
162 #ifndef YY_IGNORE_USELESS_CAST_BEGIN
163 # define YY_IGNORE_USELESS_CAST_BEGIN
164 # define YY_IGNORE_USELESS_CAST_END
169 # define YY_CAST(Type, Val) static_cast<Type> (Val)
170 # define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
172 # define YY_CAST(Type, Val) ((Type) (Val))
173 # define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
177 # if defined __cplusplus
178 # if 201103L <= __cplusplus
179 # define YY_NULLPTR nullptr
181 # define YY_NULLPTR 0
184 # define YY_NULLPTR ((void*)0)
189 #ifndef PARSER4_DEBUG
192 # define PARSER4_DEBUG 1
194 # define PARSER4_DEBUG 0
197 # define PARSER4_DEBUG 1
201 #line 14 "dhcp4_parser.yy"
202 namespace isc {
namespace dhcp {
203 #line 204 "dhcp4_parser.h"
212 #ifndef PARSER4_STYPE
227 , yytypeid_ (YY_NULLPTR)
231 template <
typename T>
233 : yytypeid_ (&typeid (T))
236 new (yyas_<T> ()) T (
YY_MOVE (t));
239 #if 201103L <= YY_CPLUSPLUS
243 self_type& operator= (
const self_type&) =
delete;
252 # if 201103L <= YY_CPLUSPLUS
253 template <
typename T,
typename... U>
260 yytypeid_ = &
typeid (T);
261 return *
new (yyas_<T> ()) T (std::forward <U>(u)...);
264 template <
typename T>
271 yytypeid_ = &
typeid (T);
272 return *
new (yyas_<T> ()) T ();
276 template <
typename T>
282 yytypeid_ = &
typeid (T);
283 return *
new (yyas_<T> ()) T (t);
289 template <
typename T>
293 return emplace<T> ();
298 template <
typename T>
302 return emplace<T> (t);
306 template <
typename T>
317 template <
typename T>
335 template <
typename T>
341 std::swap (as<T> (), that.as<T> ());
347 template <
typename T>
351 # if 201103L <= YY_CPLUSPLUS
352 emplace<T> (std::move (that.
as<T> ()));
360 # if 201103L <= YY_CPLUSPLUS
361 template <
typename T>
364 move (self_type&& that)
366 emplace<T> (std::move (that.as<T> ()));
372 template <
typename T>
376 emplace<T> (that.
as<T> ());
380 template <
typename T>
385 yytypeid_ = YY_NULLPTR;
389 #if YY_CPLUSPLUS < 201103L
393 self_type& operator= (
const self_type&);
397 template <
typename T>
401 void *yyp = yybuffer_.yyraw;
402 return static_cast<T*
> (yyp);
406 template <
typename T>
410 const void *yyp = yybuffer_.yyraw;
411 return static_cast<const T*
> (yyp);
429 char dummy2[
sizeof (bool)];
432 char dummy3[
sizeof (double)];
435 char dummy4[
sizeof (int64_t)];
438 char dummy5[
sizeof (std::string)];
442 enum { size =
sizeof (union_type) };
454 const std::type_info *yytypeid_;
458 typedef PARSER4_STYPE semantic_type;
460 typedef location location_type;
467 :
std::runtime_error (m)
472 :
std::runtime_error (s.what ())
473 , location (s.location)
478 location_type location;
486 TOKEN_PARSER4_EMPTY = -2,
488 TOKEN_PARSER4_error = 256,
489 TOKEN_PARSER4_UNDEF = 257,
492 TOKEN_LSQUARE_BRACKET = 260,
493 TOKEN_RSQUARE_BRACKET = 261,
494 TOKEN_LCURLY_BRACKET = 262,
495 TOKEN_RCURLY_BRACKET = 263,
496 TOKEN_NULL_TYPE = 264,
498 TOKEN_CONFIG_CONTROL = 266,
499 TOKEN_CONFIG_DATABASES = 267,
500 TOKEN_CONFIG_FETCH_WAIT_TIME = 268,
501 TOKEN_INTERFACES_CONFIG = 269,
502 TOKEN_INTERFACES = 270,
503 TOKEN_DHCP_SOCKET_TYPE = 271,
506 TOKEN_OUTBOUND_INTERFACE = 274,
507 TOKEN_SAME_AS_INBOUND = 275,
508 TOKEN_USE_ROUTING = 276,
509 TOKEN_RE_DETECT = 277,
510 TOKEN_SANITY_CHECKS = 278,
511 TOKEN_LEASE_CHECKS = 279,
512 TOKEN_ECHO_CLIENT_ID = 280,
513 TOKEN_MATCH_CLIENT_ID = 281,
514 TOKEN_AUTHORITATIVE = 282,
515 TOKEN_NEXT_SERVER = 283,
516 TOKEN_SERVER_HOSTNAME = 284,
517 TOKEN_BOOT_FILE_NAME = 285,
518 TOKEN_LEASE_DATABASE = 286,
519 TOKEN_HOSTS_DATABASE = 287,
520 TOKEN_HOSTS_DATABASES = 288,
524 TOKEN_POSTGRESQL = 292,
527 TOKEN_PASSWORD = 295,
531 TOKEN_LFC_INTERVAL = 299,
532 TOKEN_READONLY = 300,
533 TOKEN_CONNECT_TIMEOUT = 301,
534 TOKEN_CONTACT_POINTS = 302,
535 TOKEN_KEYSPACE = 303,
536 TOKEN_CONSISTENCY = 304,
537 TOKEN_SERIAL_CONSISTENCY = 305,
538 TOKEN_MAX_RECONNECT_TRIES = 306,
539 TOKEN_RECONNECT_WAIT_TIME = 307,
541 TOKEN_STOP_RETRY_EXIT = 309,
542 TOKEN_SERVE_RETRY_EXIT = 310,
543 TOKEN_SERVE_RETRY_CONTINUE = 311,
544 TOKEN_REQUEST_TIMEOUT = 312,
545 TOKEN_TCP_KEEPALIVE = 313,
546 TOKEN_TCP_NODELAY = 314,
547 TOKEN_MAX_ROW_ERRORS = 315,
548 TOKEN_VALID_LIFETIME = 316,
549 TOKEN_MIN_VALID_LIFETIME = 317,
550 TOKEN_MAX_VALID_LIFETIME = 318,
551 TOKEN_RENEW_TIMER = 319,
552 TOKEN_REBIND_TIMER = 320,
553 TOKEN_CALCULATE_TEE_TIMES = 321,
554 TOKEN_T1_PERCENT = 322,
555 TOKEN_T2_PERCENT = 323,
556 TOKEN_CACHE_THRESHOLD = 324,
557 TOKEN_CACHE_MAX_AGE = 325,
558 TOKEN_DECLINE_PROBATION_PERIOD = 326,
559 TOKEN_SERVER_TAG = 327,
560 TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT = 328,
561 TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE = 329,
562 TOKEN_DDNS_SEND_UPDATES = 330,
563 TOKEN_DDNS_OVERRIDE_NO_UPDATE = 331,
564 TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE = 332,
565 TOKEN_DDNS_REPLACE_CLIENT_NAME = 333,
566 TOKEN_DDNS_GENERATED_PREFIX = 334,
567 TOKEN_DDNS_QUALIFYING_SUFFIX = 335,
568 TOKEN_DDNS_UPDATE_ON_RENEW = 336,
569 TOKEN_DDNS_USE_CONFLICT_RESOLUTION = 337,
570 TOKEN_STORE_EXTENDED_INFO = 338,
572 TOKEN_SUBNET_4O6_INTERFACE = 340,
573 TOKEN_SUBNET_4O6_INTERFACE_ID = 341,
574 TOKEN_SUBNET_4O6_SUBNET = 342,
575 TOKEN_OPTION_DEF = 343,
576 TOKEN_OPTION_DATA = 344,
581 TOKEN_CSV_FORMAT = 349,
582 TOKEN_ALWAYS_SEND = 350,
583 TOKEN_RECORD_TYPES = 351,
584 TOKEN_ENCAPSULATE = 352,
586 TOKEN_SHARED_NETWORKS = 354,
589 TOKEN_USER_CONTEXT = 357,
592 TOKEN_INTERFACE = 360,
594 TOKEN_RESERVATION_MODE = 362,
595 TOKEN_DISABLED = 363,
596 TOKEN_OUT_OF_POOL = 364,
599 TOKEN_RESERVATIONS_GLOBAL = 367,
600 TOKEN_RESERVATIONS_IN_SUBNET = 368,
601 TOKEN_RESERVATIONS_OUT_OF_POOL = 369,
602 TOKEN_HOST_RESERVATION_IDENTIFIERS = 370,
603 TOKEN_CLIENT_CLASSES = 371,
604 TOKEN_REQUIRE_CLIENT_CLASSES = 372,
606 TOKEN_ONLY_IF_REQUIRED = 374,
607 TOKEN_CLIENT_CLASS = 375,
608 TOKEN_RESERVATIONS = 376,
610 TOKEN_HW_ADDRESS = 378,
611 TOKEN_CIRCUIT_ID = 379,
612 TOKEN_CLIENT_ID = 380,
613 TOKEN_HOSTNAME = 381,
616 TOKEN_IP_ADDRESS = 384,
617 TOKEN_IP_ADDRESSES = 385,
618 TOKEN_HOOKS_LIBRARIES = 386,
620 TOKEN_PARAMETERS = 388,
621 TOKEN_EXPIRED_LEASES_PROCESSING = 389,
622 TOKEN_RECLAIM_TIMER_WAIT_TIME = 390,
623 TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 391,
624 TOKEN_HOLD_RECLAIMED_TIME = 392,
625 TOKEN_MAX_RECLAIM_LEASES = 393,
626 TOKEN_MAX_RECLAIM_TIME = 394,
627 TOKEN_UNWARNED_RECLAIM_CYCLES = 395,
628 TOKEN_DHCP4O6_PORT = 396,
629 TOKEN_DHCP_MULTI_THREADING = 397,
630 TOKEN_ENABLE_MULTI_THREADING = 398,
631 TOKEN_THREAD_POOL_SIZE = 399,
632 TOKEN_PACKET_QUEUE_SIZE = 400,
633 TOKEN_CONTROL_SOCKET = 401,
634 TOKEN_SOCKET_TYPE = 402,
635 TOKEN_SOCKET_NAME = 403,
636 TOKEN_DHCP_QUEUE_CONTROL = 404,
637 TOKEN_ENABLE_QUEUE = 405,
638 TOKEN_QUEUE_TYPE = 406,
639 TOKEN_CAPACITY = 407,
640 TOKEN_DHCP_DDNS = 408,
641 TOKEN_ENABLE_UPDATES = 409,
642 TOKEN_QUALIFYING_SUFFIX = 410,
643 TOKEN_SERVER_IP = 411,
644 TOKEN_SERVER_PORT = 412,
645 TOKEN_SENDER_IP = 413,
646 TOKEN_SENDER_PORT = 414,
647 TOKEN_MAX_QUEUE_SIZE = 415,
648 TOKEN_NCR_PROTOCOL = 416,
649 TOKEN_NCR_FORMAT = 417,
650 TOKEN_OVERRIDE_NO_UPDATE = 418,
651 TOKEN_OVERRIDE_CLIENT_UPDATE = 419,
652 TOKEN_REPLACE_CLIENT_NAME = 420,
653 TOKEN_GENERATED_PREFIX = 421,
656 TOKEN_WHEN_PRESENT = 424,
659 TOKEN_WHEN_NOT_PRESENT = 427,
660 TOKEN_HOSTNAME_CHAR_SET = 428,
661 TOKEN_HOSTNAME_CHAR_REPLACEMENT = 429,
662 TOKEN_IP_RESERVATIONS_UNIQUE = 430,
664 TOKEN_OUTPUT_OPTIONS = 432,
666 TOKEN_DEBUGLEVEL = 434,
667 TOKEN_SEVERITY = 435,
672 TOKEN_COMPATIBILITY = 440,
673 TOKEN_LENIENT_OPTION_PARSING = 441,
674 TOKEN_TOPLEVEL_JSON = 442,
675 TOKEN_TOPLEVEL_DHCP4 = 443,
676 TOKEN_SUB_DHCP4 = 444,
677 TOKEN_SUB_INTERFACES4 = 445,
678 TOKEN_SUB_SUBNET4 = 446,
679 TOKEN_SUB_POOL4 = 447,
680 TOKEN_SUB_RESERVATION = 448,
681 TOKEN_SUB_OPTION_DEFS = 449,
682 TOKEN_SUB_OPTION_DEF = 450,
683 TOKEN_SUB_OPTION_DATA = 451,
684 TOKEN_SUB_HOOKS_LIBRARY = 452,
685 TOKEN_SUB_DHCP_DDNS = 453,
686 TOKEN_SUB_CONFIG_CONTROL = 454,
714 S_LSQUARE_BRACKET = 5,
715 S_RSQUARE_BRACKET = 6,
716 S_LCURLY_BRACKET = 7,
717 S_RCURLY_BRACKET = 8,
720 S_CONFIG_CONTROL = 11,
721 S_CONFIG_DATABASES = 12,
722 S_CONFIG_FETCH_WAIT_TIME = 13,
723 S_INTERFACES_CONFIG = 14,
725 S_DHCP_SOCKET_TYPE = 16,
728 S_OUTBOUND_INTERFACE = 19,
729 S_SAME_AS_INBOUND = 20,
732 S_SANITY_CHECKS = 23,
734 S_ECHO_CLIENT_ID = 25,
735 S_MATCH_CLIENT_ID = 26,
736 S_AUTHORITATIVE = 27,
738 S_SERVER_HOSTNAME = 29,
739 S_BOOT_FILE_NAME = 30,
740 S_LEASE_DATABASE = 31,
741 S_HOSTS_DATABASE = 32,
742 S_HOSTS_DATABASES = 33,
755 S_CONNECT_TIMEOUT = 46,
756 S_CONTACT_POINTS = 47,
759 S_SERIAL_CONSISTENCY = 50,
760 S_MAX_RECONNECT_TRIES = 51,
761 S_RECONNECT_WAIT_TIME = 52,
763 S_STOP_RETRY_EXIT = 54,
764 S_SERVE_RETRY_EXIT = 55,
765 S_SERVE_RETRY_CONTINUE = 56,
766 S_REQUEST_TIMEOUT = 57,
767 S_TCP_KEEPALIVE = 58,
769 S_MAX_ROW_ERRORS = 60,
770 S_VALID_LIFETIME = 61,
771 S_MIN_VALID_LIFETIME = 62,
772 S_MAX_VALID_LIFETIME = 63,
775 S_CALCULATE_TEE_TIMES = 66,
778 S_CACHE_THRESHOLD = 69,
779 S_CACHE_MAX_AGE = 70,
780 S_DECLINE_PROBATION_PERIOD = 71,
782 S_STATISTIC_DEFAULT_SAMPLE_COUNT = 73,
783 S_STATISTIC_DEFAULT_SAMPLE_AGE = 74,
784 S_DDNS_SEND_UPDATES = 75,
785 S_DDNS_OVERRIDE_NO_UPDATE = 76,
786 S_DDNS_OVERRIDE_CLIENT_UPDATE = 77,
787 S_DDNS_REPLACE_CLIENT_NAME = 78,
788 S_DDNS_GENERATED_PREFIX = 79,
789 S_DDNS_QUALIFYING_SUFFIX = 80,
790 S_DDNS_UPDATE_ON_RENEW = 81,
791 S_DDNS_USE_CONFLICT_RESOLUTION = 82,
792 S_STORE_EXTENDED_INFO = 83,
794 S_SUBNET_4O6_INTERFACE = 85,
795 S_SUBNET_4O6_INTERFACE_ID = 86,
796 S_SUBNET_4O6_SUBNET = 87,
808 S_SHARED_NETWORKS = 99,
811 S_USER_CONTEXT = 102,
816 S_RESERVATION_MODE = 107,
821 S_RESERVATIONS_GLOBAL = 112,
822 S_RESERVATIONS_IN_SUBNET = 113,
823 S_RESERVATIONS_OUT_OF_POOL = 114,
824 S_HOST_RESERVATION_IDENTIFIERS = 115,
825 S_CLIENT_CLASSES = 116,
826 S_REQUIRE_CLIENT_CLASSES = 117,
828 S_ONLY_IF_REQUIRED = 119,
829 S_CLIENT_CLASS = 120,
830 S_RESERVATIONS = 121,
839 S_IP_ADDRESSES = 130,
840 S_HOOKS_LIBRARIES = 131,
843 S_EXPIRED_LEASES_PROCESSING = 134,
844 S_RECLAIM_TIMER_WAIT_TIME = 135,
845 S_FLUSH_RECLAIMED_TIMER_WAIT_TIME = 136,
846 S_HOLD_RECLAIMED_TIME = 137,
847 S_MAX_RECLAIM_LEASES = 138,
848 S_MAX_RECLAIM_TIME = 139,
849 S_UNWARNED_RECLAIM_CYCLES = 140,
850 S_DHCP4O6_PORT = 141,
851 S_DHCP_MULTI_THREADING = 142,
852 S_ENABLE_MULTI_THREADING = 143,
853 S_THREAD_POOL_SIZE = 144,
854 S_PACKET_QUEUE_SIZE = 145,
855 S_CONTROL_SOCKET = 146,
858 S_DHCP_QUEUE_CONTROL = 149,
859 S_ENABLE_QUEUE = 150,
863 S_ENABLE_UPDATES = 154,
864 S_QUALIFYING_SUFFIX = 155,
869 S_MAX_QUEUE_SIZE = 160,
870 S_NCR_PROTOCOL = 161,
872 S_OVERRIDE_NO_UPDATE = 163,
873 S_OVERRIDE_CLIENT_UPDATE = 164,
874 S_REPLACE_CLIENT_NAME = 165,
875 S_GENERATED_PREFIX = 166,
878 S_WHEN_PRESENT = 169,
881 S_WHEN_NOT_PRESENT = 172,
882 S_HOSTNAME_CHAR_SET = 173,
883 S_HOSTNAME_CHAR_REPLACEMENT = 174,
884 S_IP_RESERVATIONS_UNIQUE = 175,
886 S_OUTPUT_OPTIONS = 177,
894 S_COMPATIBILITY = 185,
895 S_LENIENT_OPTION_PARSING = 186,
896 S_TOPLEVEL_JSON = 187,
897 S_TOPLEVEL_DHCP4 = 188,
899 S_SUB_INTERFACES4 = 190,
902 S_SUB_RESERVATION = 193,
903 S_SUB_OPTION_DEFS = 194,
904 S_SUB_OPTION_DEF = 195,
905 S_SUB_OPTION_DATA = 196,
906 S_SUB_HOOKS_LIBRARY = 197,
907 S_SUB_DHCP_DDNS = 198,
908 S_SUB_CONFIG_CONTROL = 199,
934 S_not_empty_map = 225,
935 S_list_generic = 226,
937 S_list_content = 228,
938 S_not_empty_list = 229,
939 S_list_strings = 230,
941 S_list_strings_content = 232,
942 S_not_empty_list_strings = 233,
943 S_unknown_map_entry = 234,
946 S_global_object = 237,
950 S_global_params = 241,
951 S_global_param = 242,
952 S_valid_lifetime = 243,
953 S_min_valid_lifetime = 244,
954 S_max_valid_lifetime = 245,
956 S_rebind_timer = 247,
957 S_calculate_tee_times = 248,
960 S_cache_threshold = 251,
961 S_cache_max_age = 252,
962 S_decline_probation_period = 253,
965 S_echo_client_id = 256,
966 S_match_client_id = 257,
967 S_authoritative = 258,
968 S_ddns_send_updates = 259,
969 S_ddns_override_no_update = 260,
970 S_ddns_override_client_update = 261,
971 S_ddns_replace_client_name = 262,
973 S_ddns_replace_client_name_value = 264,
974 S_ddns_generated_prefix = 265,
976 S_ddns_qualifying_suffix = 267,
978 S_ddns_update_on_renew = 269,
979 S_ddns_use_conflict_resolution = 270,
980 S_hostname_char_set = 271,
982 S_hostname_char_replacement = 273,
984 S_store_extended_info = 275,
985 S_statistic_default_sample_count = 276,
986 S_statistic_default_sample_age = 277,
987 S_ip_reservations_unique = 278,
988 S_interfaces_config = 279,
990 S_interfaces_config_params = 281,
991 S_interfaces_config_param = 282,
992 S_sub_interfaces4 = 283,
994 S_interfaces_list = 285,
996 S_dhcp_socket_type = 287,
999 S_outbound_interface = 290,
1001 S_outbound_interface_value = 292,
1003 S_lease_database = 294,
1005 S_sanity_checks = 296,
1007 S_sanity_checks_params = 298,
1008 S_sanity_checks_param = 299,
1009 S_lease_checks = 300,
1011 S_hosts_database = 302,
1013 S_hosts_databases = 304,
1015 S_database_list = 306,
1016 S_not_empty_database_list = 307,
1019 S_database_map_params = 310,
1020 S_database_map_param = 311,
1021 S_database_type = 312,
1034 S_lfc_interval = 325,
1036 S_connect_timeout = 327,
1037 S_request_timeout = 328,
1038 S_tcp_keepalive = 329,
1039 S_tcp_nodelay = 330,
1040 S_contact_points = 331,
1044 S_consistency = 335,
1046 S_serial_consistency = 337,
1048 S_max_reconnect_tries = 339,
1049 S_reconnect_wait_time = 340,
1052 S_on_fail_mode = 343,
1053 S_max_row_errors = 344,
1054 S_host_reservation_identifiers = 345,
1056 S_host_reservation_identifiers_list = 347,
1057 S_host_reservation_identifier = 348,
1059 S_hw_address_id = 350,
1063 S_dhcp_multi_threading = 354,
1065 S_multi_threading_params = 356,
1066 S_multi_threading_param = 357,
1067 S_enable_multi_threading = 358,
1068 S_thread_pool_size = 359,
1069 S_packet_queue_size = 360,
1070 S_hooks_libraries = 361,
1072 S_hooks_libraries_list = 363,
1073 S_not_empty_hooks_libraries_list = 364,
1074 S_hooks_library = 365,
1076 S_sub_hooks_library = 367,
1078 S_hooks_params = 369,
1079 S_hooks_param = 370,
1084 S_expired_leases_processing = 375,
1086 S_expired_leases_params = 377,
1087 S_expired_leases_param = 378,
1088 S_reclaim_timer_wait_time = 379,
1089 S_flush_reclaimed_timer_wait_time = 380,
1090 S_hold_reclaimed_time = 381,
1091 S_max_reclaim_leases = 382,
1092 S_max_reclaim_time = 383,
1093 S_unwarned_reclaim_cycles = 384,
1094 S_subnet4_list = 385,
1096 S_subnet4_list_content = 387,
1097 S_not_empty_subnet4_list = 388,
1100 S_sub_subnet4 = 391,
1102 S_subnet4_params = 393,
1103 S_subnet4_param = 394,
1106 S_subnet_4o6_interface = 397,
1108 S_subnet_4o6_interface_id = 399,
1110 S_subnet_4o6_subnet = 401,
1114 S_client_class = 405,
1116 S_require_client_classes = 407,
1118 S_reservations_global = 409,
1119 S_reservations_in_subnet = 410,
1120 S_reservations_out_of_pool = 411,
1121 S_reservation_mode = 412,
1125 S_shared_networks = 416,
1127 S_shared_networks_content = 418,
1128 S_shared_networks_list = 419,
1129 S_shared_network = 420,
1131 S_shared_network_params = 422,
1132 S_shared_network_param = 423,
1133 S_option_def_list = 424,
1135 S_sub_option_def_list = 426,
1137 S_option_def_list_content = 428,
1138 S_not_empty_option_def_list = 429,
1139 S_option_def_entry = 430,
1141 S_sub_option_def = 432,
1143 S_option_def_params = 434,
1144 S_not_empty_option_def_params = 435,
1145 S_option_def_param = 436,
1146 S_option_def_name = 437,
1148 S_option_def_code = 439,
1149 S_option_def_type = 440,
1151 S_option_def_record_types = 442,
1155 S_option_def_space = 446,
1156 S_option_def_encapsulate = 447,
1158 S_option_def_array = 449,
1159 S_option_data_list = 450,
1161 S_option_data_list_content = 452,
1162 S_not_empty_option_data_list = 453,
1163 S_option_data_entry = 454,
1165 S_sub_option_data = 456,
1167 S_option_data_params = 458,
1168 S_not_empty_option_data_params = 459,
1169 S_option_data_param = 460,
1170 S_option_data_name = 461,
1171 S_option_data_data = 462,
1173 S_option_data_code = 464,
1174 S_option_data_space = 465,
1175 S_option_data_csv_format = 466,
1176 S_option_data_always_send = 467,
1179 S_pools_list_content = 470,
1180 S_not_empty_pools_list = 471,
1181 S_pool_list_entry = 472,
1185 S_pool_params = 476,
1189 S_user_context = 480,
1193 S_reservations = 484,
1195 S_reservations_list = 486,
1196 S_not_empty_reservations_list = 487,
1197 S_reservation = 488,
1199 S_sub_reservation = 490,
1201 S_reservation_params = 492,
1202 S_not_empty_reservation_params = 493,
1203 S_reservation_param = 494,
1204 S_next_server = 495,
1206 S_server_hostname = 497,
1208 S_boot_file_name = 499,
1212 S_ip_addresses = 503,
1218 S_client_id_value = 509,
1220 S_circuit_id_value = 511,
1222 S_flex_id_value = 513,
1226 S_reservation_client_classes = 517,
1231 S_client_classes = 522,
1233 S_client_classes_list = 524,
1234 S_client_class_entry = 525,
1236 S_client_class_params = 527,
1237 S_not_empty_client_class_params = 528,
1238 S_client_class_param = 529,
1239 S_client_class_name = 530,
1240 S_client_class_test = 531,
1242 S_only_if_required = 533,
1243 S_dhcp4o6_port = 534,
1244 S_control_socket = 535,
1246 S_control_socket_params = 537,
1247 S_control_socket_param = 538,
1248 S_control_socket_type = 539,
1250 S_control_socket_name = 541,
1252 S_dhcp_queue_control = 543,
1254 S_queue_control_params = 545,
1255 S_queue_control_param = 546,
1256 S_enable_queue = 547,
1260 S_arbitrary_map_entry = 551,
1264 S_sub_dhcp_ddns = 555,
1266 S_dhcp_ddns_params = 557,
1267 S_dhcp_ddns_param = 558,
1268 S_enable_updates = 559,
1271 S_server_port = 562,
1274 S_sender_port = 565,
1275 S_max_queue_size = 566,
1276 S_ncr_protocol = 567,
1278 S_ncr_protocol_value = 569,
1281 S_dep_qualifying_suffix = 572,
1283 S_dep_override_no_update = 574,
1284 S_dep_override_client_update = 575,
1285 S_dep_replace_client_name = 576,
1287 S_dep_generated_prefix = 578,
1289 S_dep_hostname_char_set = 580,
1291 S_dep_hostname_char_replacement = 582,
1293 S_config_control = 584,
1295 S_sub_config_control = 586,
1297 S_config_control_params = 588,
1298 S_config_control_param = 589,
1299 S_config_databases = 590,
1301 S_config_fetch_wait_time = 592,
1304 S_loggers_entries = 595,
1305 S_logger_entry = 596,
1307 S_logger_params = 598,
1308 S_logger_param = 599,
1312 S_output_options_list = 603,
1314 S_output_options_list_content = 605,
1315 S_output_entry = 606,
1317 S_output_params_list = 608,
1318 S_output_params = 609,
1326 S_compatibility = 617,
1328 S_compatibility_params = 619,
1329 S_compatibility_param = 620,
1330 S_lenient_option_parsing = 621
1338 static const symbol_kind_type YYNTOKENS = symbol_kind::YYNTOKENS;
1346 template <
typename Base>
1358 #if 201103L <= YY_CPLUSPLUS
1361 : Base (
std::move (that))
1363 , location (
std::move (that.location))
1365 switch (this->kind ())
1367 case symbol_kind::S_value:
1368 case symbol_kind::S_map_value:
1369 case symbol_kind::S_ddns_replace_client_name_value:
1370 case symbol_kind::S_socket_type:
1371 case symbol_kind::S_outbound_interface_value:
1372 case symbol_kind::S_db_type:
1373 case symbol_kind::S_on_fail_mode:
1374 case symbol_kind::S_hr_mode:
1375 case symbol_kind::S_ncr_protocol_value:
1376 value.move<
ElementPtr > (std::move (that.value));
1379 case symbol_kind::S_BOOLEAN:
1380 value.move<
bool > (std::move (that.value));
1383 case symbol_kind::S_FLOAT:
1384 value.move<
double > (std::move (that.value));
1387 case symbol_kind::S_INTEGER:
1388 value.move< int64_t > (std::move (that.value));
1391 case symbol_kind::S_STRING:
1392 value.move< std::string > (std::move (that.value));
1403 basic_symbol (
const basic_symbol& that);
1406 #if 201103L <= YY_CPLUSPLUS
1407 basic_symbol (
typename Base::kind_type t, location_type&& l)
1409 , location (
std::move (l))
1418 #if 201103L <= YY_CPLUSPLUS
1421 , value (
std::move (v))
1422 , location (
std::move (l))
1432 #if 201103L <= YY_CPLUSPLUS
1433 basic_symbol (
typename Base::kind_type t,
bool&& v, location_type&& l)
1435 , value (
std::move (v))
1436 , location (
std::move (l))
1439 basic_symbol (
typename Base::kind_type t,
const bool& v,
const location_type& l)
1446 #if 201103L <= YY_CPLUSPLUS
1447 basic_symbol (
typename Base::kind_type t,
double&& v, location_type&& l)
1449 , value (
std::move (v))
1450 , location (
std::move (l))
1453 basic_symbol (
typename Base::kind_type t,
const double& v,
const location_type& l)
1460 #if 201103L <= YY_CPLUSPLUS
1461 basic_symbol (
typename Base::kind_type t, int64_t&& v, location_type&& l)
1463 , value (
std::move (v))
1464 , location (
std::move (l))
1467 basic_symbol (
typename Base::kind_type t,
const int64_t& v,
const location_type& l)
1474 #if 201103L <= YY_CPLUSPLUS
1475 basic_symbol (
typename Base::kind_type t, std::string&& v, location_type&& l)
1477 , value (
std::move (v))
1478 , location (
std::move (l))
1481 basic_symbol (
typename Base::kind_type t,
const std::string& v,
const location_type& l)
1498 symbol_kind_type yykind = this->kind ();
1510 case symbol_kind::S_value:
1511 case symbol_kind::S_map_value:
1512 case symbol_kind::S_ddns_replace_client_name_value:
1513 case symbol_kind::S_socket_type:
1514 case symbol_kind::S_outbound_interface_value:
1515 case symbol_kind::S_db_type:
1516 case symbol_kind::S_on_fail_mode:
1517 case symbol_kind::S_hr_mode:
1518 case symbol_kind::S_ncr_protocol_value:
1519 value.template destroy< ElementPtr > ();
1522 case symbol_kind::S_BOOLEAN:
1523 value.template destroy< bool > ();
1526 case symbol_kind::S_FLOAT:
1527 value.template destroy< double > ();
1530 case symbol_kind::S_INTEGER:
1531 value.template destroy< int64_t > ();
1534 case symbol_kind::S_STRING:
1535 value.template destroy< std::string > ();
1561 semantic_type value;
1564 location_type location;
1567 #if YY_CPLUSPLUS < 201103L
1579 #if 201103L <= YY_CPLUSPLUS
1604 symbol_kind_type type_get () const YY_NOEXCEPT;
1608 symbol_kind_type kind_;
1624 #if 201103L <= YY_CPLUSPLUS
1626 : super_type(token_type (tok),
std::move (l))
1629 : super_type(token_type (tok), l)
1633 || (token::TOKEN_PARSER4_error <= tok && tok <= token::TOKEN_SUB_CONFIG_CONTROL));
1635 #if 201103L <= YY_CPLUSPLUS
1637 : super_type(token_type (tok),
std::move (v),
std::move (l))
1640 : super_type(token_type (tok), v, l)
1645 #if 201103L <= YY_CPLUSPLUS
1647 : super_type(token_type (tok),
std::move (v),
std::move (l))
1650 : super_type(token_type (tok), v, l)
1655 #if 201103L <= YY_CPLUSPLUS
1657 : super_type(token_type (tok),
std::move (v),
std::move (l))
1660 : super_type(token_type (tok), v, l)
1665 #if 201103L <= YY_CPLUSPLUS
1666 symbol_type (
int tok, std::string v, location_type l)
1667 : super_type(token_type (tok),
std::move (v),
std::move (l))
1670 : super_type(token_type (tok), v, l)
1681 #if 201103L <= YY_CPLUSPLUS
1694 virtual int parse ();
1700 void set_debug_stream (
std::ostream &);
1707 void set_debug_level (debug_level_type l);
1713 virtual void error (
const location_type& loc,
const std::string& msg);
1720 static std::string symbol_name (symbol_kind_type yysymbol);
1723 #if 201103L <= YY_CPLUSPLUS
1726 make_END (location_type l)
1728 return symbol_type (token::TOKEN_END, std::move (l));
1738 #if 201103L <= YY_CPLUSPLUS
1741 make_PARSER4_error (location_type l)
1743 return symbol_type (token::TOKEN_PARSER4_error, std::move (l));
1750 return symbol_type (token::TOKEN_PARSER4_error, l);
1753 #if 201103L <= YY_CPLUSPLUS
1756 make_PARSER4_UNDEF (location_type l)
1758 return symbol_type (token::TOKEN_PARSER4_UNDEF, std::move (l));
1765 return symbol_type (token::TOKEN_PARSER4_UNDEF, l);
1768 #if 201103L <= YY_CPLUSPLUS
1771 make_COMMA (location_type l)
1773 return symbol_type (token::TOKEN_COMMA, std::move (l));
1783 #if 201103L <= YY_CPLUSPLUS
1786 make_COLON (location_type l)
1788 return symbol_type (token::TOKEN_COLON, std::move (l));
1798 #if 201103L <= YY_CPLUSPLUS
1801 make_LSQUARE_BRACKET (location_type l)
1803 return symbol_type (token::TOKEN_LSQUARE_BRACKET, std::move (l));
1810 return symbol_type (token::TOKEN_LSQUARE_BRACKET, l);
1813 #if 201103L <= YY_CPLUSPLUS
1816 make_RSQUARE_BRACKET (location_type l)
1818 return symbol_type (token::TOKEN_RSQUARE_BRACKET, std::move (l));
1825 return symbol_type (token::TOKEN_RSQUARE_BRACKET, l);
1828 #if 201103L <= YY_CPLUSPLUS
1831 make_LCURLY_BRACKET (location_type l)
1833 return symbol_type (token::TOKEN_LCURLY_BRACKET, std::move (l));
1840 return symbol_type (token::TOKEN_LCURLY_BRACKET, l);
1843 #if 201103L <= YY_CPLUSPLUS
1846 make_RCURLY_BRACKET (location_type l)
1848 return symbol_type (token::TOKEN_RCURLY_BRACKET, std::move (l));
1855 return symbol_type (token::TOKEN_RCURLY_BRACKET, l);
1858 #if 201103L <= YY_CPLUSPLUS
1861 make_NULL_TYPE (location_type l)
1863 return symbol_type (token::TOKEN_NULL_TYPE, std::move (l));
1873 #if 201103L <= YY_CPLUSPLUS
1876 make_DHCP4 (location_type l)
1878 return symbol_type (token::TOKEN_DHCP4, std::move (l));
1888 #if 201103L <= YY_CPLUSPLUS
1891 make_CONFIG_CONTROL (location_type l)
1893 return symbol_type (token::TOKEN_CONFIG_CONTROL, std::move (l));
1900 return symbol_type (token::TOKEN_CONFIG_CONTROL, l);
1903 #if 201103L <= YY_CPLUSPLUS
1906 make_CONFIG_DATABASES (location_type l)
1908 return symbol_type (token::TOKEN_CONFIG_DATABASES, std::move (l));
1915 return symbol_type (token::TOKEN_CONFIG_DATABASES, l);
1918 #if 201103L <= YY_CPLUSPLUS
1921 make_CONFIG_FETCH_WAIT_TIME (location_type l)
1923 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, std::move (l));
1930 return symbol_type (token::TOKEN_CONFIG_FETCH_WAIT_TIME, l);
1933 #if 201103L <= YY_CPLUSPLUS
1936 make_INTERFACES_CONFIG (location_type l)
1938 return symbol_type (token::TOKEN_INTERFACES_CONFIG, std::move (l));
1945 return symbol_type (token::TOKEN_INTERFACES_CONFIG, l);
1948 #if 201103L <= YY_CPLUSPLUS
1951 make_INTERFACES (location_type l)
1953 return symbol_type (token::TOKEN_INTERFACES, std::move (l));
1963 #if 201103L <= YY_CPLUSPLUS
1966 make_DHCP_SOCKET_TYPE (location_type l)
1968 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, std::move (l));
1975 return symbol_type (token::TOKEN_DHCP_SOCKET_TYPE, l);
1978 #if 201103L <= YY_CPLUSPLUS
1981 make_RAW (location_type l)
1983 return symbol_type (token::TOKEN_RAW, std::move (l));
1993 #if 201103L <= YY_CPLUSPLUS
1996 make_UDP (location_type l)
1998 return symbol_type (token::TOKEN_UDP, std::move (l));
2008 #if 201103L <= YY_CPLUSPLUS
2011 make_OUTBOUND_INTERFACE (location_type l)
2013 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, std::move (l));
2020 return symbol_type (token::TOKEN_OUTBOUND_INTERFACE, l);
2023 #if 201103L <= YY_CPLUSPLUS
2026 make_SAME_AS_INBOUND (location_type l)
2028 return symbol_type (token::TOKEN_SAME_AS_INBOUND, std::move (l));
2035 return symbol_type (token::TOKEN_SAME_AS_INBOUND, l);
2038 #if 201103L <= YY_CPLUSPLUS
2041 make_USE_ROUTING (location_type l)
2043 return symbol_type (token::TOKEN_USE_ROUTING, std::move (l));
2053 #if 201103L <= YY_CPLUSPLUS
2056 make_RE_DETECT (location_type l)
2058 return symbol_type (token::TOKEN_RE_DETECT, std::move (l));
2068 #if 201103L <= YY_CPLUSPLUS
2071 make_SANITY_CHECKS (location_type l)
2073 return symbol_type (token::TOKEN_SANITY_CHECKS, std::move (l));
2080 return symbol_type (token::TOKEN_SANITY_CHECKS, l);
2083 #if 201103L <= YY_CPLUSPLUS
2086 make_LEASE_CHECKS (location_type l)
2088 return symbol_type (token::TOKEN_LEASE_CHECKS, std::move (l));
2095 return symbol_type (token::TOKEN_LEASE_CHECKS, l);
2098 #if 201103L <= YY_CPLUSPLUS
2101 make_ECHO_CLIENT_ID (location_type l)
2103 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, std::move (l));
2110 return symbol_type (token::TOKEN_ECHO_CLIENT_ID, l);
2113 #if 201103L <= YY_CPLUSPLUS
2116 make_MATCH_CLIENT_ID (location_type l)
2118 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, std::move (l));
2125 return symbol_type (token::TOKEN_MATCH_CLIENT_ID, l);
2128 #if 201103L <= YY_CPLUSPLUS
2131 make_AUTHORITATIVE (location_type l)
2133 return symbol_type (token::TOKEN_AUTHORITATIVE, std::move (l));
2140 return symbol_type (token::TOKEN_AUTHORITATIVE, l);
2143 #if 201103L <= YY_CPLUSPLUS
2146 make_NEXT_SERVER (location_type l)
2148 return symbol_type (token::TOKEN_NEXT_SERVER, std::move (l));
2158 #if 201103L <= YY_CPLUSPLUS
2161 make_SERVER_HOSTNAME (location_type l)
2163 return symbol_type (token::TOKEN_SERVER_HOSTNAME, std::move (l));
2170 return symbol_type (token::TOKEN_SERVER_HOSTNAME, l);
2173 #if 201103L <= YY_CPLUSPLUS
2176 make_BOOT_FILE_NAME (location_type l)
2178 return symbol_type (token::TOKEN_BOOT_FILE_NAME, std::move (l));
2185 return symbol_type (token::TOKEN_BOOT_FILE_NAME, l);
2188 #if 201103L <= YY_CPLUSPLUS
2191 make_LEASE_DATABASE (location_type l)
2193 return symbol_type (token::TOKEN_LEASE_DATABASE, std::move (l));
2200 return symbol_type (token::TOKEN_LEASE_DATABASE, l);
2203 #if 201103L <= YY_CPLUSPLUS
2206 make_HOSTS_DATABASE (location_type l)
2208 return symbol_type (token::TOKEN_HOSTS_DATABASE, std::move (l));
2215 return symbol_type (token::TOKEN_HOSTS_DATABASE, l);
2218 #if 201103L <= YY_CPLUSPLUS
2221 make_HOSTS_DATABASES (location_type l)
2223 return symbol_type (token::TOKEN_HOSTS_DATABASES, std::move (l));
2230 return symbol_type (token::TOKEN_HOSTS_DATABASES, l);
2233 #if 201103L <= YY_CPLUSPLUS
2236 make_TYPE (location_type l)
2238 return symbol_type (token::TOKEN_TYPE, std::move (l));
2248 #if 201103L <= YY_CPLUSPLUS
2251 make_MEMFILE (location_type l)
2253 return symbol_type (token::TOKEN_MEMFILE, std::move (l));
2263 #if 201103L <= YY_CPLUSPLUS
2266 make_MYSQL (location_type l)
2268 return symbol_type (token::TOKEN_MYSQL, std::move (l));
2278 #if 201103L <= YY_CPLUSPLUS
2281 make_POSTGRESQL (location_type l)
2283 return symbol_type (token::TOKEN_POSTGRESQL, std::move (l));
2293 #if 201103L <= YY_CPLUSPLUS
2296 make_CQL (location_type l)
2298 return symbol_type (token::TOKEN_CQL, std::move (l));
2308 #if 201103L <= YY_CPLUSPLUS
2311 make_USER (location_type l)
2313 return symbol_type (token::TOKEN_USER, std::move (l));
2323 #if 201103L <= YY_CPLUSPLUS
2326 make_PASSWORD (location_type l)
2328 return symbol_type (token::TOKEN_PASSWORD, std::move (l));
2338 #if 201103L <= YY_CPLUSPLUS
2341 make_HOST (location_type l)
2343 return symbol_type (token::TOKEN_HOST, std::move (l));
2353 #if 201103L <= YY_CPLUSPLUS
2356 make_PORT (location_type l)
2358 return symbol_type (token::TOKEN_PORT, std::move (l));
2368 #if 201103L <= YY_CPLUSPLUS
2371 make_PERSIST (location_type l)
2373 return symbol_type (token::TOKEN_PERSIST, std::move (l));
2383 #if 201103L <= YY_CPLUSPLUS
2386 make_LFC_INTERVAL (location_type l)
2388 return symbol_type (token::TOKEN_LFC_INTERVAL, std::move (l));
2395 return symbol_type (token::TOKEN_LFC_INTERVAL, l);
2398 #if 201103L <= YY_CPLUSPLUS
2401 make_READONLY (location_type l)
2403 return symbol_type (token::TOKEN_READONLY, std::move (l));
2413 #if 201103L <= YY_CPLUSPLUS
2416 make_CONNECT_TIMEOUT (location_type l)
2418 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, std::move (l));
2425 return symbol_type (token::TOKEN_CONNECT_TIMEOUT, l);
2428 #if 201103L <= YY_CPLUSPLUS
2431 make_CONTACT_POINTS (location_type l)
2433 return symbol_type (token::TOKEN_CONTACT_POINTS, std::move (l));
2440 return symbol_type (token::TOKEN_CONTACT_POINTS, l);
2443 #if 201103L <= YY_CPLUSPLUS
2446 make_KEYSPACE (location_type l)
2448 return symbol_type (token::TOKEN_KEYSPACE, std::move (l));
2458 #if 201103L <= YY_CPLUSPLUS
2461 make_CONSISTENCY (location_type l)
2463 return symbol_type (token::TOKEN_CONSISTENCY, std::move (l));
2473 #if 201103L <= YY_CPLUSPLUS
2476 make_SERIAL_CONSISTENCY (location_type l)
2478 return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, std::move (l));
2485 return symbol_type (token::TOKEN_SERIAL_CONSISTENCY, l);
2488 #if 201103L <= YY_CPLUSPLUS
2491 make_MAX_RECONNECT_TRIES (location_type l)
2493 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, std::move (l));
2500 return symbol_type (token::TOKEN_MAX_RECONNECT_TRIES, l);
2503 #if 201103L <= YY_CPLUSPLUS
2506 make_RECONNECT_WAIT_TIME (location_type l)
2508 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, std::move (l));
2515 return symbol_type (token::TOKEN_RECONNECT_WAIT_TIME, l);
2518 #if 201103L <= YY_CPLUSPLUS
2521 make_ON_FAIL (location_type l)
2523 return symbol_type (token::TOKEN_ON_FAIL, std::move (l));
2533 #if 201103L <= YY_CPLUSPLUS
2536 make_STOP_RETRY_EXIT (location_type l)
2538 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, std::move (l));
2545 return symbol_type (token::TOKEN_STOP_RETRY_EXIT, l);
2548 #if 201103L <= YY_CPLUSPLUS
2551 make_SERVE_RETRY_EXIT (location_type l)
2553 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, std::move (l));
2560 return symbol_type (token::TOKEN_SERVE_RETRY_EXIT, l);
2563 #if 201103L <= YY_CPLUSPLUS
2566 make_SERVE_RETRY_CONTINUE (location_type l)
2568 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, std::move (l));
2575 return symbol_type (token::TOKEN_SERVE_RETRY_CONTINUE, l);
2578 #if 201103L <= YY_CPLUSPLUS
2581 make_REQUEST_TIMEOUT (location_type l)
2583 return symbol_type (token::TOKEN_REQUEST_TIMEOUT, std::move (l));
2590 return symbol_type (token::TOKEN_REQUEST_TIMEOUT, l);
2593 #if 201103L <= YY_CPLUSPLUS
2596 make_TCP_KEEPALIVE (location_type l)
2598 return symbol_type (token::TOKEN_TCP_KEEPALIVE, std::move (l));
2605 return symbol_type (token::TOKEN_TCP_KEEPALIVE, l);
2608 #if 201103L <= YY_CPLUSPLUS
2611 make_TCP_NODELAY (location_type l)
2613 return symbol_type (token::TOKEN_TCP_NODELAY, std::move (l));
2623 #if 201103L <= YY_CPLUSPLUS
2626 make_MAX_ROW_ERRORS (location_type l)
2628 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, std::move (l));
2635 return symbol_type (token::TOKEN_MAX_ROW_ERRORS, l);
2638 #if 201103L <= YY_CPLUSPLUS
2641 make_VALID_LIFETIME (location_type l)
2643 return symbol_type (token::TOKEN_VALID_LIFETIME, std::move (l));
2650 return symbol_type (token::TOKEN_VALID_LIFETIME, l);
2653 #if 201103L <= YY_CPLUSPLUS
2656 make_MIN_VALID_LIFETIME (location_type l)
2658 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, std::move (l));
2665 return symbol_type (token::TOKEN_MIN_VALID_LIFETIME, l);
2668 #if 201103L <= YY_CPLUSPLUS
2671 make_MAX_VALID_LIFETIME (location_type l)
2673 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, std::move (l));
2680 return symbol_type (token::TOKEN_MAX_VALID_LIFETIME, l);
2683 #if 201103L <= YY_CPLUSPLUS
2686 make_RENEW_TIMER (location_type l)
2688 return symbol_type (token::TOKEN_RENEW_TIMER, std::move (l));
2698 #if 201103L <= YY_CPLUSPLUS
2701 make_REBIND_TIMER (location_type l)
2703 return symbol_type (token::TOKEN_REBIND_TIMER, std::move (l));
2710 return symbol_type (token::TOKEN_REBIND_TIMER, l);
2713 #if 201103L <= YY_CPLUSPLUS
2716 make_CALCULATE_TEE_TIMES (location_type l)
2718 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, std::move (l));
2725 return symbol_type (token::TOKEN_CALCULATE_TEE_TIMES, l);
2728 #if 201103L <= YY_CPLUSPLUS
2731 make_T1_PERCENT (location_type l)
2733 return symbol_type (token::TOKEN_T1_PERCENT, std::move (l));
2743 #if 201103L <= YY_CPLUSPLUS
2746 make_T2_PERCENT (location_type l)
2748 return symbol_type (token::TOKEN_T2_PERCENT, std::move (l));
2758 #if 201103L <= YY_CPLUSPLUS
2761 make_CACHE_THRESHOLD (location_type l)
2763 return symbol_type (token::TOKEN_CACHE_THRESHOLD, std::move (l));
2770 return symbol_type (token::TOKEN_CACHE_THRESHOLD, l);
2773 #if 201103L <= YY_CPLUSPLUS
2776 make_CACHE_MAX_AGE (location_type l)
2778 return symbol_type (token::TOKEN_CACHE_MAX_AGE, std::move (l));
2785 return symbol_type (token::TOKEN_CACHE_MAX_AGE, l);
2788 #if 201103L <= YY_CPLUSPLUS
2791 make_DECLINE_PROBATION_PERIOD (location_type l)
2793 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, std::move (l));
2800 return symbol_type (token::TOKEN_DECLINE_PROBATION_PERIOD, l);
2803 #if 201103L <= YY_CPLUSPLUS
2806 make_SERVER_TAG (location_type l)
2808 return symbol_type (token::TOKEN_SERVER_TAG, std::move (l));
2818 #if 201103L <= YY_CPLUSPLUS
2821 make_STATISTIC_DEFAULT_SAMPLE_COUNT (location_type l)
2823 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, std::move (l));
2830 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_COUNT, l);
2833 #if 201103L <= YY_CPLUSPLUS
2836 make_STATISTIC_DEFAULT_SAMPLE_AGE (location_type l)
2838 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, std::move (l));
2845 return symbol_type (token::TOKEN_STATISTIC_DEFAULT_SAMPLE_AGE, l);
2848 #if 201103L <= YY_CPLUSPLUS
2851 make_DDNS_SEND_UPDATES (location_type l)
2853 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, std::move (l));
2860 return symbol_type (token::TOKEN_DDNS_SEND_UPDATES, l);
2863 #if 201103L <= YY_CPLUSPLUS
2866 make_DDNS_OVERRIDE_NO_UPDATE (location_type l)
2868 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, std::move (l));
2875 return symbol_type (token::TOKEN_DDNS_OVERRIDE_NO_UPDATE, l);
2878 #if 201103L <= YY_CPLUSPLUS
2881 make_DDNS_OVERRIDE_CLIENT_UPDATE (location_type l)
2883 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, std::move (l));
2890 return symbol_type (token::TOKEN_DDNS_OVERRIDE_CLIENT_UPDATE, l);
2893 #if 201103L <= YY_CPLUSPLUS
2896 make_DDNS_REPLACE_CLIENT_NAME (location_type l)
2898 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, std::move (l));
2905 return symbol_type (token::TOKEN_DDNS_REPLACE_CLIENT_NAME, l);
2908 #if 201103L <= YY_CPLUSPLUS
2911 make_DDNS_GENERATED_PREFIX (location_type l)
2913 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, std::move (l));
2920 return symbol_type (token::TOKEN_DDNS_GENERATED_PREFIX, l);
2923 #if 201103L <= YY_CPLUSPLUS
2926 make_DDNS_QUALIFYING_SUFFIX (location_type l)
2928 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, std::move (l));
2935 return symbol_type (token::TOKEN_DDNS_QUALIFYING_SUFFIX, l);
2938 #if 201103L <= YY_CPLUSPLUS
2941 make_DDNS_UPDATE_ON_RENEW (location_type l)
2943 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, std::move (l));
2950 return symbol_type (token::TOKEN_DDNS_UPDATE_ON_RENEW, l);
2953 #if 201103L <= YY_CPLUSPLUS
2956 make_DDNS_USE_CONFLICT_RESOLUTION (location_type l)
2958 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, std::move (l));
2965 return symbol_type (token::TOKEN_DDNS_USE_CONFLICT_RESOLUTION, l);
2968 #if 201103L <= YY_CPLUSPLUS
2971 make_STORE_EXTENDED_INFO (location_type l)
2973 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, std::move (l));
2980 return symbol_type (token::TOKEN_STORE_EXTENDED_INFO, l);
2983 #if 201103L <= YY_CPLUSPLUS
2986 make_SUBNET4 (location_type l)
2988 return symbol_type (token::TOKEN_SUBNET4, std::move (l));
2998 #if 201103L <= YY_CPLUSPLUS
3001 make_SUBNET_4O6_INTERFACE (location_type l)
3003 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, std::move (l));
3010 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE, l);
3013 #if 201103L <= YY_CPLUSPLUS
3016 make_SUBNET_4O6_INTERFACE_ID (location_type l)
3018 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, std::move (l));
3025 return symbol_type (token::TOKEN_SUBNET_4O6_INTERFACE_ID, l);
3028 #if 201103L <= YY_CPLUSPLUS
3031 make_SUBNET_4O6_SUBNET (location_type l)
3033 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, std::move (l));
3040 return symbol_type (token::TOKEN_SUBNET_4O6_SUBNET, l);
3043 #if 201103L <= YY_CPLUSPLUS
3046 make_OPTION_DEF (location_type l)
3048 return symbol_type (token::TOKEN_OPTION_DEF, std::move (l));
3058 #if 201103L <= YY_CPLUSPLUS
3061 make_OPTION_DATA (location_type l)
3063 return symbol_type (token::TOKEN_OPTION_DATA, std::move (l));
3073 #if 201103L <= YY_CPLUSPLUS
3076 make_NAME (location_type l)
3078 return symbol_type (token::TOKEN_NAME, std::move (l));
3088 #if 201103L <= YY_CPLUSPLUS
3091 make_DATA (location_type l)
3093 return symbol_type (token::TOKEN_DATA, std::move (l));
3103 #if 201103L <= YY_CPLUSPLUS
3106 make_CODE (location_type l)
3108 return symbol_type (token::TOKEN_CODE, std::move (l));
3118 #if 201103L <= YY_CPLUSPLUS
3121 make_SPACE (location_type l)
3123 return symbol_type (token::TOKEN_SPACE, std::move (l));
3133 #if 201103L <= YY_CPLUSPLUS
3136 make_CSV_FORMAT (location_type l)
3138 return symbol_type (token::TOKEN_CSV_FORMAT, std::move (l));
3148 #if 201103L <= YY_CPLUSPLUS
3151 make_ALWAYS_SEND (location_type l)
3153 return symbol_type (token::TOKEN_ALWAYS_SEND, std::move (l));
3163 #if 201103L <= YY_CPLUSPLUS
3166 make_RECORD_TYPES (location_type l)
3168 return symbol_type (token::TOKEN_RECORD_TYPES, std::move (l));
3175 return symbol_type (token::TOKEN_RECORD_TYPES, l);
3178 #if 201103L <= YY_CPLUSPLUS
3181 make_ENCAPSULATE (location_type l)
3183 return symbol_type (token::TOKEN_ENCAPSULATE, std::move (l));
3193 #if 201103L <= YY_CPLUSPLUS
3196 make_ARRAY (location_type l)
3198 return symbol_type (token::TOKEN_ARRAY, std::move (l));
3208 #if 201103L <= YY_CPLUSPLUS
3211 make_SHARED_NETWORKS (location_type l)
3213 return symbol_type (token::TOKEN_SHARED_NETWORKS, std::move (l));
3220 return symbol_type (token::TOKEN_SHARED_NETWORKS, l);
3223 #if 201103L <= YY_CPLUSPLUS
3226 make_POOLS (location_type l)
3228 return symbol_type (token::TOKEN_POOLS, std::move (l));
3238 #if 201103L <= YY_CPLUSPLUS
3241 make_POOL (location_type l)
3243 return symbol_type (token::TOKEN_POOL, std::move (l));
3253 #if 201103L <= YY_CPLUSPLUS
3256 make_USER_CONTEXT (location_type l)
3258 return symbol_type (token::TOKEN_USER_CONTEXT, std::move (l));
3265 return symbol_type (token::TOKEN_USER_CONTEXT, l);
3268 #if 201103L <= YY_CPLUSPLUS
3271 make_COMMENT (location_type l)
3273 return symbol_type (token::TOKEN_COMMENT, std::move (l));
3283 #if 201103L <= YY_CPLUSPLUS
3286 make_SUBNET (location_type l)
3288 return symbol_type (token::TOKEN_SUBNET, std::move (l));
3298 #if 201103L <= YY_CPLUSPLUS
3301 make_INTERFACE (location_type l)
3303 return symbol_type (token::TOKEN_INTERFACE, std::move (l));
3313 #if 201103L <= YY_CPLUSPLUS
3316 make_ID (location_type l)
3318 return symbol_type (token::TOKEN_ID, std::move (l));
3328 #if 201103L <= YY_CPLUSPLUS
3331 make_RESERVATION_MODE (location_type l)
3333 return symbol_type (token::TOKEN_RESERVATION_MODE, std::move (l));
3340 return symbol_type (token::TOKEN_RESERVATION_MODE, l);
3343 #if 201103L <= YY_CPLUSPLUS
3346 make_DISABLED (location_type l)
3348 return symbol_type (token::TOKEN_DISABLED, std::move (l));
3358 #if 201103L <= YY_CPLUSPLUS
3361 make_OUT_OF_POOL (location_type l)
3363 return symbol_type (token::TOKEN_OUT_OF_POOL, std::move (l));
3373 #if 201103L <= YY_CPLUSPLUS
3376 make_GLOBAL (location_type l)
3378 return symbol_type (token::TOKEN_GLOBAL, std::move (l));
3388 #if 201103L <= YY_CPLUSPLUS
3391 make_ALL (location_type l)
3393 return symbol_type (token::TOKEN_ALL, std::move (l));
3403 #if 201103L <= YY_CPLUSPLUS
3406 make_RESERVATIONS_GLOBAL (location_type l)
3408 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, std::move (l));
3415 return symbol_type (token::TOKEN_RESERVATIONS_GLOBAL, l);
3418 #if 201103L <= YY_CPLUSPLUS
3421 make_RESERVATIONS_IN_SUBNET (location_type l)
3423 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, std::move (l));
3430 return symbol_type (token::TOKEN_RESERVATIONS_IN_SUBNET, l);
3433 #if 201103L <= YY_CPLUSPLUS
3436 make_RESERVATIONS_OUT_OF_POOL (location_type l)
3438 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, std::move (l));
3445 return symbol_type (token::TOKEN_RESERVATIONS_OUT_OF_POOL, l);
3448 #if 201103L <= YY_CPLUSPLUS
3451 make_HOST_RESERVATION_IDENTIFIERS (location_type l)
3453 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, std::move (l));
3460 return symbol_type (token::TOKEN_HOST_RESERVATION_IDENTIFIERS, l);
3463 #if 201103L <= YY_CPLUSPLUS
3466 make_CLIENT_CLASSES (location_type l)
3468 return symbol_type (token::TOKEN_CLIENT_CLASSES, std::move (l));
3475 return symbol_type (token::TOKEN_CLIENT_CLASSES, l);
3478 #if 201103L <= YY_CPLUSPLUS
3481 make_REQUIRE_CLIENT_CLASSES (location_type l)
3483 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, std::move (l));
3490 return symbol_type (token::TOKEN_REQUIRE_CLIENT_CLASSES, l);
3493 #if 201103L <= YY_CPLUSPLUS
3496 make_TEST (location_type l)
3498 return symbol_type (token::TOKEN_TEST, std::move (l));
3508 #if 201103L <= YY_CPLUSPLUS
3511 make_ONLY_IF_REQUIRED (location_type l)
3513 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, std::move (l));
3520 return symbol_type (token::TOKEN_ONLY_IF_REQUIRED, l);
3523 #if 201103L <= YY_CPLUSPLUS
3526 make_CLIENT_CLASS (location_type l)
3528 return symbol_type (token::TOKEN_CLIENT_CLASS, std::move (l));
3535 return symbol_type (token::TOKEN_CLIENT_CLASS, l);
3538 #if 201103L <= YY_CPLUSPLUS
3541 make_RESERVATIONS (location_type l)
3543 return symbol_type (token::TOKEN_RESERVATIONS, std::move (l));
3550 return symbol_type (token::TOKEN_RESERVATIONS, l);
3553 #if 201103L <= YY_CPLUSPLUS
3556 make_DUID (location_type l)
3558 return symbol_type (token::TOKEN_DUID, std::move (l));
3568 #if 201103L <= YY_CPLUSPLUS
3571 make_HW_ADDRESS (location_type l)
3573 return symbol_type (token::TOKEN_HW_ADDRESS, std::move (l));
3583 #if 201103L <= YY_CPLUSPLUS
3586 make_CIRCUIT_ID (location_type l)
3588 return symbol_type (token::TOKEN_CIRCUIT_ID, std::move (l));
3598 #if 201103L <= YY_CPLUSPLUS
3601 make_CLIENT_ID (location_type l)
3603 return symbol_type (token::TOKEN_CLIENT_ID, std::move (l));
3613 #if 201103L <= YY_CPLUSPLUS
3616 make_HOSTNAME (location_type l)
3618 return symbol_type (token::TOKEN_HOSTNAME, std::move (l));
3628 #if 201103L <= YY_CPLUSPLUS
3631 make_FLEX_ID (location_type l)
3633 return symbol_type (token::TOKEN_FLEX_ID, std::move (l));
3643 #if 201103L <= YY_CPLUSPLUS
3646 make_RELAY (location_type l)
3648 return symbol_type (token::TOKEN_RELAY, std::move (l));
3658 #if 201103L <= YY_CPLUSPLUS
3661 make_IP_ADDRESS (location_type l)
3663 return symbol_type (token::TOKEN_IP_ADDRESS, std::move (l));
3673 #if 201103L <= YY_CPLUSPLUS
3676 make_IP_ADDRESSES (location_type l)
3678 return symbol_type (token::TOKEN_IP_ADDRESSES, std::move (l));
3685 return symbol_type (token::TOKEN_IP_ADDRESSES, l);
3688 #if 201103L <= YY_CPLUSPLUS
3691 make_HOOKS_LIBRARIES (location_type l)
3693 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, std::move (l));
3700 return symbol_type (token::TOKEN_HOOKS_LIBRARIES, l);
3703 #if 201103L <= YY_CPLUSPLUS
3706 make_LIBRARY (location_type l)
3708 return symbol_type (token::TOKEN_LIBRARY, std::move (l));
3718 #if 201103L <= YY_CPLUSPLUS
3721 make_PARAMETERS (location_type l)
3723 return symbol_type (token::TOKEN_PARAMETERS, std::move (l));
3733 #if 201103L <= YY_CPLUSPLUS
3736 make_EXPIRED_LEASES_PROCESSING (location_type l)
3738 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, std::move (l));
3745 return symbol_type (token::TOKEN_EXPIRED_LEASES_PROCESSING, l);
3748 #if 201103L <= YY_CPLUSPLUS
3751 make_RECLAIM_TIMER_WAIT_TIME (location_type l)
3753 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, std::move (l));
3760 return symbol_type (token::TOKEN_RECLAIM_TIMER_WAIT_TIME, l);
3763 #if 201103L <= YY_CPLUSPLUS
3766 make_FLUSH_RECLAIMED_TIMER_WAIT_TIME (location_type l)
3768 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, std::move (l));
3775 return symbol_type (token::TOKEN_FLUSH_RECLAIMED_TIMER_WAIT_TIME, l);
3778 #if 201103L <= YY_CPLUSPLUS
3781 make_HOLD_RECLAIMED_TIME (location_type l)
3783 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, std::move (l));
3790 return symbol_type (token::TOKEN_HOLD_RECLAIMED_TIME, l);
3793 #if 201103L <= YY_CPLUSPLUS
3796 make_MAX_RECLAIM_LEASES (location_type l)
3798 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, std::move (l));
3805 return symbol_type (token::TOKEN_MAX_RECLAIM_LEASES, l);
3808 #if 201103L <= YY_CPLUSPLUS
3811 make_MAX_RECLAIM_TIME (location_type l)
3813 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, std::move (l));
3820 return symbol_type (token::TOKEN_MAX_RECLAIM_TIME, l);
3823 #if 201103L <= YY_CPLUSPLUS
3826 make_UNWARNED_RECLAIM_CYCLES (location_type l)
3828 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, std::move (l));
3835 return symbol_type (token::TOKEN_UNWARNED_RECLAIM_CYCLES, l);
3838 #if 201103L <= YY_CPLUSPLUS
3841 make_DHCP4O6_PORT (location_type l)
3843 return symbol_type (token::TOKEN_DHCP4O6_PORT, std::move (l));
3850 return symbol_type (token::TOKEN_DHCP4O6_PORT, l);
3853 #if 201103L <= YY_CPLUSPLUS
3856 make_DHCP_MULTI_THREADING (location_type l)
3858 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, std::move (l));
3865 return symbol_type (token::TOKEN_DHCP_MULTI_THREADING, l);
3868 #if 201103L <= YY_CPLUSPLUS
3871 make_ENABLE_MULTI_THREADING (location_type l)
3873 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, std::move (l));
3880 return symbol_type (token::TOKEN_ENABLE_MULTI_THREADING, l);
3883 #if 201103L <= YY_CPLUSPLUS
3886 make_THREAD_POOL_SIZE (location_type l)
3888 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, std::move (l));
3895 return symbol_type (token::TOKEN_THREAD_POOL_SIZE, l);
3898 #if 201103L <= YY_CPLUSPLUS
3901 make_PACKET_QUEUE_SIZE (location_type l)
3903 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, std::move (l));
3910 return symbol_type (token::TOKEN_PACKET_QUEUE_SIZE, l);
3913 #if 201103L <= YY_CPLUSPLUS
3916 make_CONTROL_SOCKET (location_type l)
3918 return symbol_type (token::TOKEN_CONTROL_SOCKET, std::move (l));
3925 return symbol_type (token::TOKEN_CONTROL_SOCKET, l);
3928 #if 201103L <= YY_CPLUSPLUS
3931 make_SOCKET_TYPE (location_type l)
3933 return symbol_type (token::TOKEN_SOCKET_TYPE, std::move (l));
3943 #if 201103L <= YY_CPLUSPLUS
3946 make_SOCKET_NAME (location_type l)
3948 return symbol_type (token::TOKEN_SOCKET_NAME, std::move (l));
3958 #if 201103L <= YY_CPLUSPLUS
3961 make_DHCP_QUEUE_CONTROL (location_type l)
3963 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, std::move (l));
3970 return symbol_type (token::TOKEN_DHCP_QUEUE_CONTROL, l);
3973 #if 201103L <= YY_CPLUSPLUS
3976 make_ENABLE_QUEUE (location_type l)
3978 return symbol_type (token::TOKEN_ENABLE_QUEUE, std::move (l));
3985 return symbol_type (token::TOKEN_ENABLE_QUEUE, l);
3988 #if 201103L <= YY_CPLUSPLUS
3991 make_QUEUE_TYPE (location_type l)
3993 return symbol_type (token::TOKEN_QUEUE_TYPE, std::move (l));
4003 #if 201103L <= YY_CPLUSPLUS
4006 make_CAPACITY (location_type l)
4008 return symbol_type (token::TOKEN_CAPACITY, std::move (l));
4018 #if 201103L <= YY_CPLUSPLUS
4021 make_DHCP_DDNS (location_type l)
4023 return symbol_type (token::TOKEN_DHCP_DDNS, std::move (l));
4033 #if 201103L <= YY_CPLUSPLUS
4036 make_ENABLE_UPDATES (location_type l)
4038 return symbol_type (token::TOKEN_ENABLE_UPDATES, std::move (l));
4045 return symbol_type (token::TOKEN_ENABLE_UPDATES, l);
4048 #if 201103L <= YY_CPLUSPLUS
4051 make_QUALIFYING_SUFFIX (location_type l)
4053 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, std::move (l));
4060 return symbol_type (token::TOKEN_QUALIFYING_SUFFIX, l);
4063 #if 201103L <= YY_CPLUSPLUS
4066 make_SERVER_IP (location_type l)
4068 return symbol_type (token::TOKEN_SERVER_IP, std::move (l));
4078 #if 201103L <= YY_CPLUSPLUS
4081 make_SERVER_PORT (location_type l)
4083 return symbol_type (token::TOKEN_SERVER_PORT, std::move (l));
4093 #if 201103L <= YY_CPLUSPLUS
4096 make_SENDER_IP (location_type l)
4098 return symbol_type (token::TOKEN_SENDER_IP, std::move (l));
4108 #if 201103L <= YY_CPLUSPLUS
4111 make_SENDER_PORT (location_type l)
4113 return symbol_type (token::TOKEN_SENDER_PORT, std::move (l));
4123 #if 201103L <= YY_CPLUSPLUS
4126 make_MAX_QUEUE_SIZE (location_type l)
4128 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, std::move (l));
4135 return symbol_type (token::TOKEN_MAX_QUEUE_SIZE, l);
4138 #if 201103L <= YY_CPLUSPLUS
4141 make_NCR_PROTOCOL (location_type l)
4143 return symbol_type (token::TOKEN_NCR_PROTOCOL, std::move (l));
4150 return symbol_type (token::TOKEN_NCR_PROTOCOL, l);
4153 #if 201103L <= YY_CPLUSPLUS
4156 make_NCR_FORMAT (location_type l)
4158 return symbol_type (token::TOKEN_NCR_FORMAT, std::move (l));
4168 #if 201103L <= YY_CPLUSPLUS
4171 make_OVERRIDE_NO_UPDATE (location_type l)
4173 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, std::move (l));
4180 return symbol_type (token::TOKEN_OVERRIDE_NO_UPDATE, l);
4183 #if 201103L <= YY_CPLUSPLUS
4186 make_OVERRIDE_CLIENT_UPDATE (location_type l)
4188 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, std::move (l));
4195 return symbol_type (token::TOKEN_OVERRIDE_CLIENT_UPDATE, l);
4198 #if 201103L <= YY_CPLUSPLUS
4201 make_REPLACE_CLIENT_NAME (location_type l)
4203 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, std::move (l));
4210 return symbol_type (token::TOKEN_REPLACE_CLIENT_NAME, l);
4213 #if 201103L <= YY_CPLUSPLUS
4216 make_GENERATED_PREFIX (location_type l)
4218 return symbol_type (token::TOKEN_GENERATED_PREFIX, std::move (l));
4225 return symbol_type (token::TOKEN_GENERATED_PREFIX, l);
4228 #if 201103L <= YY_CPLUSPLUS
4231 make_TCP (location_type l)
4233 return symbol_type (token::TOKEN_TCP, std::move (l));
4243 #if 201103L <= YY_CPLUSPLUS
4246 make_JSON (location_type l)
4248 return symbol_type (token::TOKEN_JSON, std::move (l));
4258 #if 201103L <= YY_CPLUSPLUS
4261 make_WHEN_PRESENT (location_type l)
4263 return symbol_type (token::TOKEN_WHEN_PRESENT, std::move (l));
4270 return symbol_type (token::TOKEN_WHEN_PRESENT, l);
4273 #if 201103L <= YY_CPLUSPLUS
4276 make_NEVER (location_type l)
4278 return symbol_type (token::TOKEN_NEVER, std::move (l));
4288 #if 201103L <= YY_CPLUSPLUS
4291 make_ALWAYS (location_type l)
4293 return symbol_type (token::TOKEN_ALWAYS, std::move (l));
4303 #if 201103L <= YY_CPLUSPLUS
4306 make_WHEN_NOT_PRESENT (location_type l)
4308 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, std::move (l));
4315 return symbol_type (token::TOKEN_WHEN_NOT_PRESENT, l);
4318 #if 201103L <= YY_CPLUSPLUS
4321 make_HOSTNAME_CHAR_SET (location_type l)
4323 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, std::move (l));
4330 return symbol_type (token::TOKEN_HOSTNAME_CHAR_SET, l);
4333 #if 201103L <= YY_CPLUSPLUS
4336 make_HOSTNAME_CHAR_REPLACEMENT (location_type l)
4338 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, std::move (l));
4345 return symbol_type (token::TOKEN_HOSTNAME_CHAR_REPLACEMENT, l);
4348 #if 201103L <= YY_CPLUSPLUS
4351 make_IP_RESERVATIONS_UNIQUE (location_type l)
4353 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, std::move (l));
4360 return symbol_type (token::TOKEN_IP_RESERVATIONS_UNIQUE, l);
4363 #if 201103L <= YY_CPLUSPLUS
4366 make_LOGGERS (location_type l)
4368 return symbol_type (token::TOKEN_LOGGERS, std::move (l));
4378 #if 201103L <= YY_CPLUSPLUS
4381 make_OUTPUT_OPTIONS (location_type l)
4383 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, std::move (l));
4390 return symbol_type (token::TOKEN_OUTPUT_OPTIONS, l);
4393 #if 201103L <= YY_CPLUSPLUS
4396 make_OUTPUT (location_type l)
4398 return symbol_type (token::TOKEN_OUTPUT, std::move (l));
4408 #if 201103L <= YY_CPLUSPLUS
4411 make_DEBUGLEVEL (location_type l)
4413 return symbol_type (token::TOKEN_DEBUGLEVEL, std::move (l));
4423 #if 201103L <= YY_CPLUSPLUS
4426 make_SEVERITY (location_type l)
4428 return symbol_type (token::TOKEN_SEVERITY, std::move (l));
4438 #if 201103L <= YY_CPLUSPLUS
4441 make_FLUSH (location_type l)
4443 return symbol_type (token::TOKEN_FLUSH, std::move (l));
4453 #if 201103L <= YY_CPLUSPLUS
4456 make_MAXSIZE (location_type l)
4458 return symbol_type (token::TOKEN_MAXSIZE, std::move (l));
4468 #if 201103L <= YY_CPLUSPLUS
4471 make_MAXVER (location_type l)
4473 return symbol_type (token::TOKEN_MAXVER, std::move (l));
4483 #if 201103L <= YY_CPLUSPLUS
4486 make_PATTERN (location_type l)
4488 return symbol_type (token::TOKEN_PATTERN, std::move (l));
4498 #if 201103L <= YY_CPLUSPLUS
4501 make_COMPATIBILITY (location_type l)
4503 return symbol_type (token::TOKEN_COMPATIBILITY, std::move (l));
4510 return symbol_type (token::TOKEN_COMPATIBILITY, l);
4513 #if 201103L <= YY_CPLUSPLUS
4516 make_LENIENT_OPTION_PARSING (location_type l)
4518 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, std::move (l));
4525 return symbol_type (token::TOKEN_LENIENT_OPTION_PARSING, l);
4528 #if 201103L <= YY_CPLUSPLUS
4531 make_TOPLEVEL_JSON (location_type l)
4533 return symbol_type (token::TOKEN_TOPLEVEL_JSON, std::move (l));
4540 return symbol_type (token::TOKEN_TOPLEVEL_JSON, l);
4543 #if 201103L <= YY_CPLUSPLUS
4546 make_TOPLEVEL_DHCP4 (location_type l)
4548 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, std::move (l));
4555 return symbol_type (token::TOKEN_TOPLEVEL_DHCP4, l);
4558 #if 201103L <= YY_CPLUSPLUS
4561 make_SUB_DHCP4 (location_type l)
4563 return symbol_type (token::TOKEN_SUB_DHCP4, std::move (l));
4573 #if 201103L <= YY_CPLUSPLUS
4576 make_SUB_INTERFACES4 (location_type l)
4578 return symbol_type (token::TOKEN_SUB_INTERFACES4, std::move (l));
4585 return symbol_type (token::TOKEN_SUB_INTERFACES4, l);
4588 #if 201103L <= YY_CPLUSPLUS
4591 make_SUB_SUBNET4 (location_type l)
4593 return symbol_type (token::TOKEN_SUB_SUBNET4, std::move (l));
4603 #if 201103L <= YY_CPLUSPLUS
4606 make_SUB_POOL4 (location_type l)
4608 return symbol_type (token::TOKEN_SUB_POOL4, std::move (l));
4618 #if 201103L <= YY_CPLUSPLUS
4621 make_SUB_RESERVATION (location_type l)
4623 return symbol_type (token::TOKEN_SUB_RESERVATION, std::move (l));
4630 return symbol_type (token::TOKEN_SUB_RESERVATION, l);
4633 #if 201103L <= YY_CPLUSPLUS
4636 make_SUB_OPTION_DEFS (location_type l)
4638 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, std::move (l));
4645 return symbol_type (token::TOKEN_SUB_OPTION_DEFS, l);
4648 #if 201103L <= YY_CPLUSPLUS
4651 make_SUB_OPTION_DEF (location_type l)
4653 return symbol_type (token::TOKEN_SUB_OPTION_DEF, std::move (l));
4660 return symbol_type (token::TOKEN_SUB_OPTION_DEF, l);
4663 #if 201103L <= YY_CPLUSPLUS
4666 make_SUB_OPTION_DATA (location_type l)
4668 return symbol_type (token::TOKEN_SUB_OPTION_DATA, std::move (l));
4675 return symbol_type (token::TOKEN_SUB_OPTION_DATA, l);
4678 #if 201103L <= YY_CPLUSPLUS
4681 make_SUB_HOOKS_LIBRARY (location_type l)
4683 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, std::move (l));
4690 return symbol_type (token::TOKEN_SUB_HOOKS_LIBRARY, l);
4693 #if 201103L <= YY_CPLUSPLUS
4696 make_SUB_DHCP_DDNS (location_type l)
4698 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, std::move (l));
4705 return symbol_type (token::TOKEN_SUB_DHCP_DDNS, l);
4708 #if 201103L <= YY_CPLUSPLUS
4711 make_SUB_CONFIG_CONTROL (location_type l)
4713 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, std::move (l));
4720 return symbol_type (token::TOKEN_SUB_CONFIG_CONTROL, l);
4723 #if 201103L <= YY_CPLUSPLUS
4726 make_STRING (std::string v, location_type l)
4728 return symbol_type (token::TOKEN_STRING, std::move (v), std::move (l));
4738 #if 201103L <= YY_CPLUSPLUS
4741 make_INTEGER (int64_t v, location_type l)
4743 return symbol_type (token::TOKEN_INTEGER, std::move (v), std::move (l));
4753 #if 201103L <= YY_CPLUSPLUS
4756 make_FLOAT (
double v, location_type l)
4758 return symbol_type (token::TOKEN_FLOAT, std::move (v), std::move (l));
4768 #if 201103L <= YY_CPLUSPLUS
4771 make_BOOLEAN (
bool v, location_type l)
4773 return symbol_type (token::TOKEN_BOOLEAN, std::move (v), std::move (l));
4796 int expected_tokens (symbol_kind_type yyarg[],
int yyargn)
const;
4804 #if YY_CPLUSPLUS < 201103L
4813 typedef short state_type;
4816 int yy_syntax_error_arguments_ (
const context& yyctx,
4817 symbol_kind_type yyarg[],
int yyargn)
const;
4821 virtual std::string yysyntax_error_ (
const context& yyctx)
const;
4825 static state_type yy_lr_goto_state_ (state_type yystate,
int yysym);
4829 static bool yy_pact_value_is_default_ (
int yyvalue);
4833 static bool yy_table_value_is_error_ (
int yyvalue);
4835 static const short yypact_ninf_;
4836 static const signed char yytable_ninf_;
4841 static symbol_kind_type yytranslate_ (
int t);
4844 static std::string yytnamerr_ (
const char *yystr);
4847 static const char*
const yytname_[];
4853 static const short yypact_[];
4858 static const short yydefact_[];
4861 static const short yypgoto_[];
4864 static const short yydefgoto_[];
4869 static const short yytable_[];
4871 static const short yycheck_[];
4875 static const short yystos_[];
4878 static const short yyr1_[];
4881 static const signed char yyr2_[];
4886 static const short yyrline_[];
4888 virtual void yy_reduce_print_ (
int r)
const;
4890 virtual void yy_stack_print_ ()
const;
4895 std::ostream* yycdebug_;
4900 template <
typename Base>
4901 void yy_print_ (std::ostream& yyo,
const basic_symbol<Base>& yysym)
const;
4908 template <
typename Base>
4909 void yy_destroy_ (
const char* yymsg, basic_symbol<Base>& yysym)
const;
4919 typedef state_type kind_type;
4925 by_state (const by_state& that) YY_NOEXCEPT;
4928 void clear () YY_NOEXCEPT;
4931 void move (by_state& that);
4935 symbol_kind_type kind () const YY_NOEXCEPT;
4939 enum { empty_state = 0 };
4947 struct stack_symbol_type : basic_symbol<by_state>
4950 typedef basic_symbol<by_state> super_type;
4952 stack_symbol_type ();
4954 stack_symbol_type (
YY_RVREF (stack_symbol_type) that);
4956 stack_symbol_type (state_type s,
YY_MOVE_REF (symbol_type) sym);
4957 #if YY_CPLUSPLUS < 201103L
4958 stack_symbol_type& operator= (stack_symbol_type& that);
4964 stack_symbol_type& operator= (
const stack_symbol_type& that);
4969 template <
typename T,
typename S = std::vector<T> >
4974 typedef typename S::iterator iterator;
4975 typedef typename S::const_iterator const_iterator;
4976 typedef typename S::size_type size_type;
4977 typedef typename std::ptrdiff_t index_type;
4979 stack (size_type n = 200)
4983 #if 201103L <= YY_CPLUSPLUS
4984 stack (
const stack&) =
delete;
4987 stack& operator= (
const stack&) =
delete;
4994 operator[] (index_type i)
const
4996 return seq_[size_type (size () - 1 - i)];
5003 operator[] (index_type i)
5005 return seq_[size_type (size () - 1 - i)];
5014 seq_.push_back (T ());
5015 operator[] (0).move (t);
5037 return index_type (seq_.size ());
5044 return seq_.begin ();
5058 slice (
const stack& stack, index_type range)
5064 operator[] (index_type i)
const
5066 return stack_[range_ - i];
5070 const stack& stack_;
5075 #if YY_CPLUSPLUS < 201103L
5076 stack (
const stack&);
5079 stack& operator= (
const stack&);
5087 typedef stack<stack_symbol_type> stack_type;
5090 stack_type yystack_;
5097 void yypush_ (
const char* m,
YY_MOVE_REF (stack_symbol_type) sym);
5105 void yypush_ (
const char* m, state_type s,
YY_MOVE_REF (symbol_type) sym);
5108 void yypop_ (
int n = 1);
5126 Dhcp4Parser::yytranslate_ (
int t)
5134 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5135 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5136 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5137 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5138 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5139 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5140 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5141 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5142 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5143 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5144 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5145 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5146 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5147 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5148 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5149 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5150 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5151 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5152 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5155 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5156 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5157 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5158 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
5159 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
5160 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
5161 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
5162 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
5163 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
5164 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
5165 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
5166 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
5167 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
5168 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
5169 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
5170 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
5171 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
5172 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
5173 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
5174 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
5175 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
5176 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
5177 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
5178 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
5179 195, 196, 197, 198, 199, 200, 201, 202, 203
5182 const int code_max = 458;
5185 return symbol_kind::S_YYEOF;
5186 else if (t <= code_max)
5187 return YY_CAST (symbol_kind_type, translate_table[t]);
5189 return symbol_kind::S_YYUNDEF;
5193 template <
typename Base>
5197 , location (that.location)
5199 switch (this->kind ())
5237 template <
typename Base>
5241 return this->kind ();
5244 template <
typename Base>
5251 template <
typename Base>
5255 super_type::move (s);
5256 switch (this->kind ())
5299 #if 201103L <= YY_CPLUSPLUS
5302 : kind_ (that.kind_)
5310 : kind_ (that.kind_)
5315 : kind_ (yytranslate_ (t))
5344 return this->kind ();
5347 #line 14 "dhcp4_parser.yy"
5349 #line 5350 "dhcp4_parser.h"
5354 #endif // !YY_PARSER4_DHCP4_PARSER_H_INCLUDED
static symbol_type make_TOPLEVEL_DHCP4(const location_type &l)
static symbol_type make_SUB_CONFIG_CONTROL(const location_type &l)
static symbol_type make_DDNS_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_LENIENT_OPTION_PARSING(const location_type &l)
static symbol_type make_NCR_FORMAT(const location_type &l)
static symbol_type make_HOOKS_LIBRARIES(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE(const location_type &l)
static symbol_type make_CIRCUIT_ID(const location_type &l)
std::string name() const YY_NOEXCEPT
The user-facing name of this symbol.
static symbol_type make_VALID_LIFETIME(const location_type &l)
static symbol_type make_SERVER_TAG(const location_type &l)
static symbol_type make_CONFIG_FETCH_WAIT_TIME(const location_type &l)
static symbol_type make_SAME_AS_INBOUND(const location_type &l)
symbol_kind_type kind() const YY_NOEXCEPT
The (internal) type number (corresponding to type).
static symbol_type make_TCP_KEEPALIVE(const location_type &l)
static symbol_type make_GLOBAL(const location_type &l)
static symbol_type make_DATA(const location_type &l)
static symbol_type make_AUTHORITATIVE(const location_type &l)
static symbol_type make_UDP(const location_type &l)
static symbol_type make_TYPE(const location_type &l)
static symbol_type make_MAX_QUEUE_SIZE(const location_type &l)
static symbol_type make_BOOLEAN(const bool &v, const location_type &l)
static symbol_type make_RELAY(const location_type &l)
static symbol_type make_USER(const location_type &l)
static symbol_type make_DEBUGLEVEL(const location_type &l)
static symbol_type make_CONTROL_SOCKET(const location_type &l)
static symbol_type make_FLUSH_RECLAIMED_TIMER_WAIT_TIME(const location_type &l)
void swap(self_type &that) YY_NOEXCEPT
Swap the content with that, of same type.
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_AGE(const location_type &l)
static symbol_type make_COMMA(const location_type &l)
static symbol_type make_TEST(const location_type &l)
basic_symbol(typename Base::kind_type t, const ElementPtr &v, const location_type &l)
static symbol_type make_POSTGRESQL(const location_type &l)
int debug_level_type
Type for debugging levels.
static symbol_type make_DDNS_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_CONSISTENCY(const location_type &l)
static symbol_type make_POOL(const location_type &l)
static symbol_type make_CACHE_MAX_AGE(const location_type &l)
static symbol_type make_LCURLY_BRACKET(const location_type &l)
static symbol_type make_HOSTS_DATABASES(const location_type &l)
static symbol_type make_SHARED_NETWORKS(const location_type &l)
void move(basic_symbol &s)
Destructive move, s is emptied into this.
Evaluation context, an interface to the expression evaluation.
static symbol_type make_SERVE_RETRY_CONTINUE(const location_type &l)
static symbol_type make_LEASE_DATABASE(const location_type &l)
basic_symbol< by_kind > super_type
Superclass.
static symbol_type make_MAX_ROW_ERRORS(const location_type &l)
static symbol_type make_MIN_VALID_LIFETIME(const location_type &l)
static symbol_type make_SUBNET_4O6_SUBNET(const location_type &l)
static symbol_type make_OUT_OF_POOL(const location_type &l)
static symbol_type make_CACHE_THRESHOLD(const location_type &l)
~semantic_type() YY_NOEXCEPT
Destruction, allowed only if empty.
static symbol_type make_ECHO_CLIENT_ID(const location_type &l)
static symbol_type make_REQUIRE_CLIENT_CLASSES(const location_type &l)
static symbol_type make_INTERFACE(const location_type &l)
static symbol_type make_STATISTIC_DEFAULT_SAMPLE_COUNT(const location_type &l)
static symbol_type make_SUB_HOOKS_LIBRARY(const location_type &l)
static symbol_type make_DHCP_SOCKET_TYPE(const location_type &l)
static symbol_type make_OVERRIDE_NO_UPDATE(const location_type &l)
static symbol_type make_ENABLE_UPDATES(const location_type &l)
static symbol_type make_COMPATIBILITY(const location_type &l)
static symbol_type make_DHCP_DDNS(const location_type &l)
static symbol_type make_COLON(const location_type &l)
static symbol_type make_UNWARNED_RECLAIM_CYCLES(const location_type &l)
static symbol_type make_MAX_VALID_LIFETIME(const location_type &l)
static symbol_type make_SUB_DHCP_DDNS(const location_type &l)
static symbol_type make_T1_PERCENT(const location_type &l)
static symbol_type make_MAX_RECONNECT_TRIES(const location_type &l)
Type access provider for token (enum) based symbols.
boost::shared_ptr< Element > ElementPtr
static symbol_type make_SENDER_PORT(const location_type &l)
token_kind_type kind_type
The symbol kind as needed by the constructor.
static symbol_type make_DDNS_SEND_UPDATES(const location_type &l)
static symbol_type make_SENDER_IP(const location_type &l)
static symbol_type make_ALWAYS(const location_type &l)
static symbol_type make_FLEX_ID(const location_type &l)
static symbol_type make_RESERVATION_MODE(const location_type &l)
static symbol_type make_ALWAYS_SEND(const location_type &l)
token_kind_type yytokentype
Backward compatibility alias (Bison 3.6).
static symbol_type make_SERVER_IP(const location_type &l)
static symbol_type make_MEMFILE(const location_type &l)
static symbol_type make_SERVE_RETRY_EXIT(const location_type &l)
static symbol_type make_CONFIG_CONTROL(const location_type &l)
static symbol_type make_STORE_EXTENDED_INFO(const location_type &l)
static symbol_type make_SUB_INTERFACES4(const location_type &l)
static symbol_type make_ENABLE_MULTI_THREADING(const location_type &l)
static symbol_type make_DECLINE_PROBATION_PERIOD(const location_type &l)
static symbol_type make_SUBNET_4O6_INTERFACE_ID(const location_type &l)
static symbol_type make_DISABLED(const location_type &l)
static symbol_type make_SANITY_CHECKS(const location_type &l)
static symbol_type make_LSQUARE_BRACKET(const location_type &l)
"External" symbols: returned by the scanner.
static symbol_type make_HOLD_RECLAIMED_TIME(const location_type &l)
static symbol_type make_T2_PERCENT(const location_type &l)
static symbol_type make_FLOAT(const double &v, const location_type &l)
static symbol_type make_OVERRIDE_CLIENT_UPDATE(const location_type &l)
static symbol_type make_INTEGER(const int64_t &v, const location_type &l)
static symbol_type make_TCP_NODELAY(const location_type &l)
static symbol_type make_BOOT_FILE_NAME(const location_type &l)
static symbol_type make_HOST(const location_type &l)
syntax_error(const syntax_error &s)
static symbol_type make_CALCULATE_TEE_TIMES(const location_type &l)
static symbol_type make_MAX_RECLAIM_TIME(const location_type &l)
static symbol_type make_NEXT_SERVER(const location_type &l)
static symbol_type make_NEVER(const location_type &l)
static symbol_type make_PERSIST(const location_type &l)
T & build(const T &t)
Instantiate a T in here from t.
static symbol_type make_DHCP4(const location_type &l)
static symbol_type make_WHEN_PRESENT(const location_type &l)
static symbol_type make_IP_RESERVATIONS_UNIQUE(const location_type &l)
bool empty() const YY_NOEXCEPT
Whether empty.
semantic_type() YY_NOEXCEPT
Empty construction.
static symbol_type make_SERVER_PORT(const location_type &l)
static symbol_type make_MATCH_CLIENT_ID(const location_type &l)
static symbol_type make_RSQUARE_BRACKET(const location_type &l)
static symbol_type make_RESERVATIONS(const location_type &l)
token_kind_type token_type
Backward compatibility alias (Bison 3.6).
static symbol_type make_SERIAL_CONSISTENCY(const location_type &l)
void copy(const self_type &that)
Copy the content of that to this.
static symbol_type make_ENABLE_QUEUE(const location_type &l)
static symbol_type make_SUBNET(const location_type &l)
static symbol_type make_DHCP_QUEUE_CONTROL(const location_type &l)
static symbol_type make_DUID(const location_type &l)
syntax_error(const location_type &l, const std::string &m)
static symbol_type make_HOSTNAME_CHAR_REPLACEMENT(const location_type &l)
static symbol_type make_DDNS_REPLACE_CLIENT_NAME(const location_type &l)
static symbol_type make_QUALIFYING_SUFFIX(const location_type &l)
void clear() YY_NOEXCEPT
Record that this symbol is empty.
static symbol_type make_SOCKET_TYPE(const location_type &l)
symbol_kind_type kind_
The symbol kind.
static symbol_type make_NAME(const location_type &l)
static symbol_type make_RENEW_TIMER(const location_type &l)
static symbol_type make_ID(const location_type &l)
static symbol_type make_IP_ADDRESS(const location_type &l)
static symbol_type make_PARAMETERS(const location_type &l)
static symbol_type make_SEVERITY(const location_type &l)
basic_symbol(typename Base::kind_type t, const double &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const location_type &l)
Constructors for typed symbols.
static symbol_type make_COMMENT(const location_type &l)
static symbol_type make_RESERVATIONS_GLOBAL(const location_type &l)
static symbol_type make_OUTPUT_OPTIONS(const location_type &l)
static symbol_type make_CONTACT_POINTS(const location_type &l)
token::yytokentype token_kind_type
Token kind, as returned by yylex.
void destroy()
Destroy the stored T.
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_DDNS_USE_CONFLICT_RESOLUTION(const location_type &l)
static symbol_type make_NCR_PROTOCOL(const location_type &l)
static symbol_type make_READONLY(const location_type &l)
static symbol_type make_TOPLEVEL_JSON(const location_type &l)
static symbol_type make_HOSTS_DATABASE(const location_type &l)
static symbol_type make_CQL(const location_type &l)
static symbol_type make_CLIENT_CLASSES(const location_type &l)
static symbol_type make_CSV_FORMAT(const location_type &l)
static symbol_type make_RCURLY_BRACKET(const location_type &l)
long double yyalign_me
Strongest alignment constraints.
static symbol_type make_RECLAIM_TIMER_WAIT_TIME(const location_type &l)
static symbol_type make_DHCP4O6_PORT(const location_type &l)
slice(const stack &stack, index_type range)
static symbol_type make_WHEN_NOT_PRESENT(const location_type &l)
static symbol_type make_POOLS(const location_type &l)
static symbol_type make_END(const location_type &l)
Present a slice of the top of a stack.
Defines the logger used by the top-level component of kea-dhcp-ddns.
T & emplace(const T &t)
Instantiate a T in here from t.
static symbol_type make_FLUSH(const location_type &l)
static symbol_type make_INTERFACES(const location_type &l)
#define YY_MOVE_REF(Type)
static symbol_type make_INTERFACES_CONFIG(const location_type &l)
static symbol_type make_TCP(const location_type &l)
static symbol_type make_SUB_RESERVATION(const location_type &l)
static symbol_type make_DHCP_MULTI_THREADING(const location_type &l)
void move(self_type &that)
Move the content of that to this.
static symbol_type make_MAX_RECLAIM_LEASES(const location_type &l)
static symbol_type make_CLIENT_ID(const location_type &l)
static symbol_type make_SUB_SUBNET4(const location_type &l)
Syntax errors thrown from user actions.
static symbol_type make_RECORD_TYPES(const location_type &l)
static symbol_type make_HOSTNAME(const location_type &l)
static symbol_type make_REBIND_TIMER(const location_type &l)
#define YY_CAST(Type, Val)
basic_symbol(typename Base::kind_type t, const int64_t &v, const location_type &l)
basic_symbol(typename Base::kind_type t, const std::string &v, const location_type &l)
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
static symbol_type make_EXPIRED_LEASES_PROCESSING(const location_type &l)
semantic_type value
The semantic value.
~basic_symbol()
Destroy the symbol.
static symbol_type make_PACKET_QUEUE_SIZE(const location_type &l)
A buffer to store and retrieve objects.
symbol_kind_type token() const YY_NOEXCEPT
const location_type & location() const YY_NOEXCEPT
static symbol_type make_OUTPUT(const location_type &l)
T & as() YY_NOEXCEPT
Accessor to a built T.
static symbol_type make_SUB_POOL4(const location_type &l)
T & build()
Instantiate an empty T in here.
static symbol_type make_RESERVATIONS_OUT_OF_POOL(const location_type &l)
static symbol_type make_KEYSPACE(const location_type &l)
by_kind()
Default constructor.
static symbol_type make_HW_ADDRESS(const location_type &l)
static symbol_type make_DDNS_GENERATED_PREFIX(const location_type &l)
static symbol_type make_STRING(const std::string &v, const location_type &l)
static symbol_type make_RESERVATIONS_IN_SUBNET(const location_type &l)
static symbol_type make_USE_ROUTING(const location_type &l)
static symbol_type make_MYSQL(const location_type &l)
#define YY_ATTRIBUTE_PURE
Forward declaration of the ParserContext class.
static symbol_type make_LOGGERS(const location_type &l)
semantic_type self_type
Type of *this.
static symbol_type make_RAW(const location_type &l)
static symbol_type make_CODE(const location_type &l)
static symbol_type make_LEASE_CHECKS(const location_type &l)
static symbol_type make_DDNS_QUALIFYING_SUFFIX(const location_type &l)
static symbol_type make_ALL(const location_type &l)
static symbol_type make_RE_DETECT(const location_type &l)
static symbol_type make_HOST_RESERVATION_IDENTIFIERS(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_IP_ADDRESSES(const location_type &l)
static symbol_type make_DDNS_UPDATE_ON_RENEW(const location_type &l)
static symbol_type make_OUTBOUND_INTERFACE(const location_type &l)
static symbol_type make_ENCAPSULATE(const location_type &l)
static symbol_type make_ONLY_IF_REQUIRED(const location_type &l)
basic_symbol(typename Base::kind_type t, const bool &v, const location_type &l)
semantic_type(YY_RVREF(T) t)
Construct and fill.
static symbol_type make_RECONNECT_WAIT_TIME(const location_type &l)
symbol_type()
Empty symbol.
static symbol_type make_CONFIG_DATABASES(const location_type &l)
static symbol_type make_REQUEST_TIMEOUT(const location_type &l)
basic_symbol()
Default constructor.
static symbol_type make_LIBRARY(const location_type &l)
static symbol_type make_HOSTNAME_CHAR_SET(const location_type &l)
const symbol_type & lookahead() const YY_NOEXCEPT
static symbol_type make_OPTION_DEF(const location_type &l)
static symbol_type make_JSON(const location_type &l)
static symbol_type make_PASSWORD(const location_type &l)
void move(by_kind &that)
Steal the symbol kind from that.
symbol_kind_type type_get() const YY_NOEXCEPT
Backward compatibility (Bison 3.6).
static symbol_type make_USER_CONTEXT(const location_type &l)
Base super_type
Alias to Base.
const T & as() const YY_NOEXCEPT
Const accessor to a built T (for printer).
static symbol_type make_STOP_RETRY_EXIT(const location_type &l)
static symbol_type make_NULL_TYPE(const location_type &l)
location_type location
The location.
static symbol_type make_CONNECT_TIMEOUT(const location_type &l)
static symbol_type make_PARSER4_UNDEF(const location_type &l)
static symbol_type make_SUB_DHCP4(const location_type &l)
T & emplace()
Instantiate an empty T in here.
static symbol_type make_PORT(const location_type &l)
static symbol_type make_SUB_OPTION_DEF(const location_type &l)
symbol_kind::symbol_kind_type symbol_kind_type
(Internal) symbol kind.
static symbol_type make_SERVER_HOSTNAME(const location_type &l)
static symbol_type make_MAXSIZE(const location_type &l)
static symbol_type make_SUB_OPTION_DATA(const location_type &l)
static symbol_type make_QUEUE_TYPE(const location_type &l)
void clear() YY_NOEXCEPT
Destroy contents, and record that is empty.
static symbol_type make_GENERATED_PREFIX(const location_type &l)
static symbol_type make_MAXVER(const location_type &l)
static symbol_type make_PATTERN(const location_type &l)
static symbol_type make_PARSER4_error(const location_type &l)
static symbol_type make_CLIENT_CLASS(const location_type &l)
static symbol_type make_ON_FAIL(const location_type &l)
static symbol_type make_SOCKET_NAME(const location_type &l)
static symbol_type make_SUBNET4(const location_type &l)
static symbol_type make_LFC_INTERVAL(const location_type &l)
static symbol_type make_CAPACITY(const location_type &l)
static symbol_type make_THREAD_POOL_SIZE(const location_type &l)
static symbol_type make_ARRAY(const location_type &l)
static symbol_type make_SPACE(const location_type &l)
static symbol_type make_REPLACE_CLIENT_NAME(const location_type &l)