From 9bcbac11e044182472d004a1873e2175ef0bea49 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Wed, 4 Feb 2004 15:39:15 +0000 Subject: [PATCH] Adding changes to cvs... --- Repair/RepairCompiler/MCC/Compiler.java | 7 +++-- .../RepairCompiler/MCC/IR/ImplicitSchema.java | 7 ++--- Repair/RepairCompiler/MCC/IR/Quantifiers.java | 6 ++++ Repair/RepairCompiler/MCC/IR/Rule.java | 2 +- Repair/RepairCompiler/MCC/IR/Termination.java | 18 ++++++------ Repair/RepairCompiler/MCC/IR/UpdateNode.java | 28 ++++++++++++++++++- Repair/RepairCompiler/MCC/IR/Updates.java | 5 ++-- Repair/RepairCompiler/MCC/link.constraints | 1 - 8 files changed, 53 insertions(+), 21 deletions(-) create mode 100755 Repair/RepairCompiler/MCC/IR/Quantifiers.java diff --git a/Repair/RepairCompiler/MCC/Compiler.java b/Repair/RepairCompiler/MCC/Compiler.java index ad98137..7773d7f 100755 --- a/Repair/RepairCompiler/MCC/Compiler.java +++ b/Repair/RepairCompiler/MCC/Compiler.java @@ -17,7 +17,7 @@ import MCC.IR.*; */ public class Compiler { - public static boolean REPAIR=false; + public static boolean REPAIR=true; public static void main(String[] args) { State state = null; @@ -54,10 +54,11 @@ public class Compiler { success = parse(state) || error(state, "Parsing failed, not attempting semantic analysis."); success = semantics(state) || error(state, "Semantic analysis failed, not attempting variable initialization."); - /* Check partition constraints */ - (new ImplicitSchema(state)).update(); + if (REPAIR) { + /* Check partition constraints */ + (new ImplicitSchema(state)).update(); Termination t=new Termination(state); } state.printall(); diff --git a/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java b/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java index 1be0068..fc83967 100755 --- a/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java +++ b/Repair/RepairCompiler/MCC/IR/ImplicitSchema.java @@ -11,7 +11,7 @@ public class ImplicitSchema { } public void update() { - // updaterules(); + updaterules(); updateconstraints(); updaterelationconstraints(); } @@ -101,12 +101,11 @@ public class ImplicitSchema { 1. match up quantifiers 2. check inclusion condition 3. see if guard expr of set rule is more general */ - RelationInclusion inc1=(RelationInclusion) r1.getInclusion(); RelationDescriptor rd=inc1.getRelation(); SetDescriptor sd=isdomain?rd.getDomain():rd.getRange(); Expr expr=isdomain?inc1.getLeftExpr():inc1.getRightExpr(); - + Inclusion inc2=r2.getInclusion(); if (!(inc2 instanceof SetInclusion)) return false; @@ -294,7 +293,7 @@ public class ImplicitSchema { for(Iterator superit=supersets.iterator();superit.hasNext();) { SetDescriptor sd1=(SetDescriptor)superit.next(); Rule nr=new Rule(); - nr.guard=r.guard; + nr.setGuardExpr(r.getGuardExpr()); nr.quantifiers=r.quantifiers; nr.isstatic=r.isstatic; nr.isdelay=r.isdelay; diff --git a/Repair/RepairCompiler/MCC/IR/Quantifiers.java b/Repair/RepairCompiler/MCC/IR/Quantifiers.java new file mode 100755 index 0000000..6e84e76 --- /dev/null +++ b/Repair/RepairCompiler/MCC/IR/Quantifiers.java @@ -0,0 +1,6 @@ +package MCC.IR; + +public interface Quantifiers { + public int numQuantifiers(); + public Quantifier getQuantifier(int i); +} diff --git a/Repair/RepairCompiler/MCC/IR/Rule.java b/Repair/RepairCompiler/MCC/IR/Rule.java index 017e788..806b3f8 100755 --- a/Repair/RepairCompiler/MCC/IR/Rule.java +++ b/Repair/RepairCompiler/MCC/IR/Rule.java @@ -9,7 +9,7 @@ public class Rule implements Quantifiers { Vector quantifiers = new Vector(); boolean isstatic = false; boolean isdelay = false; - Expr guard = null; + private Expr guard = null; Inclusion inclusion = null; SymbolTable st = new SymbolTable(); DNFRule dnfguard=null,dnfnegguard=null; diff --git a/Repair/RepairCompiler/MCC/IR/Termination.java b/Repair/RepairCompiler/MCC/IR/Termination.java index f9ae3bb..271d9f2 100755 --- a/Repair/RepairCompiler/MCC/IR/Termination.java +++ b/Repair/RepairCompiler/MCC/IR/Termination.java @@ -523,13 +523,13 @@ public class Termination { static int addtocount=0; void generateaddtosetrelation(GraphNode gn, AbstractRepair ar) { - System.out.println("Attempting to generate add to set"); - System.out.println(ar.getPredicate().getPredicate().name()); - System.out.println(ar.getPredicate().isNegated()); + // System.out.println("Attempting to generate add to set"); + //System.out.println(ar.getPredicate().getPredicate().name()); + //System.out.println(ar.getPredicate().isNegated()); for(int i=0;i= literal(1); [forall node in Nodes], sizeof(node.~nextnodes) <= literal(1); -[forall node in Nodes], sizeof(node.~prevnodes) <= literal(1); [forall n in Nodes], sizeof(n.nextnodes) = literal(0) or n.nextnodes.prevnodes = n; -- 2.34.1