|
|
Not(operand)
Fail if a transformation applies. |
|
|
|
|
Try(operand)
Attempt a transformation, otherwise return the term
unmodified. |
|
|
|
|
Where(operand)
Succeeds if the transformation succeeds, but returns the original
term. |
|
|
|
|
Composition(loperand,
roperand)
Transformation composition. |
|
|
|
|
Choice(loperand,
roperand)
Attempt the first transformation, transforming the second on
failure. |
|
|
|
|
GuardedChoice(operand1,
operand2,
operand3)
If operand1 succeeds then operand2 is applied, otherwise operand3
is applied. |
|
|
|
|
UndeterministicChoice(operands)
Chooses one of the operand transformations such that the one it
chooses succeeds. |
|
|
|
|
If(loperand,
roperand)
If the first transformation succeeds, then applies the second
transformation. |
|
|
|
|
IfElse(operand1,
operand2,
operand3)
If the first transformation succeeds, then apply the second
transformation. |
|
|
|
|
IfElifElse(clauses,
otherwise=None)
Nested if-then-else combinator. |
|
|
|
|
Switch(expr,
cases,
otherwise=None)
Switch combination. |
|
|