ossp-pkg/l2/l2.pod 1.8 -> 1.9
--- l2.pod 2001/11/09 12:45:37 1.8
+++ l2.pod 2001/11/15 09:47:32 1.9
@@ -64,6 +64,67 @@
(null, fd, file, pipe, socket, syslog, smtp) channels which already
cover mostly all use cases of logging.
+A language is provided to allow for channel specification and configuration.
+Thus, the channel tree can be constructed either by the API and its ANSI C
+bindings or through the use of this L2 channel definition language. Applying
+the API allows fine grained control of the channel tree. Additionally, the
+API allows for a more interactive channel definition. However, using the
+channel definition language to define the channel tree is more convenient,
+and takes less coding effort. The channel definition language is almost
+always sufficient for an application using L2.
+
+=head1 L2 CHANNEL DEFINITION EBNF GRAMMAR
+
+/* channel tree */
+tree : stream
+ ;
+
+/* stream of channels */
+stream : channel
+ | channel T_OP_ARROW stream
+ | channel T_OP_ARROW '{' streams '}'
+ ;
+
+/* list of sibling streams */
+streams : stream
+ | stream ';' streams
+ ;
+
+/* channel */
+channel : channel_level '/' channel_level ':' channel_cons
+ | channel_level ':' channel_cons
+ | channel_cons
+ ;
+
+/* channel level */
+channel_level : T_ID
+ | '(' channel_level_mask ')'
+ ;
+
+/* channel level mask */
+channel_level_mask : T_ID
+ | T_ID '|' channel_level_mask
+ ;
+
+/* channel constructor */
+channel_cons : T_ID channel_params
+ ;
+
+/* channel parameters */
+channel_params : /* empty */
+ | '(' channel_param_list ')'
+ ;
+
+/* channel parameter list */
+channel_param_list : /* empty */
+ | channel_param
+ | channel_param ',' channel_param_list
+ ;
+
+/* channel parameter */
+channel_param : T_ID '=' T_PARAM
+ ;
+
=head1 FUNCTIONS
The following functions are provided by the B<L2> API:
|
|