ossp-pkg/cfg/cfg.pod 1.4 -> 1.5
--- cfg.pod 2002/07/18 15:34:55 1.4
+++ cfg.pod 2002/07/28 11:09:16 1.5
@@ -52,91 +52,91 @@
The configuration syntax is described by the following context-free
(Chomsky-2) grammar:
-B<sequence> ::= I<empty>
- | B<directive>
- | B<directive> B<SEP> B<sequence>
-
-B<directive> ::= B<token>
- | B<token> B<directive>
-
-B<token> ::= B<OPEN> B<sequence> B<CLOSE>
- | B<string>
-
-B<string> ::= B<DQ_STRING> # double quoted string
- | B<SQ_STRING> # single quoted string
- | B<FQ_STRING> # flexible quoted string
- | B<PT_STRING> # plain text string
+B<sequence> ::= I<empty>
+ | B<directive>
+ | B<directive> B<SEP> B<sequence>
+
+B<directive> ::= B<token>
+ | B<token> B<directive>
+
+B<token> ::= B<OPEN> B<sequence> B<CLOSE>
+ | B<string>
+
+B<string> ::= B<DQ_STRING> # double quoted string
+ | B<SQ_STRING> # single quoted string
+ | B<FQ_STRING> # flexible quoted string
+ | B<PT_STRING> # plain text string
The other contained terminal symbols are defined itself by the following
set of grammars production (regular sub-grammars for character
sequences given as Perl-style regular expressions "/I<regex>/"):
-B<SEP> ::= /;/
+B<SEP> ::= /;/
-B<OPEN> ::= /{/
+B<OPEN> ::= /{/
-B<CLOSE> ::= /}/
+B<CLOSE> ::= /}/
-B<DQ_STRING> ::= /"/ B<DQ_CHARS> /"/
+B<DQ_STRING> ::= /"/ B<DQ_CHARS> /"/
-B<DQ_CHARS> ::= I<empty>
- | B<DQ_CHAR> B<DQ_CHARS>
+B<DQ_CHARS> ::= I<empty>
+ | B<DQ_CHAR> B<DQ_CHARS>
-B<DQ_CHAR> ::= /\\"/ # escaped quote
- | /\\x\{[0-9a-fA-F]+\}/ # hex-char group
- | /\\x[0-9a-fA-F]{2}/ # hex-char
- | /\\[0-7]{1,3}/ # octal character
- | /\\[nrtbfae]/ # NL,CR,TAB,BS,FF,BEL,ESC
- | /\\\n[ \t]*/ # line continuation
- | /\\\\/ # escaped escape
- | /./ # any other char
+B<DQ_CHAR> ::= /\\"/ # escaped quote
+ | /\\x\{[0-9a-fA-F]+\}/ # hex-char group
+ | /\\x[0-9a-fA-F]{2}/ # hex-char
+ | /\\[0-7]{1,3}/ # octal character
+ | /\\[nrtbfae]/ # special character
+ | /\\\n[ \t]*/ # line continuation
+ | /\\\\/ # escaped escape
+ | /./ # any other char
-B<SQ_STRING> ::= /'/ B<SQ_CHARS> /'/
+B<SQ_STRING> ::= /'/ B<SQ_CHARS> /'/
-B<SQ_CHARS> ::= I<empty>
- | B<SQ_CHAR> B<SQ_CHARS>
+B<SQ_CHARS> ::= I<empty>
+ | B<SQ_CHAR> B<SQ_CHARS>
-B<SQ_CHAR> ::= /\\'/ # escaped quote
- | /\\\n[ \t]*/ # line contination
- | /\\\\/ # escaped escape
- | /./ # any other char
+B<SQ_CHAR> ::= /\\'/ # escaped quote
+ | /\\\n[ \t]*/ # line contination
+ | /\\\\/ # escaped escape
+ | /./ # any other char
-B<FQ_STRING> ::= /q/ B<FQ_OPEN> B<FQ_CHARS> B<FQ_CLOSE>
+B<FQ_STRING> ::= /q/ B<FQ_OPEN> B<FQ_CHARS> B<FQ_CLOSE>
-B<FQ_CHARS> ::= I<empty>
- | B<FQ_CHAR> B<FQ_CHARS>
+B<FQ_CHARS> ::= I<empty>
+ | B<FQ_CHAR> B<FQ_CHARS>
-B<FQ_CHAR> ::= /\\/ B<FQ_OPEN> # escaped open
- | /\\/ B<FQ_CLOSE> # escaped close
- | /\\\n[ \t]*/ # line contination
- | /./ # any other char
+B<FQ_CHAR> ::= /\\/ B<FQ_OPEN> # escaped open
+ | /\\/ B<FQ_CLOSE> # escaped close
+ | /\\\n[ \t]*/ # line contination
+ | /./ # any other char
-B<FQ_OPEN> ::= /[!"#$%&'()*+,-./:;<=>?@\[\\\]^_`{|}~]/
+B<FQ_OPEN> ::= /[!"#$%&'()*+,-./:;<=>?@\[\\\]^_`{|}~]/
-B<FQ_CLOSE> ::= "B<FQ_OPEN> or corresponding closing char
- ('}])>') if B<FQ_OPEN> is a char of '{[(<'"
+B<FQ_CLOSE> ::= "B<FQ_OPEN> or corresponding closing char
+ ('}])>') if B<FQ_OPEN> is a char of '{[(<'"
-B<PT_STRING> ::= B<PT_CHAR> B<PT_CHARS>
+B<PT_STRING> ::= B<PT_CHAR> B<PT_CHARS>
-B<PT_CHARS> ::= I<empty>
- | B<PT_CHAR> B<PT_STRING>
+B<PT_CHARS> ::= I<empty>
+ | B<PT_CHAR> B<PT_STRING>
-B<PT_CHAR> ::= /[^ \t\n;{}"']/ # none of specials
+B<PT_CHAR> ::= /[^ \t\n;{}"']/ # none of specials
Additionally, white-space B<WS> and comment B<CO> tokens are allowed at
any position in the above productions of the previous grammar part.
-B<WS> ::= /[ \t\n]+/
+B<WS> ::= /[ \t\n]+/
-B<CO> ::= B<CO_C> # style of C
- | B<CO_CXX> # style of C++
- | B<CO_SH> # style of /bin/sh
+B<CO> ::= B<CO_C> # style of C
+ | B<CO_CXX> # style of C++
+ | B<CO_SH> # style of /bin/sh
-B<CO_C> ::= /\/\*([^*]|\*(?!\/))*\*\//
+B<CO_C> ::= /\/\*([^*]|\*(?!\/))*\*\//
-B<CO_CXX> ::= /\/\/[^\n]*/
+B<CO_CXX> ::= /\/\/[^\n]*/
-B<CO_SH> ::= /#[^\n]*/
+B<CO_SH> ::= /#[^\n]*/
Finally, any configuration line can have a trailing backslash character
(C<\>) just before the newline character for simple line continuation.
|
|