diff --git a/AlgebraicDataflowArchitectureModel/src/algorithm/CodeGenerator.java b/AlgebraicDataflowArchitectureModel/src/algorithm/CodeGenerator.java index 06b37f1..61cb9b0 100644 --- a/AlgebraicDataflowArchitectureModel/src/algorithm/CodeGenerator.java +++ b/AlgebraicDataflowArchitectureModel/src/algorithm/CodeGenerator.java @@ -1,5 +1,19 @@ package algorithm; -public class CodeGenerator { +import java.util.ArrayList; +import models.*; +import models.dataFlowModel.*; + +public class CodeGenerator { + static public ArrayList doGenerate(ResourceDependencyGraph graph){ + ArrayList codes = new ArrayList<>(); + for(Node n:graph.getNodes()) { + ResourceNode resource = (ResourceNode) n; + codes.add("public class " + resource.getIdentifierTemplate().getResourceName() + " {"); + ((StoreAttribute) resource.getAttribute()).isStored(); + codes.add("}"); + } + return codes; + } } diff --git a/AlgebraicDataflowArchitectureModel/src/tests/CodeGeneratorTest.java b/AlgebraicDataflowArchitectureModel/src/tests/CodeGeneratorTest.java new file mode 100644 index 0000000..bb679fe --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/tests/CodeGeneratorTest.java @@ -0,0 +1,35 @@ +package tests; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; + +import algorithm.*; +import models.Node; +import models.dataFlowModel.*; +import parser.*; + +public class CodeGeneratorTest { + public static void main(String[] args) { + File file = new File("models/POS2.model"); + try { + Parser parser = new Parser(new BufferedReader(new FileReader(file))); + DataFlowModel model; + try { + model = parser.doParse(); + System.out.println(model); + ResourceDependencyGraph graph = DataStorageNecessity.run(model); + EdgeTransitionSelectable.run(graph); + DataStorageDecision.run(graph); + System.out.println(CodeGenerator.doGenerate(graph)); + } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutKeyword + | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression + | WrongRHSExpression | ExpectedRightBracket e) { + e.printStackTrace(); + } + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + } +}