Interface TreeEvaluator

All Superinterfaces:
Evaluator
All Known Subinterfaces:
StandardTreeEvaluator
All Known Implementing Classes:
DefaultTreeEvaluator

public interface TreeEvaluator extends Evaluator
Interface for tree-based expression evaluators, operating on syntax trees.
Author:
Curtis Rueden
  • Method Details

    • execute

      Object execute(Operator op, SyntaxTree tree)
      Executes an operation on the specified syntax tree's children.
      Parameters:
      op - The operator to execute.
      tree - The syntax tree containing the arguments to pass.
      Returns:
      The result of the operation.
    • evaluate

      default Object evaluate(String expression)
      Description copied from interface: Evaluator
      Evaluates an infix expression.
      Specified by:
      evaluate in interface Evaluator
      Parameters:
      expression - The infix expression to evaluate.
      Returns:
      The result of the evaluation.
    • evaluate

      default Object evaluate(LinkedList<Object> queue)
      Description copied from interface: Evaluator
      Evaluates a postfix token queue.
      Specified by:
      evaluate in interface Evaluator
      Parameters:
      queue - The postfix token queue to evaluate.
      Returns:
      The result of the evaluation.
    • evaluate

      default Object evaluate(SyntaxTree syntaxTree)
      Description copied from interface: Evaluator
      Evaluates a syntax tree.
      Specified by:
      evaluate in interface Evaluator
      Parameters:
      syntaxTree - The syntax tree to evaluate.
      Returns:
      The result of the evaluation.