#include <agent/parser_context.h>
}
+%code
+{
+template <typename ctx_t, typename location_t>
+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.
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
#include <d2/parser_context.h>
}
+%code
+{
+template <typename ctx_t, typename location_t>
+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.
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);
}
;
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);
}
;
ctx.leave();
}
| global_object COMMA {
- ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ warnAboutExtraCommas(ctx, @1);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
#include <dhcp4/parser_context.h>
}
+%code
+{
+template <typename ctx_t, typename location_t>
+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.
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
#include <dhcp6/parser_context.h>
}
+%code
+{
+template <typename ctx_t, typename location_t>
+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.
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
#include <netconf/parser_context.h>
}
+%code
+{
+template <typename ctx_t, typename location_t>
+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.
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);
}
;
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);
}
;
ctx.leave();
}
| global_object COMMA {
- ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ warnAboutExtraCommas(ctx, @1);
}
;
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);
}
;
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);
}
;
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
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;
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);
}
;