};
// Assignments rule
-map_content: { /* do nothing, it's an empty map */ }
+map_content: %empty // empty map
| STRING COLON value {
// map containing a single entry
ctx.stack_.back()->set($1, $3);
//ctx.stack_.pop_back();
};
-list_content: { /* do nothing, it's an empty list */ }
+list_content: %empty // Empty list
| value {
// List consisting of a single element.
ctx.stack_.back()->add($1);
ctx.stack_.pop_back();
};
-hooks_libraries_list: { }
+hooks_libraries_list: %empty
| hooks_library
| hooks_libraries_list COMMA hooks_library;
// This defines the ... in "subnet6": [ ... ]
// It can either be empty (no subnets defined), have one subnet
// or have multiple subnets separate by comma.
-subnet6_list_content: { /* no subnets defined at all */ }
+subnet6_list_content: %empty
| subnet6
| subnet6_list_content COMMA subnet6
;
// This defines the content of option-data. It may be empty,
// have one entry or multiple entries separated by comma.
-option_data_list_content: { }
+option_data_list_content: %empty
| option_data_entry
| option_data_list_content COMMA option_data_entry;
option_data_params: option_data_param
| option_data_params COMMA option_data_param;
-option_data_param:
+option_data_param: %empty
| option_data_name
| option_data_data
| option_data_code
// Pools may be empty, contain a single pool entry or multiple entries
// separate by commas.
-pools_list_content: { }
+pools_list_content: %empty
| pool_entry
| pools_list_content COMMA pool_entry;
// Pools may be empty, contain a single pool entry or multiple entries
// separate by commas.
-pd_pools_list_content: { }
+pd_pools_list_content: %empty
| pd_pool_entry
| pd_pools_list_content COMMA pd_pool_entry;
ctx.stack_.pop_back();
} RSQUARE_BRACKET;
-reservations_list: { }
+reservations_list: %empty
| reservation
| reservations_list COMMA reservation;
| reservation_params COMMA reservation_param;
// @todo probably need to add mac-address as well here
-reservation_param:
+reservation_param: %empty
| duid
| reservation_client_classes
| ip_addresses
client_class_params: client_class_param
| client_class_params COMMA client_class_param;
-client_class_param:
+client_class_param: %empty
| client_class_name
| client_class_test
| option_data_list