Check-in Number:
|
2257 | |
Date: |
2002-Jul-08 15:45:46 (local)
2002-Jul-08 13:45:46 (UTC) |
User: | rse |
Branch: | |
Comment: |
flush my brain |
Tickets: |
|
Inspections: |
|
Files: |
|
ossp-pkg/cfg/00TODO 1.3 -> 1.4
--- 00TODO 2002/07/05 17:30:23 1.3
+++ 00TODO 2002/07/08 13:45:46 1.4
@@ -1,7 +1,10 @@
+- Problem: \x00 oder \x{00} wird zu NUL-terminator -> use ptr+len instead
+- caStr/cpStr durch yyless/yymore??
- autoconf environment
- syntax verification
- command line query tool
+- error checking in scanner?
- newline in error message
$ ./cfg_test sample2.cfg
@@ -11,7 +14,72 @@
- cfg_t
rewrite-uri <regex> <subst> { <rewrite-cond> }
-rewrite-uri ^/(.*) /path/$1 --redirect=permanent "{
+rewrite-uri ^/(.*) /path/$1 --redirect=permanent q{
%{SOURCE} != "x"
-}";
+};
+
+
+Directory [--foo=A]
+
+Argument:
+ - type:
+ - keyword ("foo") via name
+ - option ("--foo=BAR") via name & regex
+ - argument ("foo") via regex
+ - amount:
+ - 1
+ - 0/1 ?
+ - 0..n *
+ - 1..n +
+ - location:
+ - by position
+ - by name
+ - lookup via:
+ - name
+ - position
+ - regex match
+
+foo * bar
+foo = bar|quux|...
+foo (bar baz quux)
+
+foo ::= bar* ; kleene closure
+foo ::= bar|baz|quux ; union
+foo ::= bar baz quux ; concatenation
+
+foo ::= {foo;...} ; sequence of ...
+foo ::= (...) ; grouping
+foo ::= "bar" ; fixed terminal
+foo ::= /bar/ ; regex terminal
+foo ::= <A> ; arbitrary argument
+foo ::= <O> ; arbitrary option
+
+SEQ ::= "{" DIR DIR* "}"
+DIR ::= TOK (" " TOK)* ";"
+TOK ::= ...
+
+SEQ ::= DIR* SEQ(dir,dir,...)
+DIR ::= TOK+ DIR(tok,tok,...)
+TOK ::= string "..."
+
+config ::= SEQ(directory|user|rewrite|access)
+directory ::= DIR("directory",<O>*,<A>)
+dir_options ::=
+user ::= DIR("user",/^[a-z]$/)
+rewrite ::=
+access ::= "access" ("allow"|"deny"):action SEQ(access_list):acl
+access_list ::= m/^!?%{ID}$/
+
+acl ::= "acl" TOK:name acl_list
+acl_list ::= SEQ(acl_entry)
+acl_entry ::= acl_action "from" net-addr:src "to" net-addr:dst
+acl_action ::= "allow"|"deny"
+net_addr ::= net_hostname | net_ipv4addr | net_ipv6addr
+
+sequence all {
+ directive --class 1;
+};
+directive --class 1 "foo" {
+ option "bar" --occur=1
+};
|
|