kiama.example.lambda2

trait RewritingEvaluator

[source: kiama/example/lambda2/RewritingEvaluator.scala]

trait RewritingEvaluator
extends Evaluator with Rewriter
Interface for an individual rewriting-based lambda2 evaluator.
Direct Known Subclasses:
Reduce

Value Summary
abstract val evals : Strategy
The strategy to use to perform the evaluation.
Values and Variables inherited from Rewriter
failure, id, eq, equal, issubterm, ispropersubterm, issuperterm, ispropersuperterm, isleaf, isinnernode
Method Summary
def eval (exp : Exp) : Exp
Evaluate the given expression by rewriting it with the evals strategy.
Methods inherited from Rewriter
strategyf, strategy, rulef, rule, termToStrategy, queryf, query, term, para, child, all, one, some, rewrite, collects, collectl, count, attempt, repeat, repeat, repeat, repeat1, repeat1, repeatuntil, loop, loopnot, doloop, loopiter, loopiter, not, where, test, breadthfirst, topdown, topdownS, bottomup, bottomupS, downup, downup, downupS, downupS, dontstop, oncetd, oncebu, sometd, somebu, outermost, innermost, innermost2, reduce, alltd, alldownup2, alltdfold, somedownup, manybu, manytd, leaves, leaves, everywherebu, everywheretd, restore, restorealways, lastly, ior, or, and
Methods inherited from Evaluator
reducesinlambdas, substitute
Methods inherited from AnyRef
getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
Methods inherited from Any
==, !=, isInstanceOf, asInstanceOf
Value Details
abstract val evals : Strategy
The strategy to use to perform the evaluation.

Method Details
def eval(exp : Exp) : Exp
Evaluate the given expression by rewriting it with the evals strategy.
Overrides
Evaluator.eval