Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
JastAdd
ros2rag
Commits
a769a0f5
Commit
a769a0f5
authored
Jul 03, 2020
by
René Schöne
Browse files
WIP: Compiles again with mustache.
parent
ffd6ff31
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
ros2rag.base/build.gradle
View file @
a769a0f5
...
@@ -74,12 +74,12 @@ task relast(type: JavaExec) {
...
@@ -74,12 +74,12 @@ task relast(type: JavaExec) {
inputs
.
files
file
(
"../libs/relast.jar"
),
inputs
.
files
file
(
"../libs/relast.jar"
),
file
(
"../relast.preprocessor/src/main/jastadd/RelAST.relast"
),
file
(
"../relast.preprocessor/src/main/jastadd/RelAST.relast"
),
file
(
"src/main/jastadd/Ros2Rag.relast"
)
file
(
"
./
src/main/jastadd/Ros2Rag.relast"
)
file
(
"src/main/jastadd/MustacheNodes.relast"
)
file
(
"
./
src/main/jastadd/MustacheNodes.relast"
)
outputs
.
files
file
(
"./src/gen/jastadd/Ros2Rag.ast"
),
outputs
.
files
file
(
"./src/gen/jastadd/Ros2Rag.ast"
),
file
(
"src/gen/jastadd/Ros2Rag.jadd"
),
file
(
"
./
src/gen/jastadd/Ros2Rag.jadd"
),
file
(
"src/gen/jastadd/Ros2RagRefResolver.jadd"
),
file
(
"
./
src/gen/jastadd/Ros2RagRefResolver.jadd"
),
file
(
'src/gen/jastadd/Ros2RagResolverStubs.jrag'
)
file
(
'
./
src/gen/jastadd/Ros2RagResolverStubs.jrag'
)
}
}
jastadd
{
jastadd
{
...
...
ros2rag.base/src/main/jastadd/MustacheNodes.relast
View file @
a769a0f5
//TypeComponentMustache ;
//TypeComponentMustache ;
//rel TypeComponentMustache.TypeComponent -> TypeComponent ;
//rel TypeComponentMustache.TypeComponent -> TypeComponent ;
MRos2Rag ::= ReadDefinition:MReadDefinition* WriteDefinition:MWriteDefinition* MappingDefinition:MMappingDefinition* DependencyDefinition:MDependencyDefinition*
TypeComponent:MType
Component*;
MRos2Rag ::= ReadDefinition:MReadDefinition* WriteDefinition:MWriteDefinition* MappingDefinition:MMappingDefinition* DependencyDefinition:MDependencyDefinition*
RootTypeChildren:MTypeComponent* TokenComponent:MToken
Component*;
MUpdateDefinition ::=
<FirstInputVarName>
;
abstract
MUpdateDefinition ::=
InnerMappingDefinition:MInnerMappingDefinition*
;
MReadDefinition : MUpdateDefinition;
MReadDefinition : MUpdateDefinition;
MWriteDefinition : MUpdateDefinition;
MWriteDefinition : MUpdateDefinition;
MMappingDefinition;
MMappingDefinition;
MInnerMappingDefinition;
MDependencyDefinition;
MDependencyDefinition;
MTypeComponent;
MTypeComponent;
MTokenComponent;
MUpdateDefinition.InnerMappingDefinition* -> MInnerMappingDefinition;
rel MRos2Rag.Ros2Rag -> Ros2Rag;
MInnerMappingDefinition.MappingDefinition -> MappingDefinition;
rel MInnerMappingDefinition.MappingDefinition -> MappingDefinition;
MReadDefinition.ReadFromMqttDefinition -> ReadFromMqttDefinition;
rel MReadDefinition.ReadFromMqttDefinition -> ReadFromMqttDefinition;
MWriteDefinition.WriteToMqttDefinition -> WriteToMqttDefinition;
rel MWriteDefinition.WriteToMqttDefinition -> WriteToMqttDefinition;
MMappingDefinition.MappingDefinition -> MappingDefinition;
rel MMappingDefinition.MappingDefinition -> MappingDefinition;
MDependencyDefinition.DependencyDefinition -> DependencyDefinition;
rel MDependencyDefinition.DependencyDefinition -> DependencyDefinition;
MTypeComponent.TypeComponent -> TypeComponent;
rel MTypeComponent.TypeComponent -> TypeComponent;
MTypeComponent.DependencyDefinition* -> MDependencyDefinition;
rel MTokenComponent.TokenComponent -> TokenComponent;
rel MTokenComponent.DependencyDefinition* -> MDependencyDefinition;
ros2rag.base/src/main/jastadd/Navigation.jrag
View file @
a769a0f5
...
@@ -2,10 +2,12 @@ aspect Navigation {
...
@@ -2,10 +2,12 @@ aspect Navigation {
// --- program ---
// --- program ---
eq Ros2Rag.getChild().program() = getProgram();
eq Ros2Rag.getChild().program() = getProgram();
eq MRos2Rag.getChild().program() = getRos2Rag().program();
// --- ros2rag ---
// --- ros2rag ---
inh Ros2Rag ASTNode.ros2rag();
inh Ros2Rag ASTNode.ros2rag();
eq Ros2Rag.getChild().ros2rag() = this;
eq Ros2Rag.getChild().ros2rag() = this;
eq MRos2Rag.getChild().ros2rag() = getRos2Rag();
// --- containedFile (first equation should be in preprocessor) ---
// --- containedFile (first equation should be in preprocessor) ---
eq Program.getChild().containedFile() = null;
eq Program.getChild().containedFile() = null;
...
@@ -32,6 +34,7 @@ aspect Navigation {
...
@@ -32,6 +34,7 @@ aspect Navigation {
eq GrammarFile.getChild().containedFileName() = getFileName();
eq GrammarFile.getChild().containedFileName() = getFileName();
eq Ros2Rag.getChild().containedFileName() = getFileName();
eq Ros2Rag.getChild().containedFileName() = getFileName();
eq Program.getChild().containedFileName() = null;
eq Program.getChild().containedFileName() = null;
eq MRos2Rag.getChild().containedFileName() = null;
// --- isTokenUpdateDefinition ---
// --- isTokenUpdateDefinition ---
syn boolean UpdateDefinition.isTokenUpdateDefinition() = false;
syn boolean UpdateDefinition.isTokenUpdateDefinition() = false;
...
...
ros2rag.base/src/main/jastadd/backend/Generation.jadd
View file @
a769a0f5
This diff is collapsed.
Click to expand it.
ros2rag.base/src/main/resources/mqtt.mustache
View file @
a769a0f5
...
@@ -16,7 +16,7 @@ aspect MQTT {
...
@@ -16,7 +16,7 @@ aspect MQTT {
}
}
inh MqttUpdater ASTNode.
{{
mqttUpdaterAttribute
}}
();
inh MqttUpdater ASTNode.
{{
mqttUpdaterAttribute
}}
();
{{#
r
ootTypeChildren
}}
{{#
R
ootTypeChildren
}}
eq
{{
rootNodeName
}}
.get
{{
name
}}
().
{{
mqttUpdaterAttribute
}}
() =
{{
mqttUpdaterField
}}
;
eq
{{
rootNodeName
}}
.get
{{
name
}}
().
{{
mqttUpdaterAttribute
}}
() =
{{
mqttUpdaterField
}}
;
{{/
r
ootTypeChildren
}}
{{/
R
ootTypeChildren
}}
}
}
ros2rag.base/src/main/resources/readDefinition.mustache
View file @
a769a0f5
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
{{
mqttUpdaterAttribute
}}
().newConnection(topic, message -> {
{{
mqttUpdaterAttribute
}}
().newConnection(topic, message -> {
{{>
mappingApplication
}}
{{>
mappingApplication
}}
{{#
loggingEnabledForReads
}}
{{#
loggingEnabledForReads
}}
System.out.println("[Read] " + topic + " ->
{{
T
okenName
}}
= " +
{{
lastResult
}}
);
{{!lastResult has to be a new attribute}}
System.out.println("[Read] " + topic + " ->
{{
t
okenName
}}
= " +
{{
lastResult
}}
);
{{!lastResult has to be a new attribute}}
{{/
loggingEnabledForReads
}}
{{/
loggingEnabledForReads
}}
set
{{
T
okenName
}}
(
{{
lastResult
}}
);
set
{{
t
okenName
}}
(
{{
lastResult
}}
);
});
});
}
}
ros2rag.base/src/main/resources/ros2rag.mustache
View file @
a769a0f5
{{>
mqtt
}}
aspect ROS2RAG {
aspect ROS2RAG {
{{#
ReadDefinitions
}}
{{#
ReadDefinitions
}}
{{>
readDefinition
}}
{{>
readDefinition
}}
...
...
ros2rag.base/src/main/resources/writeDefinition.mustache
View file @
a769a0f5
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
protected void
{{
parentTypeName
}}
.
{{
writeMethod
}}
() {
protected void
{{
parentTypeName
}}
.
{{
writeMethod
}}
() {
{{#
loggingEnabledForWrites
}}
{{#
loggingEnabledForWrites
}}
System.out.println("[Write]
{{
T
okenName
}}
= " + get
{{
T
okenName
}}
() + " ->
{{
writeTopic
}}
);
System.out.println("[Write]
{{
t
okenName
}}
= " + get
{{
t
okenName
}}
() + " ->
{{
writeTopic
}}
);
{{/
loggingEnabledForWrites
}}
{{/
loggingEnabledForWrites
}}
{{
mqttUpdateAttribute
}}
().publish(
{{
writeTopic
}}
,
{{
lastValue
}}
);
{{
mqttUpdateAttribute
}}
().publish(
{{
writeTopic
}}
,
{{
lastValue
}}
);
}
}
Write
Preview
Supports
Markdown
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