internal package
Foswiki::Infix::OP
internal package
Foswiki::Infix::OP name
- operator string.
prec
- operator precedence, positive non-zero integer. Larger number => higher precedence.
arity
- set to 1 if this operator is unary, 2 for binary. Arity 0 is legal, should you ever need it. Use arity=2 and canfold=1 for n-ary operators.
close
- used with bracket operators. name
should be the open bracket string, and close
the close bracket. The existance of close
marks this as a bracket operator.
casematters=
- indicates that the parser should check case in the operator name (i.e. treat 'AND' and 'and' as different). By default operators are case insensitive. Note that operator names must be caselessly unique i.e. you can't define 'AND' and 'and' as different operators in the same parser. Does not affect the interpretation of non-operator terminals (names).
canfold
- means that adjacent nodes with identical operators can be folded together i.e. the operands of the second node can be pushed onto the parameter list of the first. This is used (for example) for comma lists.
InfixParser_
are reserved for use
by the parser.