Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
monticore
EmbeddedMontiArc
languages
EmbeddedMontiArcMathOpt
Commits
501bfe28
Commit
501bfe28
authored
Aug 23, 2018
by
Christoph Richter
Browse files
EmbeddedMontiArcMathOpt.mc4: Removed unnessesary non-terminal (fixes
#1
)
parent
ad92c0bb
Pipeline
#69822
passed with stage
in 20 minutes and 16 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/main/grammars/de/monticore/lang/EmbeddedMontiArcMathOpt.mc4
View file @
501bfe28
...
...
@@ -2,6 +2,6 @@ package de.monticore.lang;
grammar
EmbeddedMontiArcMathOpt
extends
de
.
monticore
.
lang
.
embeddedmontiarc
.
EmbeddedMontiArcMath
,
de
.
monticore
.
lang
.
MathOpt
{
EMAMOptCompilationUnit
=
EMAMCompilationUnit
;
start
EMAMCompilationUnit
;
}
\ No newline at end of file
src/main/java/de/monticore/lang/embeddedmontiarcmathopt/_symboltable/EmbeddedMontiArcMathOptLanguageFamiliy.java
View file @
501bfe28
...
...
@@ -23,15 +23,8 @@
package
de.monticore.lang.embeddedmontiarcmathopt._symboltable
;
import
de.monticore.ModelingLanguageFamily
;
import
de.monticore.io.paths.ModelPath
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarc._symboltable.ConstantPortSymbol
;
import
de.monticore.lang.embeddedmontiarcmathopt._ast.ASTEMAMOptCompilationUnit
;
import
de.monticore.lang.monticar.stream._symboltable.StreamLanguage
;
import
de.monticore.lang.monticar.struct._symboltable.StructLanguage
;
import
de.monticore.symboltable.GlobalScope
;
import
de.monticore.symboltable.Scope
;
import
java.nio.file.Paths
;
/**
* @author Christoph Richter
...
...
src/main/java/de/monticore/lang/embeddedmontiarcmathopt/_symboltable/EmbeddedMontiArcMathOptModelLoader.java
View file @
501bfe28
package
de.monticore.lang.embeddedmontiarcmathopt._symboltable
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarcmath._ast.ASTEMAMCompilationUnit
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarcmath._symboltable.EmbeddedMontiArcMathModelLoader
;
import
de.monticore.lang.embeddedmontiarcmathopt._ast.ASTEMAMOptCompilationUnit
;
import
de.monticore.modelloader.ModelingLanguageModelLoader
;
import
de.monticore.symboltable.ArtifactScope
;
import
de.monticore.symboltable.MutableScope
;
...
...
@@ -9,14 +9,14 @@ import de.monticore.symboltable.ResolvingConfiguration;
import
de.monticore.symboltable.Scope
;
import
de.se_rwth.commons.logging.Log
;
public
class
EmbeddedMontiArcMathOptModelLoader
extends
ModelingLanguageModelLoader
<
ASTEMAM
Opt
CompilationUnit
>
{
public
class
EmbeddedMontiArcMathOptModelLoader
extends
ModelingLanguageModelLoader
<
ASTEMAMCompilationUnit
>
{
public
EmbeddedMontiArcMathOptModelLoader
(
EmbeddedMontiArcMathOptLanguage
language
)
{
super
(
language
);
}
@Override
protected
void
createSymbolTableFromAST
(
ASTEMAM
Opt
CompilationUnit
ast
,
String
modelName
,
MutableScope
enclosingScope
,
ResolvingConfiguration
resolvingConfiguration
)
{
protected
void
createSymbolTableFromAST
(
ASTEMAMCompilationUnit
ast
,
String
modelName
,
MutableScope
enclosingScope
,
ResolvingConfiguration
resolvingConfiguration
)
{
final
EmbeddedMontiArcMathOptSymbolTableCreator
stc
=
getModelingLanguage
().
getSymbolTableCreator
(
resolvingConfiguration
,
enclosingScope
).
orElse
(
null
);
if
(
stc
!=
null
)
{
...
...
src/main/java/de/monticore/lang/embeddedmontiarcmathopt/_symboltable/EmbeddedMontiArcMathOptSymbolTableCreator.java
View file @
501bfe28
...
...
@@ -20,7 +20,6 @@
package
de.monticore.lang.embeddedmontiarcmathopt._symboltable
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarcmath._symboltable.EmbeddedMontiArcMathSymbolTableCreator
;
import
de.monticore.lang.embeddedmontiarcmathopt._ast.ASTEMAMOptCompilationUnit
;
import
de.monticore.lang.embeddedmontiarcmathopt._visitor.EmbeddedMontiArcMathOptDelegatorVisitor
;
import
de.monticore.lang.embeddedmontiarcmathopt._visitor.EmbeddedMontiArcMathOptVisitor
;
import
de.monticore.lang.mathopt._symboltable.MathOptSymbolTableCreator
;
...
...
@@ -91,11 +90,5 @@ public class EmbeddedMontiArcMathOptSymbolTableCreator extends EmbeddedMontiArcM
return
mathOptSTC
;
}
public
Scope
createFromAST
(
ASTEMAMOptCompilationUnit
rootNode
)
{
Log
.
errorIfNull
(
rootNode
,
"0xA7004_184 Error by creating of the EmbeddedMontiArcMathOptSymbolTableCreator symbol table: top ast node is null"
);
rootNode
.
getEMAMCompilationUnit
().
accept
(
visitorOpt
);
return
getFirstCreatedScope
();
}
}
src/test/java/de/monticore/lang/embeddedmontiarcmathopt/_ast/ASTEmbeddedMontiArcMathOptNodesTest.java
View file @
501bfe28
...
...
@@ -2,6 +2,7 @@ package de.monticore.lang.embeddedmontiarcmathopt._ast;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarcbehavior._ast.ASTBehaviorImplementation
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarcmath._ast.ASTBehaviorEmbedding
;
import
de.monticore.lang.embeddedmontiarc.embeddedmontiarcmath._ast.ASTEMAMCompilationUnit
;
import
de.monticore.lang.embeddedmontiarcmathopt._parser.EmbeddedMontiArcMathOptParser
;
import
de.monticore.lang.math._ast.ASTStatement
;
import
de.monticore.lang.mathopt._ast.ASTOptimizationStatement
;
...
...
@@ -20,10 +21,10 @@ public class ASTEmbeddedMontiArcMathOptNodesTest {
@Test
public
void
testEMAMOptCompilationUnit
()
throws
IOException
{
EmbeddedMontiArcMathOptParser
parser
=
new
EmbeddedMontiArcMathOptParser
();
ASTEMAM
Opt
CompilationUnit
astNode
=
parser
.
parse
(
"src/test/resources/test/emam/optimization/MinimizePortsTest.emam"
).
orElse
(
null
);
ASTEMAMCompilationUnit
astNode
=
parser
.
parse
(
"src/test/resources/test/emam/optimization/MinimizePortsTest.emam"
).
orElse
(
null
);
assertNotNull
(
astNode
);
assertEquals
(
ASTBehaviorImplementation
.
class
,
astNode
.
getEMAMCompilationUnit
().
getEMACompilationUnit
().
getComponent
().
getBody
().
getElement
(
1
).
getClass
());
ASTBehaviorImplementation
behaviour
=
(
ASTBehaviorImplementation
)
astNode
.
getEMAMCompilationUnit
().
getEMACompilationUnit
().
getComponent
().
getBody
().
getElement
(
1
);
assertEquals
(
ASTBehaviorImplementation
.
class
,
astNode
.
getEMACompilationUnit
().
getComponent
().
getBody
().
getElement
(
1
).
getClass
());
ASTBehaviorImplementation
behaviour
=
(
ASTBehaviorImplementation
)
astNode
.
getEMACompilationUnit
().
getComponent
().
getBody
().
getElement
(
1
);
ASTStatement
astOptStatement
=
((
ASTBehaviorEmbedding
)
behaviour
.
getBehavior
()).
getStatement
(
0
);
assertEquals
(
ASTOptimizationStatement
.
class
,
astOptStatement
.
getClass
());
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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