fixed bugs
[cdsspec-compiler.git] / src / edu / uci / eecs / specCompiler / codeGenerator / CodeGenerator.java
index e78624cc67d3b6f1c2bb644999820caa4f367733..d65258424fb63dea628b7eed8b11e572a59e9996 100644 (file)
@@ -79,14 +79,14 @@ public class CodeGenerator {
                codeAdditions.get(construct.file).add(addition);
                newCode = CodeVariables.generateStaticVarDefine(_semantics, construct);
                if (newCode.size() > 0) {
-                       addition = new CodeAddition(_semantics.getClassEndConstruct().beginLineNum, newCode);
+                       addition = new CodeAddition(
+                                       _semantics.getClassEndConstruct().beginLineNum, newCode);
                        codeAdditions.get(construct.file).add(addition);
                }
        }
 
        // Mainly rename and wrap the interface
-       private void interface2Code(InterfaceConstruct construct)
-                       throws InterfaceWrongFormatException {
+       private void interface2Code(InterfaceConstruct construct) {
                ArrayList<String> newCode = CodeVariables.generateInterfaceWrapper(
                                _semantics, construct);
                int lineNum = construct.beginLineNum;
@@ -112,7 +112,8 @@ public class CodeGenerator {
 
        private void CPDefine2Code(CPDefineConstruct construct) {
                int lineNum = construct.beginLineNum;
-               ArrayList<String> newCode = CodeVariables.generateCPDefine(_semantics, construct);
+               ArrayList<String> newCode = CodeVariables.generateCPDefine(_semantics,
+                               construct);
 
                CodeAddition addition = new CodeAddition(lineNum, newCode);
                if (!codeAdditions.containsKey(construct.file)) {
@@ -123,7 +124,8 @@ public class CodeGenerator {
 
        private void CPDefineCheck2Code(CPDefineCheckConstruct construct) {
                int lineNum = construct.beginLineNum;
-               ArrayList<String> newCode = CodeVariables.generateCPDefineCheck(_semantics, construct);
+               ArrayList<String> newCode = CodeVariables.generateCPDefineCheck(
+                               _semantics, construct);
 
                CodeAddition addition = new CodeAddition(lineNum, newCode);
                if (!codeAdditions.containsKey(construct.file)) {
@@ -131,11 +133,11 @@ public class CodeGenerator {
                }
                codeAdditions.get(construct.file).add(addition);
        }
-       
+
        private void EntryPoint2Code(EntryPointConstruct construct) {
                int lineNum = construct.beginLineNum;
                ArrayList<String> newCode = new ArrayList<String>();
-               newCode.add(")
+               newCode.addAll(CodeVariables.generateEntryPointInitCall());
 
                CodeAddition addition = new CodeAddition(lineNum, newCode);
                if (!codeAdditions.containsKey(construct.file)) {
@@ -143,7 +145,6 @@ public class CodeGenerator {
                }
                codeAdditions.get(construct.file).add(addition);
        }
-       
 
        public void generateCode() {
                for (int i = 0; i < _semantics.constructs.size(); i++) {
@@ -151,17 +152,13 @@ public class CodeGenerator {
                        if (construct instanceof GlobalConstruct) {
                                globalConstruct2Code((GlobalConstruct) construct);
                        } else if (construct instanceof InterfaceConstruct) {
-                               try {
-                                       interface2Code((InterfaceConstruct) construct);
-                               } catch (InterfaceWrongFormatException e) {
-                                       e.printStackTrace();
-                               }
+                               interface2Code((InterfaceConstruct) construct);
                        } else if (construct instanceof PotentialCPDefineConstruct) {
-                               // potentialCP2Code(inst);
+                               potentialCPDefine2Code((PotentialCPDefineConstruct) construct);
                        } else if (construct instanceof CPDefineConstruct) {
-                               // CPDefine2Code(inst);
+                               CPDefine2Code((CPDefineConstruct) construct);
                        } else if (construct instanceof CPDefineCheckConstruct) {
-                               // CPDefineCheck2Code(inst);
+                               CPDefineCheck2Code((CPDefineCheckConstruct) construct);
                        }
                }
        }
@@ -172,8 +169,8 @@ public class CodeGenerator {
                // new File(homeDir + "/benchmark/linuxrwlocks/linuxrwlocks.c"),
                new File(homeDir
                                + "/benchmark/cliffc-hashtable/simplified_cliffc_hashtable.h"), };
-               // new File(homeDir + "/benchmark/ms-queue/my_queue.c"),
-               // new File(homeDir + "/benchmark/ms-queue/my_queue.h") };
+//              new File(homeDir + "/benchmark/ms-queue/my_queue.c"),
+//              new File(homeDir + "/benchmark/ms-queue/my_queue.h") };
                CodeGenerator gen = new CodeGenerator(srcFiles);
                gen.generateCode();
        }