---+ Package =TWiki::If=

Support for the conditions in %IF{} statements. Basically a simple
stack-based parser for infix expressions that generates a parse
tree that can subsequently be evaluated.


%TOC%

---++ ClassMethod *new* <tt>(\%operators) -> \%factory</tt>

Construct a new if node factory.

   * =\%operators= reference to a hash of operators.

Each operator must have the following fields: prec (precedence) type (0 unary 1 binary) exec (ref to a function to execute). If not provided, the default set of boolean operations supported by %IF is used.



---++ ObjectMethod *evaluate* <tt>($twiki) -> $result</tt>

Execute the parse node.



!!!new!!!

---++ ObjectMethod *parse* <tt>($string) -> \$if</tt>

   * =$string= - string containing an expression to parse

Construct a new search node by parsing the passed expression. Return
the new object.


