diff --git a/pom.xml b/pom.xml index 0484f721182854dbfe5a3a967f17b4b2e36c39d8..8700526c0f615b9f6612fb3ad311c2a58025b5fd 100644 --- a/pom.xml +++ b/pom.xml @@ -8,18 +8,18 @@ de.monticore.lang.monticar embedded-montiarc-emadl-generator - 0.2.5-SNAPSHOT + 0.2.6-SNAPSHOT - 0.2.3 + 0.2.4 0.2.5 - 0.2.5 + 0.2.7 0.2.7-SNAPSHOT - 0.1.0 + 0.1.2-SNAPSHOT 18.0 diff --git a/src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLAbstractSymtab.java b/src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLAbstractSymtab.java index 8b2b51eb93d16ee4793882cecea025a07f57b434..694d2542a32077a18b0491654ae33ed3233db6a3 100644 --- a/src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLAbstractSymtab.java +++ b/src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLAbstractSymtab.java @@ -23,7 +23,7 @@ package de.monticore.lang.monticar.emadl.generator; import de.monticore.ModelingLanguageFamily; import de.monticore.io.paths.ModelPath; import de.monticore.lang.embeddedmontiarc.LogConfig; -import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.ConstantPortSymbol; +import de.monticore.lang.embeddedmontiarc.helper.ConstantPortHelper; import de.monticore.lang.monticar.emadl._symboltable.EMADLLanguage; import de.monticore.lang.monticar.enumlang._symboltable.EnumLangLanguage; import de.monticore.lang.monticar.generator.cpp.converter.MathConverter; @@ -62,7 +62,7 @@ public class EMADLAbstractSymtab { } public static Scope createSymTab(String... modelPath) { - ConstantPortSymbol.resetLastID(); + ConstantPortHelper.resetLastID(); MathConverter.resetIDs(); ThreadingOptimizer.resetID(); ModelingLanguageFamily fam = new ModelingLanguageFamily(); diff --git a/src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLGenerator.java b/src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLGenerator.java index 467598053f12a50f81a9c29c34ecd3a0d8a8ac18..566fac0e4e54793df82d49d2bbe7f267619e8a73 100644 --- a/src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLGenerator.java +++ b/src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLGenerator.java @@ -24,8 +24,8 @@ import com.google.common.base.Charsets; import com.google.common.base.Joiner; import com.google.common.base.Splitter; import com.google.common.io.Resources; -import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.ComponentSymbol; -import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.ExpandedComponentInstanceSymbol; +import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.cncModel.EMAComponentSymbol; +import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.instanceStructure.EMAComponentInstanceSymbol; import de.monticore.lang.math._symboltable.MathStatementsSymbol; import de.monticore.lang.monticar.cnnarch.CNNArchGenerator; import de.monticore.lang.monticar.cnnarch._symboltable.ArchitectureSymbol; @@ -102,7 +102,7 @@ public class EMADLGenerator { public void generate(String modelPath, String qualifiedName) throws IOException, TemplateException { setModelsPath( modelPath ); TaggingResolver symtab = EMADLAbstractSymtab.createSymTabAndTaggingResolver(getModelsPath()); - ComponentSymbol component = symtab.resolve(qualifiedName, ComponentSymbol.KIND).orElse(null); + EMAComponentSymbol component = symtab.resolve(qualifiedName, EMAComponentSymbol.KIND).orElse(null); List splitName = Splitters.DOT.splitToList(qualifiedName); String componentName = splitName.get(splitName.size() - 1); @@ -113,22 +113,22 @@ public class EMADLGenerator { System.exit(1); } - ExpandedComponentInstanceSymbol instance = component.getEnclosingScope().resolve(instanceName, ExpandedComponentInstanceSymbol.KIND).get(); + EMAComponentInstanceSymbol instance = component.getEnclosingScope().resolve(instanceName, EMAComponentInstanceSymbol.KIND).get(); generateFiles(symtab, instance, symtab); } - public void generateFiles(TaggingResolver taggingResolver, ExpandedComponentInstanceSymbol componentSymbol, Scope symtab) throws IOException { - List fileContents = generateStrings(taggingResolver, componentSymbol, symtab); + public void generateFiles(TaggingResolver taggingResolver, EMAComponentInstanceSymbol EMAComponentSymbol, Scope symtab) throws IOException { + List fileContents = generateStrings(taggingResolver, EMAComponentSymbol, symtab); for (FileContent fileContent : fileContents) { emamGen.generateFile(fileContent); } } - public List generateStrings(TaggingResolver taggingResolver, ExpandedComponentInstanceSymbol componentInstanceSymbol, Scope symtab){ + public List generateStrings(TaggingResolver taggingResolver, EMAComponentInstanceSymbol componentInstanceSymbol, Scope symtab){ List fileContents = new ArrayList<>(); - Set allInstances = new HashSet<>(); + Set allInstances = new HashSet<>(); generateComponent(fileContents, allInstances, taggingResolver, componentInstanceSymbol, symtab); @@ -159,20 +159,20 @@ public class EMADLGenerator { } protected void generateComponent(List fileContents, - Set allInstances, + Set allInstances, TaggingResolver taggingResolver, - ExpandedComponentInstanceSymbol componentInstanceSymbol, + EMAComponentInstanceSymbol componentInstanceSymbol, Scope symtab){ allInstances.add(componentInstanceSymbol); - ComponentSymbol componentSymbol = componentInstanceSymbol.getComponentType().getReferencedSymbol(); + EMAComponentSymbol EMAComponentSymbol = componentInstanceSymbol.getComponentType().getReferencedSymbol(); /* remove the following two lines if the component symbol full name bug with generic variables is fixed */ - componentSymbol.setFullName(null); - componentSymbol.getFullName(); + EMAComponentSymbol.setFullName(null); + EMAComponentSymbol.getFullName(); /* */ Optional architecture = componentInstanceSymbol.getSpannedScope().resolve("", ArchitectureSymbol.KIND); - Optional mathStatements = componentSymbol.getSpannedScope().resolve("MathStatements", MathStatementsSymbol.KIND); + Optional mathStatements = EMAComponentSymbol.getSpannedScope().resolve("MathStatements", MathStatementsSymbol.KIND); EMADLCocos.checkAll(componentInstanceSymbol); @@ -195,7 +195,7 @@ public class EMADLGenerator { } } - public void generateCNN(List fileContents, TaggingResolver taggingResolver, ExpandedComponentInstanceSymbol instance, ArchitectureSymbol architecture){ + public void generateCNN(List fileContents, TaggingResolver taggingResolver, EMAComponentInstanceSymbol instance, ArchitectureSymbol architecture){ Map contentMap = cnnArchGenerator.generateStrings(architecture); String fullName = instance.getFullName().replaceAll("\\.", "_"); @@ -238,16 +238,16 @@ public class EMADLGenerator { return component; } - public void generateMathComponent(List fileContents, TaggingResolver taggingResolver, ExpandedComponentInstanceSymbol componentSymbol, MathStatementsSymbol mathStatementsSymbol){ + public void generateMathComponent(List fileContents, TaggingResolver taggingResolver, EMAComponentInstanceSymbol EMAComponentSymbol, MathStatementsSymbol mathStatementsSymbol){ fileContents.add(new FileContent( - emamGen.generateString(taggingResolver, componentSymbol, mathStatementsSymbol), - componentSymbol)); + emamGen.generateString(taggingResolver, EMAComponentSymbol, mathStatementsSymbol), + EMAComponentSymbol)); } - public void generateSubComponents(List fileContents, Set allInstances, TaggingResolver taggingResolver, ExpandedComponentInstanceSymbol componentInstanceSymbol, Scope symtab){ + public void generateSubComponents(List fileContents, Set allInstances, TaggingResolver taggingResolver, EMAComponentInstanceSymbol componentInstanceSymbol, Scope symtab){ fileContents.add(new FileContent(emamGen.generateString(taggingResolver, componentInstanceSymbol, (MathStatementsSymbol) null), componentInstanceSymbol)); String lastNameWithoutArrayPart = ""; - for (ExpandedComponentInstanceSymbol instanceSymbol : componentInstanceSymbol.getSubComponents()) { + for (EMAComponentInstanceSymbol instanceSymbol : componentInstanceSymbol.getSubComponents()) { int arrayBracketIndex = instanceSymbol.getName().indexOf("["); boolean generateComponentInstance = true; if (arrayBracketIndex != -1) { @@ -262,10 +262,10 @@ public class EMADLGenerator { } } - public List generateCNNTrainer(Set allInstances, String mainComponentName) { + public List generateCNNTrainer(Set allInstances, String mainComponentName) { List fileContents = new ArrayList<>(); - for (ExpandedComponentInstanceSymbol componentInstance : allInstances) { - ComponentSymbol component = componentInstance.getComponentType().getReferencedSymbol(); + for (EMAComponentInstanceSymbol componentInstance : allInstances) { + EMAComponentSymbol component = componentInstance.getComponentType().getReferencedSymbol(); Optional architecture = component.getSpannedScope().resolve("", ArchitectureSymbol.KIND); if (architecture.isPresent()) { diff --git a/src/test/java/de/monticore/lang/monticar/emadl/SymtabTest.java b/src/test/java/de/monticore/lang/monticar/emadl/SymtabTest.java index 16f49a0a36104906ea04ffe8d541de3ba2b8d05c..792ea17ab4f6938fc7ed358eaabb5930a21b7039 100644 --- a/src/test/java/de/monticore/lang/monticar/emadl/SymtabTest.java +++ b/src/test/java/de/monticore/lang/monticar/emadl/SymtabTest.java @@ -20,8 +20,8 @@ */ package de.monticore.lang.monticar.emadl; -import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.ComponentSymbol; -import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.ExpandedComponentInstanceSymbol; +import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.cncModel.EMAComponentSymbol; +import de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.instanceStructure.EMAComponentInstanceSymbol; import de.monticore.lang.monticar.emadl._parser.EMADLParser; import de.monticore.symboltable.Scope; import de.se_rwth.commons.logging.Log; @@ -49,8 +49,8 @@ public class SymtabTest extends AbstractSymtabTest { @Test public void testAlexnet(){ Scope symTab = createSymTab("src/test/resources/models"); - ComponentSymbol a = symTab.resolve("ResNet34", ComponentSymbol.KIND).orElse(null); - ExpandedComponentInstanceSymbol c = symTab.resolve("resNet34", ExpandedComponentInstanceSymbol.KIND).orElse(null); + EMAComponentSymbol a = symTab.resolve("ResNet34", EMAComponentSymbol.KIND).orElse(null); + EMAComponentInstanceSymbol c = symTab.resolve("resNet34", EMAComponentInstanceSymbol.KIND).orElse(null); assertNotNull(a); }