From a3c5c1cd64c83a127b8d89293794a67c5f530dbe Mon Sep 17 00:00:00 2001 From: bdemsky Date: Sun, 7 Nov 2004 01:19:30 +0000 Subject: [PATCH] Some embarrassing erros. The DNF conversion for negation wasn't working quite right. Printing negation a little more clearly. Fixed a problem with the termination analysis (it was too conservative). --- .../RepairCompiler/MCC/IR/DNFConstraint.java | 21 +++++-- Repair/RepairCompiler/MCC/IR/DNFRule.java | 21 +++++-- .../RepairCompiler/MCC/IR/GraphAnalysis.java | 57 +++++++++++-------- .../RepairCompiler/MCC/IR/LogicStatement.java | 2 +- Repair/RepairCompiler/MCC/IR/OpExpr.java | 7 ++- .../MCC/IR/SemanticChecker.java | 2 +- 6 files changed, 75 insertions(+), 35 deletions(-) diff --git a/Repair/RepairCompiler/MCC/IR/DNFConstraint.java b/Repair/RepairCompiler/MCC/IR/DNFConstraint.java index 018df2f..55770f5 100755 --- a/Repair/RepairCompiler/MCC/IR/DNFConstraint.java +++ b/Repair/RepairCompiler/MCC/IR/DNFConstraint.java @@ -9,6 +9,11 @@ public class DNFConstraint { conjunctions.add(new Conjunction(new DNFPredicate(false,p))); } + public DNFConstraint(DNFPredicate dp) { + conjunctions=new Vector(); + conjunctions.add(new Conjunction(dp)); + } + public DNFConstraint(Conjunction conj) { conjunctions=new Vector(); conjunctions.add(conj); @@ -17,7 +22,7 @@ public class DNFConstraint { public DNFConstraint(Vector conj) { conjunctions=conj; } - + DNFConstraint() { conjunctions=new Vector(); } @@ -62,15 +67,23 @@ public class DNFConstraint { public DNFConstraint not() { DNFConstraint copy=copy(); + DNFConstraint notconst=null; for (int i=0;i