Code should build now
authorbdemsky <bdemsky>
Wed, 10 May 2006 18:01:46 +0000 (18:01 +0000)
committerbdemsky <bdemsky>
Wed, 10 May 2006 18:01:46 +0000 (18:01 +0000)
Robust/src/IR/TaskDescriptor.java
Robust/src/IR/Tree/BuildIR.java
Robust/src/IR/Tree/TaskExitNode.java

index c737dfa8e810acb85c0d58b6fee8af800f903c14..96489bc804ad348cb42d4f90084f1f4dea34d825 100644 (file)
@@ -16,7 +16,7 @@ public class TaskDescriptor extends Descriptor {
     protected SymbolTable paramtable;
     protected VarDescriptor thisvd;
     protected Hashtable flagstable;
-    protected FlagEffects fe;
+    protected Vector vfe;
 
     public TaskDescriptor(String identifier) {
        super(identifier);
@@ -28,8 +28,8 @@ public class TaskDescriptor extends Descriptor {
        thisvd=null;
     }
 
-    public void addFlagEffects(FlagEffects fe) {
-       this.fe=fe;
+    public void addFlagEffects(Vector vfe) {
+       this.vfe=vfe;
     }
 
     public String getSafeMethodDescriptor() {
index 89868c2cf28a626c5997ef541b226084670b44cd..db52e189aa8fbb9ec019b36b8422d023c2d239a1 100644 (file)
@@ -42,32 +42,29 @@ public class BuildIR {
        parseParameterList(td, pn);
        state.addTreeCode(td,bn);
        if (pn.getChild("flag_effects_list")!=null)
-           td.addFlagEffects(parseFlagEffects(pn.getChild("flag_effects_list")));
+           td.addFlagEffects(parseFlags(pn.getChild("flag_effects_list")));
        return td;
     }
 
-    public FlagEffects parseFlagEffects(ParseNode pn) {
-        ParseNodeVector pnv=pn.getChildren();
-        FlagEffects fes=new FlagEffects();
-        for(int i=0;i<pnv.size();i++) {
-            ParseNode fn=pnv.elementAt(i);
-            Vector vfe=parseFlagEffect(fn);
-            for (int j=0;j<vfe.size();j++) {
-                FlagEffect fe=(FlagEffect)vfe.get(j);
-                fes.addEffect(fe);
-            }
-        }
-        return fes;
+    public Vector parseFlags(ParseNode pn) {
+       Vector vfe=new Vector();
+       ParseNodeVector pnv=pn.getChildren();
+       for(int i=0;i<pnv.size();i++) {
+           ParseNode fn=pnv.elementAt(i);
+           FlagEffects fe=parseFlagEffects(fn);
+           vfe.add(fe);
+       }
+       return vfe;
     }
 
-    public Vector parseFlagEffect(ParseNode pn) {
-       
-       if (pn.isNode("flag_effect")) {
-           Vector v=new Vector();
+    public FlagEffects parseFlagEffects(ParseNode pn) {
+       if (isNode(pn,"flag_effect")) {
            String flagname=pn.getChild("name").getTerminal();
+           FlagEffects fe=new FlagEffects(flagname);
+
            
            
-           return v;
+           return fe;
        } else throw new Error();
     }
 
@@ -453,10 +450,10 @@ public class BuildIR {
                                       parseSingleBlock(pn.getChild("statement").getFirstChild()),
                                       pn.getChild("else_statement")!=null?parseSingleBlock(pn.getChild("else_statement").getFirstChild()):null));
        } else if (isNode(pn,"taskexit")) {
-           FlagEffects fe=null;
+           Vector vfe=null;
            if (pn.getChild("flag_effects_list")!=null)
-               fe=parseFlagEffects(pn.getChild("flag_effects_list"));
-           blockstatements.add(new TaskExitNode(fe));
+               vfe=parseFlags(pn.getChild("flag_effects_list"));
+           blockstatements.add(new TaskExitNode(vfe));
        } else if (isNode(pn,"return")) {
            if (isEmpty(pn.getTerminal()))
                blockstatements.add(new ReturnNode());
index 554e63d6dfdae1643f04c261d911dbed8ae01bd0..5a2b20f9cde3b24a8cf97deda96fe95e0b8a9636 100644 (file)
@@ -1,9 +1,10 @@
 package IR.Tree;
+import java.util.Vector;
 
 public class TaskExitNode extends BlockStatementNode {
-    FlagEffects fe;
-    public TaskExitNode(FlagEffects fe) {
-       this.fe=fe;
+    Vector vfe;
+    public TaskExitNode(Vector vfe) {
+       this.vfe=vfe;
     }
 
     public String printNode(int indent) {