package tests; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.util.ArrayList; import algorithms.*; import code.ast.FieldDeclaration; import code.ast.MethodDeclaration; import code.ast.TypeDeclaration; import models.dataFlowModel.*; import parser.*; public class CodeGeneratorTest { public static void main(String[] args) { File file = new File("models/POS.model"); try { Parser parser = new Parser(new BufferedReader(new FileReader(file))); DataFlowModel model; try { model = parser.doParse(); ResourceDependencyGraph graph = DataStorageNecessity.run(model); EdgeTransitionSelectable.run(graph); DataStorageDecision.run(graph); ArrayList<TypeDeclaration> codetree = CodeGenerator.doGenerate(graph, model); for(TypeDeclaration str:codetree) { System.out.println(str.getTypeName()); for(FieldDeclaration field:str.getFields()) { System.out.println("-" + field.getType().getTypeName() + " " + field.getName()); } for(MethodDeclaration method:str.getMethods()) { System.out.println("-" + method.getReturnType().getTypeName() + " " + method.getName()); } } for(String str:CodeGenerator.getCodes(codetree)) { System.out.println(str); } } catch (ExpectedChannel | ExpectedChannelName | ExpectedLeftCurlyBracket | ExpectedInOrOutKeyword | ExpectedStateTransition | ExpectedEquals | ExpectedRHSExpression | WrongLHSExpression | WrongRHSExpression | ExpectedRightBracket e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } } }