From: bdemsky Date: Sat, 15 Apr 2006 01:09:40 +0000 (+0000) Subject: Add support for tasks & flags X-Git-Tag: preEdgeChange~923 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8929308dcdaa2c164974c4a0bedb9794724da335;p=IRC.git Add support for tasks & flags --- diff --git a/Robust/src/IR/FlagDescriptor.java b/Robust/src/IR/FlagDescriptor.java new file mode 100644 index 00000000..f2f6bfd2 --- /dev/null +++ b/Robust/src/IR/FlagDescriptor.java @@ -0,0 +1,18 @@ +package IR; + +/** + * Descriptor + * + * represents a symbol in the language (var name, function name, etc). + */ + +public class FlagDescriptor extends Descriptor { + + public FlagDescriptor(String identifier) { + super(identifier); + } + + public String toString() { + return "Flag "+getSymbol(); + } +} diff --git a/Robust/src/IR/State.java b/Robust/src/IR/State.java index f70466cb..ee0d12bb 100644 --- a/Robust/src/IR/State.java +++ b/Robust/src/IR/State.java @@ -85,6 +85,10 @@ public class State { treemethodmap.put(md,bn); } + public void addTreeCode(TaskDescriptor td, BlockNode bn) { + treemethodmap.put(td,bn); + } + public void addFlatCode(MethodDescriptor md, FlatMethod bn) { flatmethodmap.put(md,bn); } diff --git a/Robust/src/IR/TaskDescriptor.java b/Robust/src/IR/TaskDescriptor.java new file mode 100644 index 00000000..488783ce --- /dev/null +++ b/Robust/src/IR/TaskDescriptor.java @@ -0,0 +1,79 @@ +package IR; +import IR.Tree.ExpressionNode; +import java.util.Vector; + +/** + * Descriptor + * + */ + +public class TaskDescriptor extends Descriptor { + + protected String identifier; + protected Vector params; + protected SymbolTable paramtable; + protected VarDescriptor thisvd; + + + public TaskDescriptor(String identifier) { + super(identifier); + this.identifier=identifier; + this.uniqueid=count++; + params=new Vector(); + paramtable=new SymbolTable(); + thisvd=null; + } + + public String getSafeMethodDescriptor() { + String st=""; + for(int i=0;i