ossp-pkg/l2/l2_spec_ebnf
=pod
=head1 NAME
B<L2CDL> - Logging Library Channel Definition Language
=head1 EBNF GRAMMAR
B<L2CDL> - Logging Library Channel Definition Language
tree : stream /* channel tree */
;
stream : channel /* stream of channels */
| channel T_OP_ARROW stream
| channel T_OP_ARROW '{' streams '}'
;
streams : stream /* list of sibling streams */
| stream ';' streams
;
/* channel */
channel : channel_level '/' channel_level ':' channel_cons
| channel_level ':' channel_cons
| channel_cons
;
channel_level : T_ID /* channel level */
| '(' channel_level_mask ')'
;
channel_level_mask : T_ID /* channel level mask */
| T_ID '|' channel_level_mask
;
channel_cons : T_ID channel_params /* channel constructor */
;
channel_params : /* empty */ /* channel parameters */
| '(' channel_param_list ')'
;
channel_param_list : /* empty */ /* channel parameter list */
| channel_param
| channel_param ',' channel_param_list
;
channel_param : T_ID '=' T_PARAM /* channel parameter */
;