wiki:NamedVariable

Named Variable

A named variable is tag in form of $nameOfVariable. A variable name can contain alphanumeric symbols, dots or underscores.
The variable valuation must be placed on a newline following the rule in following format:

$nameOfVariable(attribute): <list of values (constraints) separated by white space>

For a variable, only the first following valuation applies. This enables sharing same variable names across the rules.
A variable valuation can consist of several constraints listed each on a new line which are taken in conjunction (logical and). If more lines are used this way for variable definition, they must immediately follow each other (otherwise they are taken as different definitions).
Negative constraints can be created using the not keyword.

Example:

$CONJUCTION(word): for and nor but or yet so -- will match any of the listed words.
$NOTNO(word not): no -- will match any word except of no.

Named variables can be also used for interconnecting tags. Imagine you want create a rule for matching a coordination consisting either of two substantives or two adjectives (but not mixed substantive and adjective). This can be easily done by using the MATCH keyword as shown on the following example:

$C1 (word and) $C2
...
MATCH $C1(tag) $C2(tag)
k1 k1
k2 k2
END
Last modified 2 years ago Last modified on Feb 15, 2022, 5:48:41 PM