d
authorbdemsky <bdemsky>
Wed, 15 Feb 2006 22:47:35 +0000 (22:47 +0000)
committerbdemsky <bdemsky>
Wed, 15 Feb 2006 22:47:35 +0000 (22:47 +0000)
Robust/src/IR/Flat/FlatNode.java
Robust/src/IR/State.java
Robust/src/IR/Tree/BuildIR.java
Robust/src/IR/Tree/ClassNode.java
Robust/src/IR/Tree/FileNode.java [deleted file]

index 837f83f133f805a355bed489565a3f620a0e3146..06a67977efe62588df8eeba6ddbfdecf91b780a7 100644 (file)
@@ -1,3 +1,5 @@
+package IR.Flat;
+
 public class FlatNode {
 
     public String toString() {
index c6c34a1e9e01508e965c4c31e32f8eca57623b4a..701c92c2a0831f88c4141d22a7b83a40a1af0d6b 100644 (file)
@@ -1,13 +1,16 @@
 package IR;
 import IR.Tree.*;
+import java.util.*;
 
 public class State {
     public State(ParseNode parsetree) {
        globals=new SymbolTable();
        this.parsetree=parsetree;
+       this.set=new HashSet();
     }
     public SymbolTable globals;
     public ParseNode parsetree;
+    public HashSet set;
 
     public static TypeDescriptor getTypeDescriptor(int t) {
        TypeDescriptor td=new TypeDescriptor(t);
@@ -17,4 +20,7 @@ public class State {
        TypeDescriptor td=new TypeDescriptor(n);
        return td;
     }
+    public void addClass(ClassNode tdn) {
+       set.add(tdn);
+    }
 }
index 68bc9acc46031d7737b4342eca7a37091b44a8c0..a937ef48a9b1f2cafe209e1497760253fbed4aed 100644 (file)
@@ -9,13 +9,11 @@ public class BuildIR {
     }
     public void buildtree() {
        ParseNode pn=state.parsetree;
-       FileNode fn=parseFile(pn);
-       System.out.println(fn.printNode(0));
+       parseFile(pn);
     }
 
     /** Parse the classes in this file */
-    public FileNode parseFile(ParseNode pn) {
-       FileNode fn=new FileNode();
+    public void parseFile(ParseNode pn) {
        ParseNode tpn=pn.getChild("type_declaration_list");
        if (tpn!=null) {
            ParseNodeVector pnv=tpn.getChildren();
@@ -24,10 +22,9 @@ public class BuildIR {
                if (isEmpty(type_pn)) /* Skip the semicolon */
                    continue;
                ClassNode cn=parseTypeDecl(type_pn);
-               fn.addClass(cn);
+               state.addClass(cn);
            }
        }
-       return fn;
     }
 
     public ClassNode parseTypeDecl(ParseNode pn) {
index d36dd969934ef46f8f63201b01976dbdec79d0ae..f01f8e092cc8d0625cc7b5ffc313096dff6ba9b1 100644 (file)
@@ -5,7 +5,7 @@ import IR.FieldDescriptor;
 import IR.MethodDescriptor;
 import IR.NameDescriptor;
 
-class ClassNode extends TreeNode {
+public class ClassNode extends TreeNode {
     ClassNode() {
        classname=null;
        superclass=null;
diff --git a/Robust/src/IR/Tree/FileNode.java b/Robust/src/IR/Tree/FileNode.java
deleted file mode 100644 (file)
index c305822..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-package IR.Tree;
-import java.util.Vector;
-
-class FileNode extends TreeNode {
-    private Vector type_decls;
-
-    FileNode() {
-       type_decls=new Vector();
-    }
-
-    public void addClass(ClassNode tdn) {
-       type_decls.add(tdn);
-    }
-
-    public String printNode(int indent) {
-       String st="";
-       for(int i=0;i<type_decls.size();i++) {
-           ClassNode cn=(ClassNode) type_decls.get(i);
-           st+=cn.printNode(indent);
-
-       }
-       return st;
-    }
-}