Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
monticore
EmbeddedMontiArc
generators
EMADL2CPP
Commits
a628f01e
Commit
a628f01e
authored
Jun 25, 2019
by
Alex & Baran
Browse files
set data path with tag if possible
parent
16023357
Pipeline
#153295
failed with stages
in 15 seconds
Changes
2
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLAbstractSymtab.java
View file @
a628f01e
...
...
@@ -25,6 +25,7 @@ import de.monticore.io.paths.ModelPath;
import
de.monticore.lang.embeddedmontiarc.LogConfig
;
import
de.monticore.lang.embeddedmontiarc.helper.ConstantPortHelper
;
import
de.monticore.lang.monticar.emadl._symboltable.EMADLLanguage
;
import
de.monticore.lang.monticar.emadl.tagging.dltag.DataPathTagSchema
;
import
de.monticore.lang.monticar.enumlang._symboltable.EnumLangLanguage
;
import
de.monticore.lang.monticar.generator.cpp.converter.MathConverter
;
import
de.monticore.lang.monticar.generator.optimization.ThreadingOptimizer
;
...
...
@@ -58,6 +59,7 @@ public class EMADLAbstractSymtab {
TagInitTagSchema
.
registerTagTypes
(
tagging
);
TagThresholdTagSchema
.
registerTagTypes
(
tagging
);
TagDelayTagSchema
.
registerTagTypes
(
tagging
);
DataPathTagSchema
.
registerTagTypes
(
tagging
);
return
tagging
;
}
...
...
src/main/java/de/monticore/lang/monticar/emadl/generator/EMADLGenerator.java
View file @
a628f01e
...
...
@@ -33,12 +33,14 @@ import de.monticore.lang.monticar.cnnarch._symboltable.ArchitectureSymbol;
import
de.monticore.lang.monticar.cnntrain.CNNTrainGenerator
;
import
de.monticore.lang.monticar.cnntrain._symboltable.ConfigurationSymbol
;
import
de.monticore.lang.monticar.emadl._cocos.EMADLCocos
;
import
de.monticore.lang.monticar.emadl.tagging.dltag.DataPathSymbol
;
import
de.monticore.lang.monticar.generator.FileContent
;
import
de.monticore.lang.monticar.generator.cpp.ArmadilloHelper
;
import
de.monticore.lang.monticar.generator.cpp.GeneratorEMAMOpt2CPP
;
import
de.monticore.lang.monticar.generator.cpp.SimulatorIntegrationHelper
;
import
de.monticore.lang.monticar.generator.cpp.TypesGeneratorCPP
;
import
de.monticore.lang.monticar.generator.cpp.converter.TypeConverter
;
import
de.monticore.lang.tagging._symboltable.TagSymbol
;
import
de.monticore.lang.tagging._symboltable.TaggingResolver
;
import
de.monticore.symboltable.Scope
;
import
de.se_rwth.commons.Splitters
;
...
...
@@ -341,6 +343,20 @@ public class EMADLGenerator {
return
fileContents
;
}
protected
String
getDataPath
(
TaggingResolver
taggingResolver
,
EMAComponentSymbol
component
){
List
<
TagSymbol
>
tags
=
(
List
<
TagSymbol
>)
taggingResolver
.
getTags
(
component
,
DataPathSymbol
.
KIND
);
String
dataPath
;
if
(
tags
.
isEmpty
())
{
DataPathConfigParser
newParserConfig
=
new
DataPathConfigParser
(
getModelsPath
()
+
"data_paths.txt"
);
dataPath
=
newParserConfig
.
getDataPath
(
component
.
getFullName
());
}
else
{
// values for data path tags are not optional, therefore always present if tag is present
dataPath
=
(
String
)
tags
.
get
(
0
).
getValues
().
get
(
0
);
}
return
dataPath
;
}
protected
void
generateComponent
(
List
<
FileContent
>
fileContents
,
Set
<
EMAComponentInstanceSymbol
>
allInstances
,
TaggingResolver
taggingResolver
,
...
...
@@ -360,9 +376,7 @@ public class EMADLGenerator {
EMADLCocos
.
checkAll
(
componentInstanceSymbol
);
if
(
architecture
.
isPresent
()){
DataPathConfigParser
newParserConfig
=
new
DataPathConfigParser
(
getModelsPath
()
+
"data_paths.txt"
);
String
dPath
=
newParserConfig
.
getDataPath
(
EMAComponentSymbol
.
getFullName
());
String
dPath
=
getDataPath
(
taggingResolver
,
EMAComponentSymbol
);
/*String dPath = DataPathConfigParser.getDataPath(getModelsPath() + "data_paths.txt", componentSymbol.getFullName());*/
architecture
.
get
().
setDataPath
(
dPath
);
architecture
.
get
().
setComponentName
(
EMAComponentSymbol
.
getFullName
());
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment