Mercurial > hg > Applications > JavaLite
changeset 100:bf35bebd55ab
restore generic (not necearry...)
author | kono |
---|---|
date | Sat, 19 Jan 2008 10:31:19 +0900 |
parents | 91560a83a1fd |
children | 3409453bef30 |
files | src/lite/ITLNodeParser.java src/lite/ITLSolverTest.java src/sbdd/BDDSatisfier.java src/sbdd/SBDDTest.java |
diffstat | 4 files changed, 64 insertions(+), 64 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lite/ITLNodeParser.java Sat Jan 19 10:26:45 2008 +0900 +++ b/src/lite/ITLNodeParser.java Sat Jan 19 10:31:19 2008 +0900 @@ -12,25 +12,25 @@ import sbdd.SBDDFactory; -public class ITLNodeParser extends MacroNodeParser<ITLSolver> { +public class ITLNodeParser<Node extends ITLSolver> extends MacroNodeParser<Node> { - public ITLNodeFactoryInterface<ITLSolver> logicITLSolverFactory; - public ITLNodeScanner<ITLSolver> scanner; - public ITLCommander<ITLSolver> parseCommand; - public ITLSolver emptyNode; - private ITLSolver periodNode; + public ITLNodeFactoryInterface<Node> logicNodeFactory; + public ITLNodeScanner<Node> scanner; + public ITLCommander<Node> parseCommand; + public Node emptyNode; + private Node periodNode; public String help = ""; - public ITLNodeParser(ITLNodeFactoryInterface<ITLSolver> lf) { + public ITLNodeParser(ITLNodeFactoryInterface<Node> lf) { super(lf); - logicITLSolverFactory = lf; + logicNodeFactory = lf; initialize(); - Token<ITLSolver> emptyToken = dict.reserve("empty",TokenID.Empty); - emptyNode = emptyToken.value = logicITLSolverFactory.emptyNode(); + Token<Node> emptyToken = dict.reserve("empty",TokenID.Empty); + emptyNode = emptyToken.value = logicNodeFactory.emptyNode(); - parseCommand = new ITLCommander<ITLSolver>(lf,this); + parseCommand = new ITLCommander<Node>(lf,this); define("not(P)","~P"); // not define("P->Q","(not(P);Q))",101); // imply @@ -55,15 +55,15 @@ define("finite"," ~((true & false)))"); // // define("length(I)", "true",50,command); // length operator define("length(I)", "empty",50, // length operator - new Command<ITLSolver>() { - public ITLSolver exec(ITLSolver predicate, ITLSolver value, LinkedList<ITLSolver> args) { - ITLSolver n = value; + new Command<Node>() { + public Node exec(Node predicate, Node value, LinkedList<Node> args) { + Node n = value; int length = Integer.parseInt(args.get(0).toString()); for(int i =0;i<length;i++) { - n = logicITLSolverFactory.nextNode(n); - n=logicITLSolverFactory.andNode( - logicITLSolverFactory.notNode( - logicITLSolverFactory.emptyNode()) + n = logicNodeFactory.nextNode(n); + n=logicNodeFactory.andNode( + logicNodeFactory.notNode( + logicNodeFactory.emptyNode()) ,n); } return n; @@ -105,7 +105,7 @@ define("^(r)","r"); // interval variable (we cannot handle now) - periodNode = logicITLSolverFactory.variableNode(".", true); + periodNode = logicNodeFactory.variableNode(".", true); define("help","true",50,parseCommand); define("show","true",50,parseCommand); define("states","true",50,parseCommand); @@ -113,12 +113,12 @@ define("clear","true",50,parseCommand); // only one of the is true (should allow all false case?) define("share(L)","[](share0(L))"); - define("share0(L)","true",50, new Command<ITLSolver>() { + define("share0(L)","true",50, new Command<Node>() { @SuppressWarnings("unchecked") - public ITLSolver exec(ITLSolver predicate, ITLSolver value, LinkedList<ITLSolver> args) { - ITLSolver allElse = (ITLSolver)SBDDFactory.trueSolver; - ITLSolver allFalse = (ITLSolver)SBDDFactory.trueSolver; - value= (ITLSolver)SBDDFactory.falseSolver; + public Node exec(Node predicate, Node value, LinkedList<Node> args) { + Node allElse = (Node)SBDDFactory.trueSolver; + Node allFalse = (Node)SBDDFactory.trueSolver; + value= (Node)SBDDFactory.falseSolver; LinkedList<ITLSolver> list = args.get(0).arguments(); if (list==null) { error("sahre: missing [] argument"); @@ -126,15 +126,15 @@ } if (list.isEmpty()) return value; for(ITLSolver n: list) { - ITLSolver n1 = (ITLSolver)n; - value = logicITLSolverFactory.bddNode(n1, allElse, value); - allElse = logicITLSolverFactory.bddNode(n1, - (ITLSolver)SBDDFactory.falseSolver,allElse); - allFalse = logicITLSolverFactory.andNode( - logicITLSolverFactory.notNode(n1), allFalse); + Node n1 = (Node)n; + value = logicNodeFactory.bddNode(n1, allElse, value); + allElse = logicNodeFactory.bddNode(n1, + (Node)SBDDFactory.falseSolver,allElse); + allFalse = logicNodeFactory.andNode( + logicNodeFactory.notNode(n1), allFalse); } //return value; - return logicITLSolverFactory.orNode(value,allFalse); + return logicNodeFactory.orNode(value,allFalse); } }); @@ -147,10 +147,10 @@ @Override public void initialize() { - dict = new Dictionary<ITLSolver>(); - scope = new LogicNodeScope<ITLSolver>(null,dict); + dict = new Dictionary<Node>(); + scope = new LogicNodeScope<Node>(null,dict); initReservedWord(); - scanner = new ITLNodeScanner<ITLSolver>(dict); + scanner = new ITLNodeScanner<Node>(dict); super.scanner = scanner; dict.reserve("&",TokenID.Chop); @@ -174,65 +174,65 @@ } @Override - public ITLSolver expr2() { - ITLSolver n = exprI2(); + public Node expr2() { + Node n = exprI2(); while(nextToken.type==TokenID.And) { nextToken(); - n = logicITLSolverFactory.andNode(n, exprI2()) ; + n = logicNodeFactory.andNode(n, exprI2()) ; } return n; } @Override - public ITLSolver expr3() { + public Node expr3() { if (nextToken.type == TokenID.Next) { nextToken(); - return logicITLSolverFactory.nextNode(expr3()); + return logicNodeFactory.nextNode(expr3()); } - ITLSolver n = super.expr3(); + Node n = super.expr3(); while(nextToken.type==TokenID.Question) { nextToken(); - ITLSolver cond = n; - ITLSolver high = expr3(); + Node cond = n; + Node high = expr3(); if (nextToken.type!=TokenID.Colon) { error(": expected"); - return logicITLSolverFactory.trueNode(); + return logicNodeFactory.trueNode(); } nextToken(); - ITLSolver low = expr3(); - n = logicITLSolverFactory.orNode( - logicITLSolverFactory.andNode(cond, high), - logicITLSolverFactory.andNode(logicITLSolverFactory.notNode(cond), low)); + Node low = expr3(); + n = logicNodeFactory.orNode( + logicNodeFactory.andNode(cond, high), + logicNodeFactory.andNode(logicNodeFactory.notNode(cond), low)); } return n; } @Override - public ITLSolver term() { + public Node term() { if (nextToken.type==TokenID.BParen) { - ITLSolver predicate = periodNode; + Node predicate = periodNode; nextToken(); - LinkedList<ITLSolver> arg = arguments(); - return logicITLSolverFactory.predicateNode(predicate, arg); + LinkedList<Node> arg = arguments(); + return logicNodeFactory.predicateNode(predicate, arg); } return super.term(); } - public ITLSolver exprI2() { - ITLSolver n = exprM1(); + public Node exprI2() { + Node n = exprM1(); while(nextToken.type == TokenID.Chop) { nextToken(); - n = logicITLSolverFactory.chopNode(n, exprM1()); + n = logicNodeFactory.chopNode(n, exprM1()); } return n; } @Override - protected LinkedList<ITLSolver> arguments() { - ITLSolver n; - LinkedList<ITLSolver> arg = new LinkedList<ITLSolver>(); + protected LinkedList<Node> arguments() { + Node n; + LinkedList<Node> arg = new LinkedList<Node>(); while(nextToken.type!=TokenID.CloseParen&&nextToken.type!=TokenID.CloseBParen) { if (nextToken.type==TokenID.NULL) break; n = exprI2();
--- a/src/lite/ITLSolverTest.java Sat Jan 19 10:26:45 2008 +0900 +++ b/src/lite/ITLSolverTest.java Sat Jan 19 10:31:19 2008 +0900 @@ -4,16 +4,16 @@ public class ITLSolverTest { - static ITLNodeParser p; + static ITLNodeParser<ITLSolver> p; static ITLNodeScanner<ITLSolver> scan; private ITLSatisfier sat; - private ITLNodeParser parser; + private ITLNodeParser<ITLSolver> parser; public static void main(String arg[]) { ITLNodeFactoryInterface<ITLSolver> lf = new ITLNodeFactory(); - p = new ITLNodeParser(lf); + p = new ITLNodeParser<ITLSolver>(lf); System.out.println(p.parse("p , ~ q")); System.out.println(p.parse("p=q")); @@ -45,7 +45,7 @@ ITLSolverTest() { ITLNodeFactoryInterface<ITLSolver> lf = new ITLNodeFactory(); - parser =new ITLNodeParser(lf); + parser =new ITLNodeParser<ITLSolver>(lf); sat = new ITLSatisfier(parser.emptyNode); }
--- a/src/sbdd/BDDSatisfier.java Sat Jan 19 10:26:45 2008 +0900 +++ b/src/sbdd/BDDSatisfier.java Sat Jan 19 10:31:19 2008 +0900 @@ -20,7 +20,7 @@ public class BDDSatisfier extends ITLSatisfier implements ExecutorInterface<ITLSolver> { - public ITLNodeParser p; + public ITLNodeParser<ITLSolver> p; public SBDDFactory sf; public LinkedList<SBDDEntry> queue; @@ -46,7 +46,7 @@ public void init() { - p = new ITLNodeParser(new ITLNodeFactory()); + p = new ITLNodeParser<ITLSolver>(new ITLNodeFactory()); sf = new SBDDFactory(); edge = 0; }