]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#2084] warnAboutExtraCommas() in parsers
authorAndrei Pavel <andrei@isc.org>
Tue, 14 Dec 2021 17:21:31 +0000 (19:21 +0200)
committerAndrei Pavel <andrei@isc.org>
Fri, 17 Dec 2021 15:21:22 +0000 (17:21 +0200)
src/bin/agent/agent_parser.yy
src/bin/d2/d2_parser.yy
src/bin/dhcp4/dhcp4_parser.yy
src/bin/dhcp6/dhcp6_parser.yy
src/bin/netconf/netconf_parser.yy

index 6b4937e5578e6ef4ed6180bee45c674a4ccd9b5d..296168bb57c3386f6c0714ccfee58f80b2850906 100644 (file)
@@ -34,6 +34,13 @@ using namespace std;
 #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.
@@ -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);
              }
              ;
 
index 6828c78563dae5b2ee251f0fbb7b488108561751..82bcf46fdad04c6fdabdbb86e427043bcba6ce3f 100644 (file)
@@ -35,6 +35,13 @@ using namespace std;
 #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.
@@ -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);
 }
              ;
 
index dc81e1c9c8a09b60274e5a30f9798888d13c263b..82c7990cfec40b72ca6d3a952f2b2b0de2d76fa9 100644 (file)
@@ -35,6 +35,13 @@ using namespace std;
 #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.
@@ -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);
 }
                     ;
 
index 4026def40e560ed4f97b044b17153b153aa66aaf..b176aa562c8fdafeac8d81765d4f43847d712a8d 100644 (file)
@@ -35,6 +35,13 @@ using namespace std;
 #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.
@@ -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);
 }
                     ;
 
index ac1deee5a137ee4032782a6899c1386faabb6a86..51756d50ee0ee77f087966245cc652271b5d2e42 100644 (file)
@@ -34,6 +34,13 @@ using namespace std;
 #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.
@@ -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);
 }
              ;