/** Boolean flag which indicates whether compiler is compiling a task-based
* program. */
public boolean TASK;
+ public boolean TASKSTATE=false;
public boolean THREAD=false;
public boolean INSTRUCTIONFAILURE=false;
public String structfile;
import IR.Flat.BuildCode;
import IR.State;
import IR.TypeUtil;
-//import IR.PrintTree;
import Analysis.TaskStateAnalysis.TaskAnalysis;
public class Main {
state.CONSCHECK=true;
else if (option.equals("-task"))
state.TASK=true;
+ else if (option.equals("-taskstate"))
+ state.TASKSTATE=true;
else if (option.equals("-thread"))
state.THREAD=true;
else if (option.equals("-instructionfailures"))
System.out.println("-task -- compiler for tasks");
System.out.println("-thread -- threads");
System.out.println("-instructionfailures -- insert code for instruction level failures");
+ System.out.println("-taskstate -- do task state analysis");
System.out.println("-help -- print out help");
System.exit(0);
} else {
BuildIR bir=new BuildIR(state);
bir.buildtree();
-// PrintTree ptree=new PrintTree(state);
- // ptree.buildtree();
-
TypeUtil tu=new TypeUtil(state);
SemanticCheck sc=new SemanticCheck(state,tu);
BuildFlat bf=new BuildFlat(state,tu);
bf.buildFlat();
-// System.out.println("Flat");
-// PrintTree ptree1=new PrintTree(state);
-// ptree1.buildtree();
-
-// TaskAnalysis ta=new TaskAnalysis(state,bf.getMap());
-// ta.taskAnalysis();
-// ta.printAdjList();
-
-
-
+ if (state.TASKSTATE) {
+ TaskAnalysis ta=new TaskAnalysis(state,bf.getMap());
+ ta.taskAnalysis();
+ }
+
+
+
BuildCode bc=new BuildCode(state, bf.getMap(), tu);
bc.buildCode();
System.exit(0);