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
EMAM2Cpp
Commits
f8c891c3
Commit
f8c891c3
authored
Oct 15, 2018
by
Nils Kaminski
Browse files
Switch to new EMAM
parent
5ac3b19f
Pipeline
#78608
failed with stages
in 0 seconds
Changes
61
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
f8c891c3
target
nppBackup
.project
.settings
.classpath
.idea
target/
.git
nppBackup
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
!/.mvn/wrapper/maven-wrapper.jar
# Don't track IntelliJ files
.idea/
*.iml
# Don't track .DS_STORE files
*.DS_STORE
# Don't track VSCode/Eclipse Files
.classpath
.project
.vscode/
.settings/
pom.xml
View file @
f8c891c3
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<modelVersion>
4.0.0
</modelVersion>
<!-- == PROJECT COORDINATES ============================================= -->
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc-math-generator
</artifactId>
<version>
0.0.25-SNAPSHOT
</version>
<!-- == PROJECT DEPENDENCIES ============================================= -->
<properties>
<!-- .. SE-Libraries .................................................. -->
<monticore.version>
5.0.0
</monticore.version>
<se-commons.version>
1.7.7
</se-commons.version>
<mc.grammars.assembly.version>
0.0.6-SNAPSHOT
</mc.grammars.assembly.version>
<Common-MontiCar.version>
0.0.14-SNAPSHOT
</Common-MontiCar.version>
<Embedded-MontiArc.version>
0.0.18-SNAPSHOT
</Embedded-MontiArc.version>
<Embedded-MontiArc-Behaviour.version>
0.0.14-SNAPSHOT
</Embedded-MontiArc-Behaviour.version>
<Math.version>
0.0.19-SNAPSHOT
</Math.version>
<Embedded-MontiArc-Math.version>
0.0.19-SNAPSHOT
</Embedded-MontiArc-Math.version>
<tagging.version>
0.0.4
</tagging.version>
<!-- .. Libraries .................................................. -->
<guava.version>
18.0
</guava.version>
<junit.version>
4.12
</junit.version>
<logback.version>
1.1.2
</logback.version>
<jscience.version>
4.3.1
</jscience.version>
<!-- .. Plugins ....................................................... -->
<monticore.plugin>
4.5.3.1
</monticore.plugin>
<assembly.plugin>
2.5.4
</assembly.plugin>
<compiler.plugin>
3.8.0
</compiler.plugin>
<source.plugin>
2.4
</source.plugin>
<shade.plugin>
2.4.3
</shade.plugin>
<jacoco.plugin>
0.8.1
</jacoco.plugin>
<!-- Classifiers -->
<grammars.classifier>
grammars
</grammars.classifier>
<cli.classifier>
cli
</cli.classifier>
<!-- .. Misc .......................................................... -->
<java.version>
1.8
</java.version>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<project.reporting.outputEncoding>
UTF-8
</project.reporting.outputEncoding>
<github.global.server>
github
</github.global.server>
</properties>
<dependencies>
<dependency>
<groupId>
org.antlr
</groupId>
<artifactId>
antlr4-runtime
</artifactId>
<version>
4.7.1
</version>
</dependency>
<dependency>
<groupId>
de.monticore.lang
</groupId>
<artifactId>
Tagging
</artifactId>
<version>
${tagging.version}
</version>
</dependency>
<dependency>
<groupId>
de.se_rwth.commons
</groupId>
<artifactId>
se-commons-logging
</artifactId>
<version>
${se-commons.version}
</version>
</dependency>
<dependency>
<groupId>
com.google.guava
</groupId>
<artifactId>
guava
</artifactId>
<version>
${guava.version}
</version>
</dependency>
<!-- MontiCore Dependencies -->
<dependency>
<groupId>
de.monticore
</groupId>
<artifactId>
monticore-runtime
</artifactId>
<version>
${monticore.version}
</version>
</dependency>
<dependency>
<groupId>
de.monticore
</groupId>
<artifactId>
monticore-grammar
</artifactId>
<version>
${monticore.version}
</version>
</dependency>
<dependency>
<groupId>
de.monticore
</groupId>
<artifactId>
monticore-grammar
</artifactId>
<version>
${monticore.version}
</version>
<classifier>
${grammars.classifier}
</classifier>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
de.se_rwth.commons
</groupId>
<artifactId>
se-commons-groovy
</artifactId>
<version>
${se-commons.version}
</version>
</dependency>
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
common-monticar
</artifactId>
<version>
${Common-MontiCar.version}
</version>
</dependency>
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
common-monticar
</artifactId>
<version>
${Common-MontiCar.version}
</version>
<classifier>
${grammars.classifier}
</classifier>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc
</artifactId>
<version>
${Embedded-MontiArc.version}
</version>
</dependency>
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc
</artifactId>
<version>
${Embedded-MontiArc.version}
</version>
<classifier>
${grammars.classifier}
</classifier>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc-behaviour
</artifactId>
<version>
${Embedded-MontiArc-Behaviour.version}
</version>
</dependency>
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc-behaviour
</artifactId>
<version>
${Embedded-MontiArc-Behaviour.version}
</version>
<classifier>
${grammars.classifier}
</classifier>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc-math
</artifactId>
<version>
${Embedded-MontiArc-Math.version}
</version>
</dependency>
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc-math
</artifactId>
<version>
${Embedded-MontiArc-Math.version}
</version>
<classifier>
${grammars.classifier}
</classifier>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
de.monticore.lang
</groupId>
<artifactId>
math
</artifactId>
<version>
${Math.version}
</version>
</dependency>
<dependency>
<groupId>
de.monticore.lang
</groupId>
<artifactId>
math
</artifactId>
<version>
${Math.version}
</version>
<classifier>
${grammars.classifier}
</classifier>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
montiarc.verification
</groupId>
<artifactId>
montiarc-execution-order
</artifactId>
<version>
4.0.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.freemarker
</groupId>
<artifactId>
freemarker
</artifactId>
<version>
2.3.23
</version>
</dependency>
<dependency>
<groupId>
commons-cli
</groupId>
<artifactId>
commons-cli
</artifactId>
<version>
1.4
</version>
</dependency>
<!-- .. Test Libraries ............................................... -->
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<version>
${junit.version}
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
de.monticore
</groupId>
<artifactId>
monticore-runtime
</artifactId>
<version>
${monticore.version}
</version>
<type>
test-jar
</type>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
ch.qos.logback
</groupId>
<artifactId>
logback-classic
</artifactId>
<version>
${logback.version}
</version>
</dependency>
<dependency>
<groupId>
org.jscience
</groupId>
<artifactId>
jscience
</artifactId>
<version>
${jscience.version}
</version>
</dependency>
</dependencies>
<!-- == PROJECT BUILD SETTINGS =========================================== -->
<build>
<plugins>
<plugin>
<artifactId>
maven-deploy-plugin
</artifactId>
<version>
2.8.1
</version>
</plugin>
<!-- Other Configuration -->
<plugin>
<artifactId>
maven-compiler-plugin
</artifactId>
<version>
${compiler.plugin}
</version>
<configuration>
<useIncrementalCompilation>
true
</useIncrementalCompilation>
<source>
${java.version}
</source>
<target>
${java.version}
</target>
</configuration>
</plugin>
<plugin>
<artifactId>
maven-assembly-plugin
</artifactId>
<version>
3.1.0
</version>
<executions>
<execution>
<id>
jar-with-dependencies
</id>
<phase>
package
</phase>
<goals>
<goal>
single
</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>
de.monticore.lang.monticar.generator.cpp.GeneratorCppCli
</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>
jar-with-dependencies
</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
<!-- Test coverage -->
<plugin>
<groupId>
org.jacoco
</groupId>
<artifactId>
jacoco-maven-plugin
</artifactId>
<version>
${jacoco.plugin}
</version>
<executions>
<execution>
<id>
pre-unit-test
</id>
<goals>
<goal>
prepare-agent
</goal>
</goals>
</execution>
<execution>
<id>
post-unit-test
</id>
<phase>
test
</phase>
<goals>
<goal>
report
</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Source Jar Configuration -->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-source-plugin
</artifactId>
<version>
${source.plugin}
</version>
<executions>
<execution>
<id>
create source jar
</id>
<phase>
package
</phase>
<goals>
<goal>
jar-no-fork
</goal>
</goals>
<configuration>
<excludeResources>
false
</excludeResources>
<includes>
<include>
**/*.java
</include>
<include>
**/*.ftl
</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<modelVersion>
4.0.0
</modelVersion>
<!-- == PROJECT COORDINATES ============================================= -->
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc-math-generator
</artifactId>
<version>
0.0.26-SNAPSHOT
</version>
<!-- == PROJECT DEPENDENCIES ============================================= -->
<properties>
<!-- .. SE-Libraries .................................................. -->
<!--<monticore.version>5.0.0</monticore.version>-->
<!--<se-commons.version>1.7.7</se-commons.version>-->
<!--<mc.grammars.assembly.version>0.0.6-SNAPSHOT</mc.grammars.assembly.version>-->
<!--<Common-MontiCar.version>0.0.14-SNAPSHOT</Common-MontiCar.version>-->
<!--<Embedded-MontiArc.version>0.0.18-SNAPSHOT</Embedded-MontiArc.version>-->
<!--<Embedded-MontiArc-Behaviour.version>0.0.14-SNAPSHOT</Embedded-MontiArc-Behaviour.version>-->
<!--<Math.version>0.0.19-SNAPSHOT</Math.version>-->
<!--<Embedded-MontiArc-Math.version>0.0.19-SNAPSHOT</Embedded-MontiArc-Math.version>-->
<!--<tagging.version>0.0.4</tagging.version>-->
<Embedded-MontiArc-Math.version>
0.1.3-SNAPSHOT
</Embedded-MontiArc-Math.version>
<!-- .. Libraries .................................................. -->
<guava.version>
18.0
</guava.version>
<junit.version>
4.12
</junit.version>
<logback.version>
1.1.2
</logback.version>
<jscience.version>
4.3.1
</jscience.version>
<!-- .. Plugins ....................................................... -->
<!--<monticore.plugin>4.5.3.1</monticore.plugin>-->
<assembly.plugin>
2.5.4
</assembly.plugin>
<compiler.plugin>
3.8.0
</compiler.plugin>
<source.plugin>
2.4
</source.plugin>
<shade.plugin>
2.4.3
</shade.plugin>
<jacoco.plugin>
0.8.1
</jacoco.plugin>
<!-- Classifiers -->
<grammars.classifier>
grammars
</grammars.classifier>
<cli.classifier>
cli
</cli.classifier>
<!-- .. Misc .......................................................... -->
<java.version>
1.8
</java.version>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<project.reporting.outputEncoding>
UTF-8
</project.reporting.outputEncoding>
<github.global.server>
github
</github.global.server>
</properties>
<dependencies>
<dependency>
<groupId>
com.google.guava
</groupId>
<artifactId>
guava
</artifactId>
<version>
${guava.version}
</version>
</dependency>
<!-- MontiCore Dependencies -->
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc-math
</artifactId>
<version>
${Embedded-MontiArc-Math.version}
</version>
</dependency>
<dependency>
<groupId>
de.monticore.lang.monticar
</groupId>
<artifactId>
embedded-montiarc-math
</artifactId>
<version>
${Embedded-MontiArc-Math.version}
</version>
<classifier>
${grammars.classifier}
</classifier>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
montiarc.verification
</groupId>
<artifactId>
montiarc-execution-order
</artifactId>
<version>
4.0.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.freemarker
</groupId>
<artifactId>
freemarker
</artifactId>
<version>
2.3.23
</version>
</dependency>
<dependency>
<groupId>
commons-cli
</groupId>
<artifactId>
commons-cli
</artifactId>
<version>
1.4
</version>
</dependency>
<!-- .. Test Libraries ............................................... -->
<dependency>
<groupId>
junit
</groupId>
<artifactId>
junit
</artifactId>
<version>
${junit.version}
</version>
<scope>
test
</scope>
</dependency>
<dependency>
<groupId>
ch.qos.logback
</groupId>
<artifactId>
logback-classic
</artifactId>
<version>
${logback.version}
</version>
</dependency>
<dependency>
<groupId>
org.jscience
</groupId>
<artifactId>
jscience
</artifactId>
<version>
${jscience.version}
</version>
</dependency>
</dependencies>
<!-- == PROJECT BUILD SETTINGS =========================================== -->
<build>
<plugins>
<plugin>
<artifactId>
maven-deploy-plugin
</artifactId>
<version>
2.8.1
</version>
</plugin>
<!-- Other Configuration -->
<plugin>
<artifactId>
maven-compiler-plugin
</artifactId>
<version>
${compiler.plugin}
</version>
<configuration>
<useIncrementalCompilation>
true
</useIncrementalCompilation>
<source>
${java.version}
</source>
<target>
${java.version}
</target>
</configuration>
</plugin>
<plugin>
<artifactId>
maven-assembly-plugin
</artifactId>
<version>
3.1.0
</version>
<executions>
<execution>
<id>
jar-with-dependencies
</id>
<phase>
package
</phase>
<goals>
<goal>
single
</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>
de.monticore.lang.monticar.generator.cpp.GeneratorCppCli
</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>
jar-with-dependencies
</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
<!-- Test coverage -->
<plugin>
<groupId>
org.jacoco
</groupId>
<artifactId>
jacoco-maven-plugin
</artifactId>
<version>
${jacoco.plugin}
</version>
<executions>
<execution>
<id>
pre-unit-test
</id>
<goals>
<goal>
prepare-agent
</goal>
</goals>
</execution>
<execution>
<id>
post-unit-test
</id>
<phase>
test
</phase>
<goals>
<goal>
report
</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Source Jar Configuration -->
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-source-plugin
</artifactId>
<version>
${source.plugin}
</version>
<executions>
<execution>
<id>
create source jar
</id>
<phase>
package
</phase>
<goals>
<goal>
jar-no-fork
</goal>
</goals>
<configuration>
<excludeResources>
false
</excludeResources>
<includes>
<include>
**/*.java
</include>
<include>
**/*.ftl
</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-surefire-plugin
</artifactId>
<version>
2.19.1
</version>
...
...
@@ -328,20 +224,20 @@
<!-- aggregated reports for multi-module projects -->
<aggregate>
true
</aggregate>
</configuration>
</plugin>
</plugins>
</build>
<!-- == DISTRIBUTION ==================================================== -->
<distributionManagement>
<repository>
<id>
se-nexus
</id>
<url>
https://nexus.se.rwth-aachen.de/content/repositories/embeddedmontiarc-releases/
</url>
</repository>
<snapshotRepository>
<id>
se-nexus
</id>
<url>
https://nexus.se.rwth-aachen.de/content/repositories/embeddedmontiarc-snapshots/
</url>
</snapshotRepository>
</distributionManagement>
</plugin>
</plugins>
</build>
<!-- == DISTRIBUTION ==================================================== -->
<distributionManagement>
<repository>
<id>
se-nexus
</id>
<url>
https://nexus.se.rwth-aachen.de/content/repositories/embeddedmontiarc-releases/
</url>
</repository>
<snapshotRepository>
<id>
se-nexus
</id>
<url>
https://nexus.se.rwth-aachen.de/content/repositories/embeddedmontiarc-snapshots/
</url>
</snapshotRepository>
</distributionManagement>
</project>
src/main/java/de/monticore/lang/monticar/generator/BluePrint.java
View file @
f8c891c3
package
de.monticore.lang.monticar.generator
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.ExpandedComponentInstanceBuilder
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.ExpandedComponentInstanceSymbol
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.instanceStructure.EMAComponentInstanceSymbol
;
import
de.monticore.lang.monticar.generator.optimization.MathInformationRegister
;
import
java.util.ArrayList
;
...
...
@@ -19,7 +18,7 @@ public class BluePrint {
MathInformationRegister
mathInformationRegister
=
new
MathInformationRegister
(
this
);
protected
String
name
;
protected
String
packageName
;
protected
E
xpanded
ComponentInstanceSymbol
originalSymbol
;
protected
E
MA
ComponentInstanceSymbol
originalSymbol
;
public
BluePrint
(
String
name
)
{
this
.
name
=
name
;
...
...
@@ -93,11 +92,11 @@ public class BluePrint {
return
genericsVariableList
;
}
public
E
xpanded
ComponentInstanceSymbol
getOriginalSymbol
()
{
public
E
MA
ComponentInstanceSymbol
getOriginalSymbol
()
{
return
originalSymbol
;
}
public
void
setOriginalSymbol
(
E
xpanded
ComponentInstanceSymbol
originalSymbol
)
{
public
void
setOriginalSymbol
(
E
MA
ComponentInstanceSymbol
originalSymbol
)
{
this
.
originalSymbol
=
originalSymbol
;
}
...
...
src/main/java/de/monticore/lang/monticar/generator/FileContent.java
View file @
f8c891c3
package
de.monticore.lang.monticar.generator
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.ExpandedComponentInstanceSymbol
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.instanceStructure.EMAComponentInstanceSymbol
;
import
de.monticore.lang.monticar.generator.cpp.GeneralHelperMethods
;
import
de.monticore.lang.monticar.generator.cpp.converter.ComponentConverter
;
/**
* @author Sascha Schneiders
...
...
@@ -15,7 +15,7 @@ public class FileContent {