wiki:NamedVariable

Version 5 (modified by Vojtěch Kovář, 11 years ago) (diff)

--

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).
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