Index: ossp-pkg/cfg/cfg.pod RCS File: /v/ossp/cvs/ossp-pkg/cfg/cfg.pod,v rcsdiff -q -kk '-r1.4' '-r1.5' -u '/v/ossp/cvs/ossp-pkg/cfg/cfg.pod,v' 2>/dev/null --- 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 ::= I - | B - | B B B - -B ::= B - | B B - -B ::= B B B - | B - -B ::= B # double quoted string - | B # single quoted string - | B # flexible quoted string - | B # plain text string +B ::= I + | B + | B B B + +B ::= B + | B B + +B ::= B B B + | B + +B ::= B # double quoted string + | B # single quoted string + | B # flexible quoted string + | B # 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/"): -B ::= /;/ +B ::= /;/ -B ::= /{/ +B ::= /{/ -B ::= /}/ +B ::= /}/ -B ::= /"/ B /"/ +B ::= /"/ B /"/ -B ::= I - | B B +B ::= I + | B B -B ::= /\\"/ # 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 ::= /\\"/ # 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 ::= /'/ B /'/ +B ::= /'/ B /'/ -B ::= I - | B B +B ::= I + | B B -B ::= /\\'/ # escaped quote - | /\\\n[ \t]*/ # line contination - | /\\\\/ # escaped escape - | /./ # any other char +B ::= /\\'/ # escaped quote + | /\\\n[ \t]*/ # line contination + | /\\\\/ # escaped escape + | /./ # any other char -B ::= /q/ B B B +B ::= /q/ B B B -B ::= I - | B B +B ::= I + | B B -B ::= /\\/ B # escaped open - | /\\/ B # escaped close - | /\\\n[ \t]*/ # line contination - | /./ # any other char +B ::= /\\/ B # escaped open + | /\\/ B # escaped close + | /\\\n[ \t]*/ # line contination + | /./ # any other char -B ::= /[!"#$%&'()*+,-./:;<=>?@\[\\\]^_`{|}~]/ +B ::= /[!"#$%&'()*+,-./:;<=>?@\[\\\]^_`{|}~]/ -B ::= "B or corresponding closing char - ('}])>') if B is a char of '{[(<'" +B ::= "B or corresponding closing char + ('}])>') if B is a char of '{[(<'" -B ::= B B +B ::= B B -B ::= I - | B B +B ::= I + | B B -B ::= /[^ \t\n;{}"']/ # none of specials +B ::= /[^ \t\n;{}"']/ # none of specials Additionally, white-space B and comment B tokens are allowed at any position in the above productions of the previous grammar part. -B ::= /[ \t\n]+/ +B ::= /[ \t\n]+/ -B ::= B # style of C - | B # style of C++ - | B # style of /bin/sh +B ::= B # style of C + | B # style of C++ + | B # style of /bin/sh -B ::= /\/\*([^*]|\*(?!\/))*\*\// +B ::= /\/\*([^*]|\*(?!\/))*\*\// -B ::= /\/\/[^\n]*/ +B ::= /\/\/[^\n]*/ -B ::= /#[^\n]*/ +B ::= /#[^\n]*/ Finally, any configuration line can have a trailing backslash character (C<\>) just before the newline character for simple line continuation.