1 /* @author rich 2 * Created on 26-Nov-2003 3 * 4 * This code is covered by a Creative Commons 5 * Attribution, Non Commercial, Share Alike license 6 * <a HREF="http://creativecommons.org/licenses/by-nc-sa/1.0">License</a> 7 */ 8 package org.lsmp.djep.matrixJep; 9 import org.nfunk.jep.*; 10 import org.lsmp.djep.matrixJep.nodeTypes.*; 11 import org.lsmp.djep.vectorJep.values.*; 12 13 /** 14 * If a function requires a special form of evaluation it should 15 * implement this interface. 16 * 17 * @author Rich Morris 18 * Created on 26-Nov-2003 19 */ 20 public interface MatrixSpecialEvaluationI { 21 /** 22 * Returns the result of evaluating this node and the tree below. 23 * This method has the responsability for evaluating the children of the node 24 * and it should generally call 25 * <pre> 26 * MatrixValueI res = (MatrixValueI) node.jjtGetChild(i).jjtAccept(visitor,null); 27 * </pre> 28 * for each child. 29 * 30 * @param node The top node. 31 * @param visitor The parser visitor 32 * @param jep The current MatrixJep instance. 33 * @return Value after evaluation. 34 * @throws ParseException 35 */ 36 public MatrixValueI evaluate(MatrixNodeI node,MatrixEvaluator visitor,MatrixJep jep) throws ParseException; 37 } 38