First version of the DSL grammar with yaml format#181
First version of the DSL grammar with yaml format#181ipa-nhg wants to merge 31 commits intoipa320:2.0.0_stablefrom
Conversation
…erface Create GUI for configuring deployment
…ks, the package of the name was not corresponding to the one set for package.xml
Ros2 launch generator fix
Deployment support ros2
Add delpoyment documentation
fix ROS_HOSTNAME in docker-compose
… to avoid authentification issue while cloning the GitHub repository
6e97f73 to
7301783
Compare
|
@fmrico @ipa-hsd FYI |
def389f to
0dba9b7
Compare
1c913b9 to
e4a8cce
Compare
e4a8cce to
8beeb76
Compare
|
LGTM, but I had no time yet to test in my computer :) |
hellantos
left a comment
There was a problem hiding this comment.
Just some things I noticed during usage.
| ('serviceserver:' | ||
| BEGIN | ||
| serviceserver+=ServiceServer* | ||
| END | ||
| )| | ||
| ('serviceclient:' | ||
| BEGIN | ||
| serviceclient+=ServiceClient* | ||
| END | ||
| )| | ||
| ('actionserver:' | ||
| BEGIN | ||
| actionserver+=ActionServer* | ||
| END | ||
| )| | ||
| ('actionclient:' | ||
| BEGIN | ||
| actionclient+=ActionClient* | ||
| END | ||
| )| |
There was a problem hiding this comment.
Probably make this plural.
| ('serviceserver:' | |
| BEGIN | |
| serviceserver+=ServiceServer* | |
| END | |
| )| | |
| ('serviceclient:' | |
| BEGIN | |
| serviceclient+=ServiceClient* | |
| END | |
| )| | |
| ('actionserver:' | |
| BEGIN | |
| actionserver+=ActionServer* | |
| END | |
| )| | |
| ('actionclient:' | |
| BEGIN | |
| actionclient+=ActionClient* | |
| END | |
| )| | |
| ('serviceservers:' | |
| BEGIN | |
| serviceserver+=ServiceServer* | |
| END | |
| )| | |
| ('serviceclients:' | |
| BEGIN | |
| serviceclient+=ServiceClient* | |
| END | |
| )| | |
| ('actionservers:' | |
| BEGIN | |
| actionserver+=ActionServer* | |
| END | |
| )| | |
| ('actionclients:' | |
| BEGIN | |
| actionclient+=ActionClient* | |
| END | |
| )| |
There was a problem hiding this comment.
Thanks a lot for the suggestion, I will add this change. It makes sense! :)
| Node returns Node: | ||
| 'node:' name=RosNames | ||
| BEGIN | ||
| ( | ||
| ('publishers:' |
There was a problem hiding this comment.
One option is to a dd name tag. This will force it to be directly after "node:".
| Node returns Node: | |
| 'node:' name=RosNames | |
| BEGIN | |
| ( | |
| ('publishers:' | |
| Node returns Node: | |
| 'node:' | |
| BEGIN | |
| 'name:' name=RosNames | |
| ( | |
| ('publishers:' |
This seems to also be a problem in other places. We should go with a general solution. I think adding a name tag is probably the easiest and most general solution.
| 'msg:'name=(EString|'Header'|'String') | ||
| BEGIN | ||
| 'message:' (BEGIN message=MessageDefinition END)? | ||
| END | ||
| ; | ||
|
|
||
| ServiceSpec returns ServiceSpec: | ||
| {ServiceSpec} | ||
| 'srv:'name=EString | ||
| BEGIN | ||
| 'request:' (BEGIN request=MessageDefinition END)? | ||
| 'response:' (BEGIN response=MessageDefinition END)? | ||
| END; | ||
|
|
||
| ActionSpec returns ActionSpec: | ||
| {ActionSpec} | ||
| 'ActionSpec' | ||
| name=EString | ||
| '{' | ||
| ('goal' goal=MessageDefinition)? | ||
| ('result' result=MessageDefinition)? | ||
| ('feedback' feedback=MessageDefinition)? | ||
| '}'; | ||
| 'action:'name=EString | ||
| BEGIN | ||
| 'goal:' (BEGIN goal=MessageDefinition END)? | ||
| 'result:' (BEGIN result=MessageDefinition END)? | ||
| 'feedback:' (BEGIN feedback=MessageDefinition END)? | ||
| END; |
There was a problem hiding this comment.
Seems to have the same YAML issues. Probbaly add name tag as well.
There was a problem hiding this comment.
You are right, I made already the fix for other branch: https://github.com/ipa320/ros-model/blob/7d09541be7f5339c09fb79ccecfe32abf21ec2ed/plugins/de.fraunhofer.ipa.ros.xtext/src/de/fraunhofer/ipa/ros/Ros.xtext#L121-L144
I think we came up to exactly the same solution :)
This is part of https://github.com/ipa-nhg/ros-model/tree/YamlMigrationSystem
|
On adding arguments |
1af1885 to
7352eb0
Compare
This PR holds the changes done for the Xtext grammar implementation to move to a "yaml" format style.
The joy node example before looks like this:
With these changes is converted to: