From: Andrei Pavel Date: Tue, 14 Dec 2021 17:21:31 +0000 (+0200) Subject: [#2084] warnAboutExtraCommas() in parsers X-Git-Tag: Kea-2.1.2~186 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65f05b3bbf638c1226056a533bc47efedaa561f7;p=thirdparty%2Fkea.git [#2084] warnAboutExtraCommas() in parsers --- diff --git a/src/bin/agent/agent_parser.yy b/src/bin/agent/agent_parser.yy index 6b4937e557..296168bb57 100644 --- a/src/bin/agent/agent_parser.yy +++ b/src/bin/agent/agent_parser.yy @@ -34,6 +34,13 @@ using namespace std; #include } +%code +{ +template +void warnAboutExtraCommas(ctx_t& ctx, location_t& location) { + ctx.warning(location, "Extraneous comma. A piece of configuration may have been omitted."); +} // warnAboutExtraCommas +} // %code %define api.token.prefix {TOKEN_} // Tokens in an order which makes sense and related to the intended use. @@ -195,7 +202,7 @@ not_empty_map: STRING COLON value { ctx.stack_.back()->set($3, $5); } | not_empty_map COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -218,7 +225,7 @@ not_empty_list: value { ctx.stack_.back()->add($3); } | not_empty_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -266,14 +273,14 @@ global_object: CONTROL_AGENT { ctx.leave(); } | global_object COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; global_params: global_param | global_params COMMA global_param | global_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -413,7 +420,7 @@ hooks_libraries_list: %empty not_empty_hooks_libraries_list: hooks_library | not_empty_hooks_libraries_list COMMA hooks_library | not_empty_hooks_libraries_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -428,7 +435,7 @@ hooks_library: LCURLY_BRACKET { hooks_params: hooks_param | hooks_params COMMA hooks_param | hooks_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } | unknown_map_entry ; @@ -474,7 +481,7 @@ control_sockets: CONTROL_SOCKETS COLON LCURLY_BRACKET { control_sockets_params: control_socket | control_sockets_params COMMA control_socket | control_sockets_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -526,7 +533,7 @@ d2_server_socket: D2_SERVER { control_socket_params: control_socket_param | control_socket_params COMMA control_socket_param | control_socket_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -581,7 +588,7 @@ authentication: AUTHENTICATION { auth_params: auth_param | auth_params COMMA auth_param | auth_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -631,7 +638,7 @@ clients_list: %empty not_empty_clients_list: basic_auth | not_empty_clients_list COMMA basic_auth | not_empty_clients_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -646,7 +653,7 @@ basic_auth: LCURLY_BRACKET { clients_params: clients_param | clients_params COMMA clients_param | clients_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -695,7 +702,7 @@ loggers: LOGGERS { loggers_entries: logger_entry | loggers_entries COMMA logger_entry | loggers_entries COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -711,7 +718,7 @@ logger_entry: LCURLY_BRACKET { logger_params: logger_param | logger_params COMMA logger_param | logger_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -762,7 +769,7 @@ output_options_list: OUTPUT_OPTIONS { output_options_list_content: output_entry | output_options_list_content COMMA output_entry | output_options_list_content COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -777,7 +784,7 @@ output_entry: LCURLY_BRACKET { output_params_list: output_params | output_params_list COMMA output_params | output_params_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; diff --git a/src/bin/d2/d2_parser.yy b/src/bin/d2/d2_parser.yy index 6828c78563..82bcf46fda 100644 --- a/src/bin/d2/d2_parser.yy +++ b/src/bin/d2/d2_parser.yy @@ -35,6 +35,13 @@ using namespace std; #include } +%code +{ +template +void warnAboutExtraCommas(ctx_t& ctx, location_t& location) { + ctx.warning(location, "Extraneous comma. A piece of configuration may have been omitted."); +} // warnAboutExtraCommas +} // %code %define api.token.prefix {TOKEN_} // Tokens in an order which makes sense and related to the intended use. @@ -183,7 +190,7 @@ not_empty_map: STRING COLON value { ctx.stack_.back()->set($3, $5); } | not_empty_map COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -207,7 +214,7 @@ not_empty_list: value { ctx.stack_.back()->add($3); } | not_empty_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -249,7 +256,7 @@ global_object: DHCPDDNS { ctx.leave(); } | global_object COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -264,7 +271,7 @@ sub_dhcpddns: LCURLY_BRACKET { dhcpddns_params: dhcpddns_param | dhcpddns_params COMMA dhcpddns_param | dhcpddns_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -416,7 +423,7 @@ ddns_mgr_params: %empty not_empty_ddns_mgr_params: ddns_mgr_param | ddns_mgr_params COMMA ddns_mgr_param | ddns_mgr_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -451,7 +458,7 @@ ddns_domain_list: %empty not_empty_ddns_domain_list: ddns_domain | not_empty_ddns_domain_list COMMA ddns_domain | not_empty_ddns_domain_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -473,7 +480,7 @@ sub_ddns_domain: LCURLY_BRACKET { ddns_domain_params: ddns_domain_param | ddns_domain_params COMMA ddns_domain_param | ddns_domain_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -533,7 +540,7 @@ sub_dns_servers: LSQUARE_BRACKET { dns_server_list: dns_server | dns_server_list COMMA dns_server | dns_server_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -555,7 +562,7 @@ sub_dns_server: LCURLY_BRACKET { dns_server_params: dns_server_param | dns_server_params COMMA dns_server_param | dns_server_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -630,7 +637,7 @@ tsig_keys_list: %empty not_empty_tsig_keys_list: tsig_key | not_empty_tsig_keys_list COMMA tsig_key | not_empty_tsig_keys_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -654,7 +661,7 @@ sub_tsig_key: LCURLY_BRACKET { tsig_key_params: tsig_key_param | tsig_key_params COMMA tsig_key_param | tsig_key_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -732,7 +739,7 @@ control_socket: CONTROL_SOCKET { control_socket_params: control_socket_param | control_socket_params COMMA control_socket_param | control_socket_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -781,7 +788,7 @@ hooks_libraries_list: %empty not_empty_hooks_libraries_list: hooks_library | not_empty_hooks_libraries_list COMMA hooks_library | not_empty_hooks_libraries_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -808,7 +815,7 @@ sub_hooks_library: LCURLY_BRACKET { hooks_params: hooks_param | hooks_params COMMA hooks_param | hooks_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } | unknown_map_entry ; @@ -852,7 +859,7 @@ loggers: LOGGERS { loggers_entries: logger_entry | loggers_entries COMMA logger_entry | loggers_entries COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -868,7 +875,7 @@ logger_entry: LCURLY_BRACKET { logger_params: logger_param | logger_params COMMA logger_param | logger_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -919,7 +926,7 @@ output_options_list: OUTPUT_OPTIONS { output_options_list_content: output_entry | output_options_list_content COMMA output_entry | output_options_list_content COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -934,7 +941,7 @@ output_entry: LCURLY_BRACKET { output_params_list: output_params | output_params_list COMMA output_params | output_params_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; diff --git a/src/bin/dhcp4/dhcp4_parser.yy b/src/bin/dhcp4/dhcp4_parser.yy index dc81e1c9c8..82c7990cfe 100644 --- a/src/bin/dhcp4/dhcp4_parser.yy +++ b/src/bin/dhcp4/dhcp4_parser.yy @@ -35,6 +35,13 @@ using namespace std; #include } +%code +{ +template +void warnAboutExtraCommas(ctx_t& ctx, location_t& location) { + ctx.warning(location, "Extraneous comma. A piece of configuration may have been omitted."); +} // warnAboutExtraCommas +} // %code %define api.token.prefix {TOKEN_} // Tokens in an order which makes sense and related to the intended use. @@ -355,7 +362,7 @@ not_empty_map: STRING COLON value { ctx.stack_.back()->set($3, $5); } | not_empty_map COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -379,7 +386,7 @@ not_empty_list: value { ctx.stack_.back()->add($3); } | not_empty_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -404,7 +411,7 @@ not_empty_list_strings: STRING { ctx.stack_.back()->add(s); } | not_empty_list_strings COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -452,7 +459,7 @@ global_object: DHCP4 { ctx.leave(); } | global_object COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -470,7 +477,7 @@ sub_dhcp4: LCURLY_BRACKET { global_params: global_param | global_params COMMA global_param | global_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -771,7 +778,7 @@ interfaces_config: INTERFACES_CONFIG { interfaces_config_params: interfaces_config_param | interfaces_config_params COMMA interfaces_config_param | interfaces_config_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -864,7 +871,7 @@ sanity_checks: SANITY_CHECKS { sanity_checks_params: sanity_checks_param | sanity_checks_params COMMA sanity_checks_param | sanity_checks_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -920,7 +927,7 @@ database_list: %empty not_empty_database_list: database | not_empty_database_list COMMA database | not_empty_database_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -937,7 +944,7 @@ database: LCURLY_BRACKET { database_map_params: database_map_param | database_map_params COMMA database_map_param | database_map_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1145,7 +1152,7 @@ host_reservation_identifiers: HOST_RESERVATION_IDENTIFIERS { host_reservation_identifiers_list: host_reservation_identifier | host_reservation_identifiers_list COMMA host_reservation_identifier | host_reservation_identifiers_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1199,7 +1206,7 @@ dhcp_multi_threading: DHCP_MULTI_THREADING { multi_threading_params: multi_threading_param | multi_threading_params COMMA multi_threading_param | multi_threading_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1247,7 +1254,7 @@ hooks_libraries_list: %empty not_empty_hooks_libraries_list: hooks_library | not_empty_hooks_libraries_list COMMA hooks_library | not_empty_hooks_libraries_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1274,7 +1281,7 @@ sub_hooks_library: LCURLY_BRACKET { hooks_params: hooks_param | hooks_params COMMA hooks_param | hooks_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } | unknown_map_entry ; @@ -1316,7 +1323,7 @@ expired_leases_processing: EXPIRED_LEASES_PROCESSING { expired_leases_params: expired_leases_param | expired_leases_params COMMA expired_leases_param | expired_leases_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1388,7 +1395,7 @@ subnet4_list_content: %empty not_empty_subnet4_list: subnet4 | not_empty_subnet4_list COMMA subnet4 | not_empty_subnet4_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1436,7 +1443,7 @@ sub_subnet4: LCURLY_BRACKET { subnet4_params: subnet4_param | subnet4_params COMMA subnet4_param | subnet4_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1613,7 +1620,7 @@ shared_networks_content: %empty shared_networks_list: shared_network | shared_networks_list COMMA shared_network | shared_networks_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1628,7 +1635,7 @@ shared_network: LCURLY_BRACKET { shared_network_params: shared_network_param | shared_network_params COMMA shared_network_param | shared_network_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1708,7 +1715,7 @@ option_def_list_content: %empty not_empty_option_def_list: option_def_entry | not_empty_option_def_list COMMA option_def_entry | not_empty_option_def_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1750,7 +1757,7 @@ option_def_params: %empty not_empty_option_def_params: option_def_param | not_empty_option_def_params COMMA option_def_param | not_empty_option_def_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1846,7 +1853,7 @@ option_data_list_content: %empty not_empty_option_data_list: option_data_entry | not_empty_option_data_list COMMA option_data_entry | not_empty_option_data_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1885,7 +1892,7 @@ option_data_params: %empty not_empty_option_data_params: option_data_param | not_empty_option_data_params COMMA option_data_param | not_empty_option_data_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1952,7 +1959,7 @@ pools_list_content: %empty not_empty_pools_list: pool_list_entry | not_empty_pools_list COMMA pool_list_entry | not_empty_pools_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1979,7 +1986,7 @@ sub_pool4: LCURLY_BRACKET { pool_params: pool_param | pool_params COMMA pool_param | pool_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2074,7 +2081,7 @@ reservations_list: %empty not_empty_reservations_list: reservation | not_empty_reservations_list COMMA reservation | not_empty_reservations_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2103,7 +2110,7 @@ reservation_params: %empty not_empty_reservation_params: reservation_param | not_empty_reservation_params COMMA reservation_param | not_empty_reservation_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2272,7 +2279,7 @@ client_classes: CLIENT_CLASSES { client_classes_list: client_class_entry | client_classes_list COMMA client_class_entry | client_classes_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2293,7 +2300,7 @@ client_class_params: %empty not_empty_client_class_params: client_class_param | not_empty_client_class_params COMMA client_class_param | not_empty_client_class_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2354,7 +2361,7 @@ control_socket: CONTROL_SOCKET { control_socket_params: control_socket_param | control_socket_params COMMA control_socket_param | control_socket_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2402,7 +2409,7 @@ dhcp_queue_control: DHCP_QUEUE_CONTROL { queue_control_params: queue_control_param | queue_control_params COMMA queue_control_param | queue_control_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2471,7 +2478,7 @@ sub_dhcp_ddns: LCURLY_BRACKET { dhcp_ddns_params: dhcp_ddns_param | dhcp_ddns_params COMMA dhcp_ddns_param | dhcp_ddns_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2650,7 +2657,7 @@ sub_config_control: LCURLY_BRACKET { config_control_params: config_control_param | config_control_params COMMA config_control_param | config_control_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2694,7 +2701,7 @@ loggers: LOGGERS { loggers_entries: logger_entry | loggers_entries COMMA logger_entry | loggers_entries COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2710,7 +2717,7 @@ logger_entry: LCURLY_BRACKET { logger_params: logger_param | logger_params COMMA logger_param | logger_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2752,7 +2759,7 @@ output_options_list: OUTPUT_OPTIONS { output_options_list_content: output_entry | output_options_list_content COMMA output_entry | output_options_list_content COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2767,7 +2774,7 @@ output_entry: LCURLY_BRACKET { output_params_list: output_params | output_params_list COMMA output_params | output_params_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2828,7 +2835,7 @@ compatibility: COMPATIBILITY { compatibility_params: compatibility_param | compatibility_params COMMA compatibility_param | compatibility_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; diff --git a/src/bin/dhcp6/dhcp6_parser.yy b/src/bin/dhcp6/dhcp6_parser.yy index 4026def40e..b176aa562c 100644 --- a/src/bin/dhcp6/dhcp6_parser.yy +++ b/src/bin/dhcp6/dhcp6_parser.yy @@ -35,6 +35,13 @@ using namespace std; #include } +%code +{ +template +void warnAboutExtraCommas(ctx_t& ctx, location_t& location) { + ctx.warning(location, "Extraneous comma. A piece of configuration may have been omitted."); +} // warnAboutExtraCommas +} // %code %define api.token.prefix {TOKEN_} // Tokens in an order which makes sense and related to the intended use. @@ -363,7 +370,7 @@ not_empty_map: STRING COLON value { ctx.stack_.back()->set($3, $5); } | not_empty_map COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -387,7 +394,7 @@ not_empty_list: value { ctx.stack_.back()->add($3); } | not_empty_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -412,7 +419,7 @@ not_empty_list_strings: STRING { ctx.stack_.back()->add(s); } | not_empty_list_strings COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -460,7 +467,7 @@ global_object: DHCP6 { ctx.leave(); } | global_object COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -478,7 +485,7 @@ sub_dhcp6: LCURLY_BRACKET { global_params: global_param | global_params COMMA global_param | global_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -798,7 +805,7 @@ sub_interfaces6: LCURLY_BRACKET { interfaces_config_params: interfaces_config_param | interfaces_config_params COMMA interfaces_config_param | interfaces_config_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -870,7 +877,7 @@ database_list: %empty not_empty_database_list: database | not_empty_database_list COMMA database | not_empty_database_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -887,7 +894,7 @@ database: LCURLY_BRACKET { database_map_params: database_map_param | database_map_params COMMA database_map_param | database_map_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1094,7 +1101,7 @@ sanity_checks: SANITY_CHECKS { sanity_checks_params: sanity_checks_param | sanity_checks_params COMMA sanity_checks_param | sanity_checks_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1133,7 +1140,7 @@ mac_sources: MAC_SOURCES { mac_sources_list: mac_sources_value | mac_sources_list COMMA mac_sources_value | mac_sources_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1165,7 +1172,7 @@ host_reservation_identifiers: HOST_RESERVATION_IDENTIFIERS { host_reservation_identifiers_list: host_reservation_identifier | host_reservation_identifiers_list COMMA host_reservation_identifier | host_reservation_identifiers_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1215,7 +1222,7 @@ dhcp_multi_threading: DHCP_MULTI_THREADING { multi_threading_params: multi_threading_param | multi_threading_params COMMA multi_threading_param | multi_threading_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1263,7 +1270,7 @@ hooks_libraries_list: %empty not_empty_hooks_libraries_list: hooks_library | not_empty_hooks_libraries_list COMMA hooks_library | not_empty_hooks_libraries_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1290,7 +1297,7 @@ sub_hooks_library: LCURLY_BRACKET { hooks_params: hooks_param | hooks_params COMMA hooks_param | hooks_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } | unknown_map_entry ; @@ -1332,7 +1339,7 @@ expired_leases_processing: EXPIRED_LEASES_PROCESSING { expired_leases_params: expired_leases_param | expired_leases_params COMMA expired_leases_param | expired_leases_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1404,7 +1411,7 @@ subnet6_list_content: %empty not_empty_subnet6_list: subnet6 | not_empty_subnet6_list COMMA subnet6 | not_empty_subnet6_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1452,7 +1459,7 @@ sub_subnet6: LCURLY_BRACKET { subnet6_params: subnet6_param | subnet6_params COMMA subnet6_param | subnet6_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1615,7 +1622,7 @@ shared_networks_content: %empty shared_networks_list: shared_network | shared_networks_list COMMA shared_network | shared_networks_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1630,7 +1637,7 @@ shared_network: LCURLY_BRACKET { shared_network_params: shared_network_param | shared_network_params COMMA shared_network_param | shared_network_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1710,7 +1717,7 @@ option_def_list_content: %empty not_empty_option_def_list: option_def_entry | not_empty_option_def_list COMMA option_def_entry | not_empty_option_def_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1752,7 +1759,7 @@ option_def_params: %empty not_empty_option_def_params: option_def_param | not_empty_option_def_params COMMA option_def_param | not_empty_option_def_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1848,7 +1855,7 @@ option_data_list_content: %empty not_empty_option_data_list: option_data_entry | not_empty_option_data_list COMMA option_data_entry | not_empty_option_data_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1887,7 +1894,7 @@ option_data_params: %empty not_empty_option_data_params: option_data_param | not_empty_option_data_params COMMA option_data_param | not_empty_option_data_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1954,7 +1961,7 @@ pools_list_content: %empty not_empty_pools_list: pool_list_entry | not_empty_pools_list COMMA pool_list_entry | not_empty_pools_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -1981,7 +1988,7 @@ sub_pool6: LCURLY_BRACKET { pool_params: pool_param | pool_params COMMA pool_param | pool_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2078,7 +2085,7 @@ pd_pools_list_content: %empty not_empty_pd_pools_list: pd_pool_entry | not_empty_pd_pools_list COMMA pd_pool_entry | not_empty_pd_pools_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2109,7 +2116,7 @@ sub_pd_pool: LCURLY_BRACKET { pd_pool_params: pd_pool_param | pd_pool_params COMMA pd_pool_param | pd_pool_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2183,7 +2190,7 @@ reservations_list: %empty not_empty_reservations_list: reservation | not_empty_reservations_list COMMA reservation | not_empty_reservations_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2212,7 +2219,7 @@ reservation_params: %empty not_empty_reservation_params: reservation_param | not_empty_reservation_params COMMA reservation_param | not_empty_reservation_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2343,7 +2350,7 @@ client_classes: CLIENT_CLASSES { client_classes_list: client_class_entry | client_classes_list COMMA client_class_entry | client_classes_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2364,7 +2371,7 @@ client_class_params: %empty not_empty_client_class_params: client_class_param | not_empty_client_class_params COMMA client_class_param | not_empty_client_class_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2419,7 +2426,7 @@ server_id: SERVER_ID { server_id_params: server_id_param | server_id_params COMMA server_id_param | server_id_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2498,7 +2505,7 @@ control_socket: CONTROL_SOCKET { control_socket_params: control_socket_param | control_socket_params COMMA control_socket_param | control_socket_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2546,7 +2553,7 @@ dhcp_queue_control: DHCP_QUEUE_CONTROL { queue_control_params: queue_control_param | queue_control_params COMMA queue_control_param | queue_control_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2615,7 +2622,7 @@ sub_dhcp_ddns: LCURLY_BRACKET { dhcp_ddns_params: dhcp_ddns_param | dhcp_ddns_params COMMA dhcp_ddns_param | dhcp_ddns_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2794,7 +2801,7 @@ sub_config_control: LCURLY_BRACKET { config_control_params: config_control_param | config_control_params COMMA config_control_param | config_control_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2838,7 +2845,7 @@ loggers: LOGGERS { loggers_entries: logger_entry | loggers_entries COMMA logger_entry | loggers_entries COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2854,7 +2861,7 @@ logger_entry: LCURLY_BRACKET { logger_params: logger_param | logger_params COMMA logger_param | logger_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2896,7 +2903,7 @@ output_options_list: OUTPUT_OPTIONS { output_options_list_content: output_entry | output_options_list_content COMMA output_entry | output_options_list_content COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2911,7 +2918,7 @@ output_entry: LCURLY_BRACKET { output_params_list: output_params | output_params_list COMMA output_params | output_params_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -2972,7 +2979,7 @@ compatibility: COMPATIBILITY { compatibility_params: compatibility_param | compatibility_params COMMA compatibility_param | compatibility_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; diff --git a/src/bin/netconf/netconf_parser.yy b/src/bin/netconf/netconf_parser.yy index ac1deee5a1..51756d50ee 100644 --- a/src/bin/netconf/netconf_parser.yy +++ b/src/bin/netconf/netconf_parser.yy @@ -34,6 +34,13 @@ using namespace std; #include } +%code +{ +template +void warnAboutExtraCommas(ctx_t& ctx, location_t& location) { + ctx.warning(location, "Extraneous comma. A piece of configuration may have been omitted."); +} // warnAboutExtraCommas +} // %code %define api.token.prefix {TOKEN_} // Tokens in an order which makes sense and related to the intended use. @@ -189,7 +196,7 @@ not_empty_map: STRING COLON value { ctx.stack_.back()->set($3, $5); } | not_empty_map COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -212,7 +219,7 @@ not_empty_list: value { ctx.stack_.back()->add($3); } | not_empty_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -262,7 +269,7 @@ global_object: NETCONF { ctx.leave(); } | global_object COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -273,7 +280,7 @@ global_params: %empty not_empty_global_params: global_param | not_empty_global_params COMMA global_param | not_empty_global_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -379,7 +386,7 @@ hooks_libraries_list: %empty not_empty_hooks_libraries_list: hooks_library | not_empty_hooks_libraries_list COMMA hooks_library | not_empty_hooks_libraries_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -394,7 +401,7 @@ hooks_library: LCURLY_BRACKET { hooks_params: hooks_param | hooks_params COMMA hooks_param | hooks_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } | unknown_map_entry ; @@ -441,7 +448,7 @@ servers_entries: %empty not_empty_servers_entries: server_entry | not_empty_servers_entries COMMA server_entry | not_empty_servers_entries COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -507,7 +514,7 @@ ca_server: CA_SERVER { managed_server_params: managed_server_param | managed_server_params COMMA managed_server_param | managed_server_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -548,7 +555,7 @@ control_socket: CONTROL_SOCKET { control_socket_params: control_socket_param | control_socket_params COMMA control_socket_param | control_socket_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -613,7 +620,7 @@ loggers: LOGGERS { loggers_entries: logger_entry | loggers_entries COMMA logger_entry | loggers_entries COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -629,7 +636,7 @@ logger_entry: LCURLY_BRACKET { logger_params: logger_param | logger_params COMMA logger_param | logger_params COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -680,7 +687,7 @@ output_options_list: OUTPUT_OPTIONS { output_options_list_content: output_entry | output_options_list_content COMMA output_entry | output_options_list_content COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ; @@ -695,7 +702,7 @@ output_entry: LCURLY_BRACKET { output_params_list: output_params | output_params_list COMMA output_params | output_params_list COMMA { - ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted."); + warnAboutExtraCommas(ctx, @1); } ;