From 95701add85a22544e2e8514ba64fe17bb71d035f Mon Sep 17 00:00:00 2001 From: bdemsky Date: Fri, 4 Aug 2006 23:00:52 +0000 Subject: [PATCH] rewrite flags in DNF form --- Robust/src/IR/Tree/DNFFlag.java | 88 ++++++++++++++++++++++ Robust/src/IR/Tree/DNFFlagAtom.java | 13 ++++ Robust/src/IR/Tree/FlagExpressionNode.java | 4 + Robust/src/IR/Tree/FlagNode.java | 5 ++ Robust/src/IR/Tree/FlagOpNode.java | 13 ++++ 5 files changed, 123 insertions(+) create mode 100644 Robust/src/IR/Tree/DNFFlag.java create mode 100644 Robust/src/IR/Tree/DNFFlagAtom.java diff --git a/Robust/src/IR/Tree/DNFFlag.java b/Robust/src/IR/Tree/DNFFlag.java new file mode 100644 index 00000000..67cdd3c2 --- /dev/null +++ b/Robust/src/IR/Tree/DNFFlag.java @@ -0,0 +1,88 @@ +package IR.Tree; +import java.util.Vector; +import IR.*; + +public class DNFFlag { + Vector conjunctions; + public DNFFlag(FlagNode flag) { + DNFFlagAtom dfa=new DNFFlagAtom(flag, false); + conjunctions=new Vector(); + Vector conjunct=new Vector(); + conjunct.add(dfa); + conjunctions.add(conjunct); + } + private DNFFlag() { + conjunctions=new Vector(); + } + + /** This method negates a DNFFlag expression. */ + + public DNFFlag not() { + DNFFlag notflag=null; + for (int i=0;i