tweak
[cdsspec-compiler.git] / src / edu / uci / eecs / specCompiler / codeGenerator / CodeGenerator.java
index cbd8d7f414baf1cfab99fcef7da9b483ba279df8..b53b482f582570f7608b388c6fda5e17bba769cc 100644 (file)
@@ -8,7 +8,12 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.HashMap;
 
+import edu.uci.eecs.specCompiler.specExtraction.CPDefineCheckConstruct;
+import edu.uci.eecs.specCompiler.specExtraction.CPDefineConstruct;
+import edu.uci.eecs.specCompiler.specExtraction.Construct;
 import edu.uci.eecs.specCompiler.specExtraction.GlobalConstruct;
+import edu.uci.eecs.specCompiler.specExtraction.InterfaceConstruct;
+import edu.uci.eecs.specCompiler.specExtraction.PotentialCPDefineConstruct;
 import edu.uci.eecs.specCompiler.specExtraction.SpecConstruct;
 import edu.uci.eecs.specCompiler.specExtraction.SpecExtractor;
 import edu.uci.eecs.specCompiler.specExtraction.SpecNotMatchException;
@@ -101,6 +106,9 @@ public class CodeGenerator {
                        end++;
                }
                
+               // Generate code from the DefineVar and __COND_SAT__
+               
+               
                CodeAddition addition = new CodeAddition(lineNum, newCode);
                if (!codeAdditions.containsKey(inst.file)) {
                        codeAdditions.put(inst.file, new ArrayList<CodeAddition>());
@@ -161,7 +169,21 @@ public class CodeGenerator {
        }
 
        public void generateCode() {
-
+               for (int i = 0; i < _semantics.constructs.size(); i++) {
+                       SpecConstruct inst = _semantics.constructs.get(i);
+                       Construct construct = inst.construct;
+                       if (construct instanceof GlobalConstruct) {
+                               globalConstruct2Code(inst);
+                       } else if (construct instanceof InterfaceConstruct) {
+                               interface2Code(inst);
+                       } else if (construct instanceof PotentialCPDefineConstruct) {
+                               potentialCP2Code(inst);
+                       } else if (construct instanceof CPDefineConstruct) {
+                               CPDefine2Code(inst);
+                       } else if (construct instanceof CPDefineCheckConstruct) {
+                               CPDefineCheck2Code(inst);
+                       }
+               }
        }
 
        public static void main(String[] argvs) {