diff options
Diffstat (limited to 'doc/syntax-define')
-rw-r--r-- | doc/syntax-define | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/doc/syntax-define b/doc/syntax-define deleted file mode 100644 index 277fb54..0000000 --- a/doc/syntax-define +++ /dev/null @@ -1,34 +0,0 @@ -Syntax of definition statements -------------------------------- - -Definition statements start with one of 'def' or 'define'. They may -also start 'acl' to look more squiddish. - -The rough syntax of a definition statement is: - -'def' <name> <controltype> <0-or-more-args> - -There are some loose constraints on the name and controltype -arguments. The name SHOULD NOT contain quote characters and MUST NOT -start with an exclamation point. The controltype simply SHOULD NOT -contain quotes. - -The control types are typically provided by the program which is using -Lace. However Lace does provide some simple control types which can -be useful and callers are welcome to add them to their engines. - -The two simplest control types Lace provides are the allof and anyof -controls. They, as their arguments, take two or more rule names and -match if all or any (respectively) of their arguments resolve to true. -As with other parts of Lace, if the rule names are prefixed by -exclamation points then their result is inverted before being tested. - -These give you ways to produce common subexpressions of the 'AND' and -'OR' forms to be used in later rules. - -Lace also provides a match control type which does a string comparison -on a context value. The match control type takes two arguments. The -key to match and the value to test against. If the value starts with -a tilde then Lace will use Lua pattern matches. This is not a -terribly useful control type and is provided purely for simple cases -where the caller does not need more complex control types. |