ctx.stack_.back()->set($3, $5);
}
| not_empty_map COMMA {
- ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
list_generic: LSQUARE_BRACKET {
ctx.stack_.back()->add($3);
}
| not_empty_list COMMA {
- ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
// --- generic JSON parser ends here -------------------------------------------
ctx.leave();
}
| global_object COMMA {
- ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
// These are the parameters that are allowed in the top-level for
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
| 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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
// We currently support three types of sockets: DHCPv4, DHCPv6 and D2
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
// We currently support two socket parameters: type and name.
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
auth_param: auth_type
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
clients_param: user
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
// This defines a single entry defined in loggers.
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
logger_param: name
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
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.");
-}
+ ctx.warning(@1, "Extraneous comma. A piece of configuration may have been omitted.");
+ }
;
output_params: output