Mercurial > hg > Applications > JavaLite
view src/lite/MacroSolver.java @ 67:4ced2af1ff09 bdd-order
BDD Order fix
author | kono |
---|---|
date | Sun, 13 Jan 2008 19:48:42 +0900 |
parents | 6bfc0d1c84b8 |
children | 147864a924cd |
line wrap: on
line source
package lite; import java.util.LinkedList; import logicNode.parser.Command; import logicNode.parser.MacroNodeParserInterface; import verifier.Backtrack; public class MacroSolver extends ITLSolver { private ITLSolver predicate; private String body; private MacroNodeParserInterface<ITLSolver> parser; private Command<ITLSolver> command; public int order; public MacroSolver(ITLSolver macro, String body, int order, Command<ITLSolver> command, MacroNodeParserInterface<ITLSolver> parser) { this.predicate = macro; this.body = body; this.parser = parser; this.command = command; this.order = order; } @Override public ITLSolver sat(ITLSatisfier sat, Continuation next) throws Backtrack { // TODO Auto-generated method stub return null; } @Override public String toString() { return predicate.toString(); } @Override public boolean isMacro() { return true; } @Override public LinkedList<ITLSolver> arguments() { return predicate.arguments(); } /* * Macro Expansion * locally define parameters by given arguments */ @Override public ITLSolver eval(LinkedList<ITLSolver> args) { ITLSolver value = parser.eval(args, predicate, body,predicate.arguments()); if (command!=null) { return command.exec(predicate,value, args); } return value; } @Override public int order() { return order; } }