Flat node classes
authorbdemsky <bdemsky>
Thu, 16 Feb 2006 09:15:33 +0000 (09:15 +0000)
committerbdemsky <bdemsky>
Thu, 16 Feb 2006 09:15:33 +0000 (09:15 +0000)
Robust/src/IR/Flat/FlatCondBranch.java [new file with mode: 0644]
Robust/src/IR/Flat/FlatNop.java [new file with mode: 0644]
Robust/src/IR/Flat/TempDescriptor.java [new file with mode: 0644]

diff --git a/Robust/src/IR/Flat/FlatCondBranch.java b/Robust/src/IR/Flat/FlatCondBranch.java
new file mode 100644 (file)
index 0000000..fa0f981
--- /dev/null
@@ -0,0 +1,22 @@
+package IR.Flat;
+import java.util.Vector;
+
+public class FlatCondBranch extends FlatNode {
+    TempDescriptor test_cond;
+
+    public FlatCondBranch(TempDescriptor td) {
+       test_cond=td;
+    }
+
+    public void addTrueNext(FlatNode n) {
+       next.setElementAt(n,0);
+    }
+
+    public void addFalseNext(FlatNode n) {
+       next.setElementAt(n,1);
+    }
+
+    public void addNext(FlatNode n) {
+       throw new Error();
+    }
+}
diff --git a/Robust/src/IR/Flat/FlatNop.java b/Robust/src/IR/Flat/FlatNop.java
new file mode 100644 (file)
index 0000000..62fad29
--- /dev/null
@@ -0,0 +1,11 @@
+package IR.Flat;
+import java.util.Vector;
+
+public class FlatNop extends FlatNode {
+    public FlatNop() {
+    }
+
+    public String toString() {
+       return "nop";
+    }
+}
diff --git a/Robust/src/IR/Flat/TempDescriptor.java b/Robust/src/IR/Flat/TempDescriptor.java
new file mode 100644 (file)
index 0000000..8cff411
--- /dev/null
@@ -0,0 +1,25 @@
+package IR.Flat;
+import IR.*;
+
+public class TempDescriptor {
+    static int currentid=0;
+    int id;
+    String safename;
+
+    public TempDescriptor(String name) {
+       safename="__"+name+"__";
+       id=currentid++;
+    }
+    
+    public static TempDescriptor tempFactory() {
+       return new TempDescriptor("temp_"+currentid);
+    }
+
+    public static TempDescriptor tempFactory(String name) {
+       return new TempDescriptor(name+currentid);
+    }
+
+    public String toString() {
+       return safename;
+    }
+}